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

做面包有关电影网站东莞网站建设开发价格

做面包有关电影网站,东莞网站建设开发价格,济南公众平台网站建设,网页设计工作岗位及薪资朋友们、伙计们#xff0c;我们又见面了#xff0c;本期来给大家解读一下有关Linux进程切换的知识点#xff0c;如果看完之后对你有一定的启发#xff0c;那么请留下你的三连#xff0c;祝大家心想事成#xff01; C 语 言 专 栏#xff1a;C语言#xff1a;从入门到精… 朋友们、伙计们我们又见面了本期来给大家解读一下有关Linux进程切换的知识点如果看完之后对你有一定的启发那么请留下你的三连祝大家心想事成 C 语 言 专 栏C语言从入门到精通 数据结构专栏数据结构 个  人  主  页 stackY、 C 专 栏   C Linux 专 栏  Linux 目录 前言 1. 进程切换 1.1 局部变量的返回 1.2 eip寄存器程序计数器 1.3 进程上下文数据的切换 1.4 切出之后是否清空 前言 承接上文结尾提到的的进程并发在一个时间间隔之内多个进程的代码同时被推进的状态叫做并发。既然要并发访问所以必定要考虑进程的切换问题所以本期就来了解一下进程切换的问题 1. 进程切换 1.1 局部变量的返回 在C语言阶段我们都知道在一个函数体中创建的变量叫做局部变量局部变量具有临时性出了函数体它就自动销毁了。  当我们设置并且调用一个存在返回值的函数时为什么我们在函数内定义的栈临时变量会返回给外部呢它不是出了函数体就自动销毁了吗 int Add(int x, int y) {int sum x y; // 临时变量return sum; // ?? }int main() {int a 10, b 20;printf(%d %d %d\n, a, b, Add(a, b));return 0; } 这就需要归功于我们计算机内部的寄存器了 在我们计算机CPU里面存在许多的寄存器例如eax、ebx、ecx、edx、ss、ds、cs、gs、fs、bs、ebp、eap、esp、eip等 在进程创建和进程fork原理这篇中我们提到了return的本质就是写入所以在栈临时变量返回的时候是先将临时变量的数据保存在了寄存器eax中此时出了函数体就算临时变量自动销毁但是数据保存了下来此时的寄存器充当的是代码的一个临时空间所以我们在函数体内部定义的局部变量才可以把数据返回。 1.2 eip寄存器程序计数器 我们的程序怎么知道当前的代码运行到哪里了呢如何进行函数间的跳转呢  在CPU里面存在一个寄存器eip程序计数器/pc指针它可以记录并保存当前代码的下一行代码的地址从而依次向后执行。  我们的进程在运行的时候会使用CPU内部的寄存器同样的我们的进程在运行时会产生各种各样的数据那么这些数据就会使用寄存器保存下来此时的寄存器也充当的是一个临时空间如果我们有多个进程呢 进程运行的时候在CPU寄存器中形成的临时数据叫做进程的硬件上下文我们都知道进程具有独立性每个进程运行的时候在CPU寄存器中形成的临时数据都是不一样的但是我们CPU寄存器硬件只有一套 能存的过来吗 此时需要引入一个概念寄存器 ≠ 寄存器内容 再加上CPU的运行速度是非常快的所以可以保存下 1.3 进程上下文数据的切换 所有保存的目的都是为了恢复既然寄存器可以保存进程的上下文数据所以在我们的进程切出时 就可以将进程上下文数据保存在我们进程的PCB中当切入时又将上一次保存的上下文数据再次加载到寄存器中这样就完成了进程的上下文数据的切换 保存上下文数据保存的是寄存器中的数据寄存器的内容将上下文数据保存在PCB中简单理解本质就是将寄存器的内存保存在内存中  1.4 切出之后是否清空 在进程上下文数据切出的时候需要将寄存器的内容清空吗 答案是不需要的因为数据可以做到覆盖假设当前被调度的为①号进程此时它的时间片到了需要被剥离此时它就将寄存器里的内容保存在它的PCB中然后新的②号进程要被调度那么这个②号进程就存在两种情况 1. ②号进程从来没有被调度过那么此时只需要将eip寄存器指向②号进程从头开始执行产生数据时直接覆盖掉原来寄存器里面的内容即可。 2. ②号进程之前被调度过但是被剥离了那么此时需要再次调度时只需要将之前保存在PCB中的上下文数据重新加载到寄存器中直接覆盖原先的内容即可。 朋友们、伙计们美好的时光总是短暂的我们本期的的分享就到此结束欲知后事如何请听下回分解~最后看完别忘了留下你们弥足珍贵的三连喔感谢大家的支持
http://www.hkea.cn/news/14530009/

相关文章:

  • 做影视网站如何通过备案宁波一网信息技术有限公司
  • 大连做网站的科技公司高端网站建设苏州
  • 浙江制做网站的公司如何建设网站导航内链接
  • asp.net 网站管理工具网站建设青岛公司
  • 陕西省建设注册中心网站国内手机app开发公司
  • 中国空间站官网国内seo服务商
  • 福田欧曼服务站wordpress开源程序建站教程
  • 廊坊哪里有做阿里巴巴网站的怎么查自己的网站备案编号
  • 怎么查看一个网站的建设地区wordpress 插件 错误
  • 马云做中国最大的网站wordpress demo iframe
  • 网站开发公司需要招聘哪些人鸿运通网站建设怎么样
  • 一些设计网站美食网站首页设计
  • 建设银行网站维修图片vps网站如何绑定多个域名
  • 淮北网站建设求职简历江西企业网站建设电话
  • 怎样向网站上传照片北京文化馆设计公司怎么看
  • 福田庆三鞠婧祎乐云seo模板网站建设
  • 网站建设规模莆田做网站排名
  • 福建省幕墙建设网站要报备吗广东新闻头条最新消息
  • 网站改版中小说推广怎么做
  • 多域名网站常平东站是东莞东站吗
  • 网站建设创业计划书模板范文电子商务seo
  • 网站部署到服务器万网网站建设购买过程
  • 网站开发费上海公司注册一站式企业服务
  • 外贸seo是什么网站标题和描述优化
  • 网站标签管理商标注册网官方查询
  • 中国建设银行信用卡官网站首页设计网站公司可去亿企邦
  • 印后设备网站建设手机网站建站价格
  • 怎样自己创造网站公司宣传片拍摄脚本
  • 玮科网站建设wordpress中文是什意思
  • 做公司网站的推广工作怎样和wordpress价值