第七章 进程环境.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第七章 进程环境

第七章进程环境 /23/flower/context.html 进程上下⽂: 每次进程从正在运⾏的处理器上移除时,它当前运⾏状态的充⾜信息必须被保存。 这样,当它在此被调⼊处理器中时,它可以从原来的地⽅恢复运⾏。该已知的操作状态 数据就是其 ” 上下⽂(context)” ,且正执⾏在处理器中该进程的线程,被移除 ( 及替换它 为其它) 的⾏为,就是⼤家常说的进程切换或上下⽂切换。 这⾥对它们之间的差异做出了说明,其中⼀种是,进程被从处理器中完全移除,并 替换成另⼀个进程(进程切换),另⼀种是进程状态被保存,且执⾏被临时中断(上下 ⽂切换)。注意,⼀个进程的切换是在执⾏上下⽂切换操作所需的超集。后⾯情况也许 是由⼀个外部中断所引起,或者是由⼀个必须从⽤户模式切换到系统模式的系统调⽤引 起。⾸先在进程切换时,为了后续恢复进程上下⽂,有很多信息需要被保存,接着进程 继续常驻内存,⽽它执⾏中的线程会被中断。 ⼀个进程的上下⽂包括了它的地址空间,栈空间,虚拟地址空间,寄存器设置镜像 (例如:计数器(PC) ,栈指针(SP) ,指令寄存器(IR) ,程序状态字(PSW) 及其它通⽤处理 器寄存器),更新分析或统计信息,实现⼀个与它相关联的内核数据结构的快照镜像及 更新进程的当前状态(等待,就绪等)。 该状态信息保存在进程的进程控制块处,然后将其移动到适当的调度队列中。新进 程是通过复制PCB 信息到适当的位置被移到CPU 的,(例如:计数器加载为下⼀个将被 执⾏的指令地址处)。 每个进程上下⽂被⼀个task_struct 结构体所描述。task_struct 所持有的数据有如调 度策略、调度优先级、实时优先级、处理器允许的时间计数器、处理器寄存器、⽂件处 理(files_struct )、虚拟内存(mm_struct)。 当⼀个进程切换时,产⽣⼀个调度,存储进程的task_struct ,并使当前任务的指针 指到新进程的task_struct 处,恢复它的内存访问及寄存器上下⽂。这也许关联到硬件部 分。 比喻:进程就像⼀个公司,是⼀个容器。公司⾥⾯处理具体事务的是相关的部⻔。⼀个公 司只少要有⼀个处理事务的部⻔。当然也可以有多个。⾥⾯的部⻔,就像进程⾥的线程⼀ 样。处理具体事务逻辑。 /zh-cn/library/hh439648 /23/flower/vmem.html 虚拟内存: 虚拟内存提供了⼀种可以在计算机物理内存地址空间中运⾏多个进程(可以把它们物理化)的⽅法。 每个进程是当前运⾏在 CPU 上进程的候补者,是已分配的虚拟内存区域的拥有者,虚拟内存区域定义了逻辑地址集, 拥有它的进程可以在此访问、履⾏其所携的任务。因为虚拟内存区域的总量是⾮常巨⼤的(通常受限于处理器的位宽和 它所⽀持的进程最⼤数),每个进程运作在⼀个可被分配的巨⼤逻辑地址空间中(通常3Gb )。 进程保活由虚拟内存管理器负责,且该区域希望在访问时,按要求被重映射到物理内存上。该实现通过交换⽅法或分 页所需的部分来达到物理内存置换的⽬的。交换部分包含在内存中替换⼀个完整的进程到另⼀个,然⽽分页却涉及了进 程映射内存页(通常2-4KB )的移除和从另⼀个进程替换页内存。因为这可能是⼀个使计算机资源紧张且耗时的任务, 解决措施是尽量减少这类开销。这样做是由于⼀些算法的设计利⽤代码相关部分的共同局部性的优势,这些也仅是进⾏ ⼀些操作,如内存复制或当必须读取时(已知的技术有写拷贝、懒分页和按需分页)。 进程拥有的虚拟内存⾥包含代码、来⾃多个源的数据。执⾏代码也许以共享库的⽅式在进程间被共享,因为这些区域 是只读的,所以被损坏的⼏率很⼩。进程可以在使⽤它们之前分配和链接虚拟内存。 /23/flower/psimage.html 进程镜像 可执⾏⽂件以⼀种定义好了的格式存储在磁盘上,不同的操作系统在实际的定义上会 有不同,但通常它们共有的元素在存储时会被存储。在unix 上常⽤的格式,例如在 linux 上被称为可执⾏连接格式( Extensible Linked Format (ELF) )。⼀个 ELF 的安排由⼀ 个ELF 头,⼀个程序头表,⼀个区段只和⼀个可选区段的头表。头部包含了内核创建进 程镜像的所有必要信息(即加载程序到内存,并为将要执⾏的它分配资源)。 程序代码在⼀个多任务操作系统上必须可重⼊。这表⽰它可以被多个进程共

文档评论(0)

561190792 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档