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

崇左市网站建设_网站建设公司_外包开发_seo优化

杭州网站外包公司,扫描二维码进入公司网站怎样做,长沙 网站运营,苏州网站推广工具计算机主要处理计算、网络、存储三个方面。计算主要是 CPU 和内存的合作#xff1b;网络和存储则多是和外部设备的合作#xff1b;在操作外部设备的时候#xff0c;往往需要让出 CPU#xff0c;就像上面两段代码一样#xff0c;选择调用 schedule() 函数。 上下文切换主要…计算机主要处理计算、网络、存储三个方面。计算主要是 CPU 和内存的合作网络和存储则多是和外部设备的合作在操作外部设备的时候往往需要让出 CPU就像上面两段代码一样选择调用 schedule() 函数。 上下文切换主要干两件事情一是切换进程空间也即虚拟内存二是切换寄存器和 CPU 上下文。 在 x86 体系结构中提供了一种以硬件的方式进行进程切换的模式对于每个进程x86 希望在内存里面维护一个 TSSTask State Segment任务状态段结构。这里面有所有的寄存器。 还有一个特殊的寄存器 TRTask Register任务寄存器指向某个进程的 TSS。更改 TR 的值将会触发硬件保存 CPU 所有寄存器的值到当前进程的 TSS 中然后从新进程的 TSS 中读出所有寄存器值加载到 CPU 对应的寄存器中。 下图就是 32 位的 TSS 结构。 但是这样有个缺点。我们做进程切换的时候没必要每个寄存器都切换这样每个进程一个 TSS就需要全量保存全量切换动作太大了。 这里面会给每一个 CPU 关联一个 TSS然后将 TR 指向这个 TSS然后在操作系统的运行过程中TR 就不切换了永远指向这个 TSS。TSS 用数据结构 tss_struct 表示在 x86_hw_tss 中可以看到和上图相应的结构。 在 Linux 中真的参与进程切换的寄存器很少主要的就是栈顶寄存器。 从进程 A 切换到进程 B用户栈要不要切换呢当然要其实早就已经切换了就在切换内存空间的时候。每个进程的用户栈都是独立的都在内存空间里面。 那内核栈呢已经在 __switch_to 里面切换了也就是将 current_task 指向当前的 task_struct。里面的 void *stack 指针指向的就是当前的内核栈。 内核栈的栈顶指针呢在 __switch_to_asm 里面已经切换了栈顶指针并且将栈顶指针在 __switch_to 加载到了 TSS 里面。 此文章为10月Day27学习笔记内容来源于极客时间《趣谈Linux操作系统》推荐该课程。
http://www.lebaoying.cn/news/116579.html

相关文章:

  • 学习网站模板广西建设网上办事大厅
  • 做网站费用分几块政务公开和网站建设自查报告
  • 阿里云 建网站网站价格评估 优帮云
  • 仿制网站软件wordpress中下载按钮
  • 开公司做购物网站是不是想多了微网站 底部导航菜单
  • 做网站难网络营销课程大概学什么内容
  • 泉州晋江网站建设费用免费手机网站模板下载
  • 可信网站认证多少钱云南网站备案查询
  • 广州专业的网站制作英文网站建设合同
  • 农业网站建设的特点是企业高管培训课程有哪些
  • 个人摄影网站模板品牌策划公司绩效考核方案
  • 建个企业营销型网站做电商网站需要会些什么
  • 企业网站 生成htmlwordpress会员插件大全
  • 计算机专业网站开发开题报告类似于wordpress的app
  • 深圳网站建设联雅自己做物流网站
  • 建筑学网站推广引流违法吗
  • 怎么做自己的百度网站网站地图在线制作工具
  • 做家具有那个网站好城乡住房建设厅网站
  • 芙蓉区营销型网站建设定制网站建设解决方
  • 永康网站开发公司凡科怎么样
  • 58网站建设多少钱莱芜金点子电子版最新招聘信息
  • 网站用什么技术实现如何做本地网站
  • 建网站那个网最好全屋定制加盟品牌加盟网
  • 甘肃做网站哪家专业网站建设专员 岗位职责
  • 餐饮网站建设策划书千库网网页版登录官网
  • 嘉兴网站制作网页优化网站内链
  • 做pc端网站精英物联网技术是学什么的
  • 网站建设创新互联公司瑞安公司做网站
  • 西安市做网站的怎么找企业做网站
  • 从事网站开发的想考研win2003网站建设