当前位置: 首页 > news >正文

做网站需要域名和什么网校网站模板

做网站需要域名和什么,网校网站模板,济南网站建设开发公司哪家好,有网址 有空间怎么做网站main 线程常见寄存器(CR3 EIP IR MMU TLB) CR3是当前进程页表物理内存地址(包不能虚拟地址,不然套娃了) CPU中有寄存器指向task_struct* current EIP:入口虚拟地址 IR:当前命令地址系统总线&a…

main

线程常见寄存器(CR3 EIP IR MMU TLB)

CR3是当前进程页表物理内存地址(包不能虚拟地址,不然套娃了)

CPU中有寄存器指向task_struct* current
EIP:入口虚拟地址
IR:当前命令地址
系统总线:CPU与内存之间线路

MMU:memoray manager unit
硬件 ,虚拟到物理地址转化

为什么不让软件作,非要用硬件做虚拟/真实内存地址转换
硬件比软件快

MMU与TLB都在CPU上

物理内存有寄存器
地址:被操作物理地址
操作:in/out

怎么做到进程资源分给线程
代码如何被划分,需要操作系统可以做吗
创建线程时,每个线程一个入口函数,每个进程天然得到一个函数地址


TLB:translation lookside buffer (转译后备缓冲区)
MMU先向TLB查表,没有命中(cache miss)就到MMU,之后反向更新TLB。命中就不用去MMU了
TLB也是个硬件,在CPU上

 

页表存储信息结构(20+12)


页表中不仅存放了真实内存地址,还有改page对应的其他信息
页表信息图片:

每个页表只要20bite位就能映射4GB物理内存所有pages
剩下12位为对应page信息
linux内核页表代码图片

页表在进程加载时建立
末端页表=20+12

缺页中断(重新理解new & 写时拷贝)


MMU与TLB都在CPU内,其报错后CPU向目标进程发送信号,中断

new与malloc
申请虚拟地址空间
用该地址时会缺页中断,这是才真正去物理内存申请空间

写时拷贝
原理同上
4KB拷贝

缺页中断:进程与空间解耦

如何区分是缺页还是真的越界

线程的优缺点

线程优点:


线程重要优点

  • 线程切换:不切页表,不切上下文(cpu寄存器内容),不切TLB,cache等缓存机制
  • 线程间通信比进程简单的多

后四条优点是进程,线程共有的

线程缺点:

线程主要用途

局部性原理与应用


每个cpu有cache:cpu与内存之间的缓冲区,先访问cache,miss的话再去物理内存访问数据

cache,TLB等缓冲区原理,本质是预加载。访问一地址,大概率会访问其周围地址数据


Linux 进程 vs  线程

进程:资源分配最小单位
线程:调度的基本单位


进程和线程
线程的独立资源

进程的多个线程共享

POXIS接口&使用

这些借口不是系统调用,是库函数,要包含头文件pthread.h,链接时要-lpthread链接库

pthread_creat

TIPS:

一个线程有问题,整个进程都会退出(线程是进程一部分),当然该进程所有其他线程也会退出

函数地址在栈上吗
不在,在代码区

线程是一个进程内部的控制序列

一个cpu中
运算器:可以好几组
控制器:只一组

32位机器:两级页表
64位机器:三级页表

每一种设备都有寄存器,如 内存/硬盘等

code

#include <iostream>
#include <string>
#include <cstdio>
#include <cstring>
#include <unistd.h>
#include <thread>// void *routine(void *args)
// {
//     std::string name = static_cast<const char *>(args);
//     while (true)
//     {
//         std::cout << "我是新线程,我的名字是: " << name << std::endl;
//         sleep(1);
//     }
//     return 0;
// }int main()
{std::thread t([](){while (true){std::cout << "我是新线程,我的名字是 : new thread "  << std::endl;sleep(1);}});while (true){std::cout << "我是main线程..."  << std::endl;sleep(1);}// pthread_t tid;// int n = pthread_create(&tid, nullptr, routine, (void *)"thread-1");// if (n != 0)// {//     std::cout << "create thread error: " << strerror(n) << std::endl;//     return 1;// }// while (true)// {//     std::cout << "我是main线程..."  << std::endl;//     sleep(1);// }
}

课堂板书

 

http://www.yayakq.cn/news/945349/

相关文章:

  • 企业网站cms系统论文小程序外包公司哪家好
  • 电子商务网站建设编码社交账号登录wordpress
  • 建设局招标网站自主设计和创建网站
  • 国内知名网站建设伺品牌建设的主要模式有原创模式贴牌模式
  • 如何购买域名建网站在北京注册公司需要多少钱
  • 电商网站设计思路网站app制作教程
  • 优秀网站建设网站抄袭别人的做可以吗
  • 彩票网站开发 违法网站建设手机
  • 怎样在工商局网站做申请登记北京优秀的网站建设公司
  • 湘西北京网站建设成都网络科技公司排名
  • 广州市 网站建设 有限公司如何增加企业网站被收录的几率
  • 成都网站建设设计公司排名建设工程网站新专家入库
  • 建设部网站业绩如何录入最新seo教程
  • 推广网站优化seo教程上排名龙岩长汀小程序开发
  • 可以做数据图的的网站三个字吉利好听的公司名称
  • 购物网站项目介绍代做毕业设计找哪个网站
  • 网站建设的布局种类内容管理系统 开源
  • 淄博网站制作公司淘宝网站可以做轮播吗
  • 网站建设业务拓展国际军事新闻在哪看
  • 童装东莞网站建设技术支持杭州网站建站模板
  • 网站推广营销策划方案设计方案翻译
  • 买好域名后怎么做网站深圳市住建局官网
  • 西安网络推广西安seo按天收费
  • 在本地做改版如何替换旧网站会影响百度收录吗恩施建设网站
  • 网站怎么制作 推广资源搜索引擎搜索神器网
  • 17做网站骗子四平网络推广
  • 如何在服务器上关闭网站丹寇服饰官方网站
  • 深圳seo网站推广方案做网站的公司主营成本应该写啥
  • 权重网站建设吉首做网站
  • 企业网站设计需要了解国外网站有哪些平台