章内存管理3老师课程os2013.pptx

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

Chapter3

MemoryManagement

3.6ImplementationIssuesOperatingSystemInvolvementwithPagingPageFaultHandlingInstructionBackupLockingPagesinMemoryBackingStoreSeparationofPolicyandMechanism

3.6.1OperatingSystemInvolvementwithPagingTherearefourtimeswhentheOShaspaging-relatedworktodo:ProcesscreationtimeProcessexecutiontimePagefaultProcessterminationtime

3.6.2PageFaultHandling硬件陷入内核,在堆栈中保存程序计数器。启动一个汇编代码例程,保存通用寄存器和其他易失的信息,以免被操作系统破坏。当操作系统发现一个页面失效时,试图查找需要哪个虚拟页面。操作系统检查发生页面失效的虚拟地址是否有效,并检查存取与保护是否一致。如果选择的是“脏”页帧,安排将该页面写回磁盘。一旦页帧“干净”后,操作系统查找所需页面在磁盘上的地址,通过磁盘操作将其装入。

3.6.2PageFaultHandling当磁盘中断发生,表明该页面已经装入时,页表也已更新以反映它的位置,页帧也标记为通常的状态。恢复发生页面失效指令以前的状态,程序计数器重新指向这条指令。调度页面失效进程,操作系统返回调用它的汇编语言例程。该例程恢复寄存器和其他状态信息,回到用户空间继续执行。

3.6.4LockingPagesinMemoryVirtualmemoryandI/Ointeractinsubtleways.lockpagesengagedinI/OinmemorysothattheywillnotberemovedLockingapageisoftencalledpinningitinmemory.doallI/Otokernelbuffersandthencopythedatatouserpageslater

3.6.5BackingStoreThesimplestalgorithmforallocatingpagespaceonthediskistohaveaspecialswappartition(交换分区)onthedisk.MostUNIXsystemsworklikethis.P232Fig3-29(a)Pagingtoastaticswaparea

3.6.5BackingStoreTheotherextremeistoallocatenothinginadvanceandallocatediskspaceforeachpagewhenitisswappedoutanddeallocateitwhenitisswappedbackin.P232Fig3-29(b)Backinguppagesdynamically

3.7Segmentation(分段)Thevirtualmemorydiscussedsofarisone-dimensional.Formanyproblems,havingtwoormoreseparatevirtualaddressspacesmaybemuchbetterthanhavingonlyone.

3.7SegmentationAcompilerhasmanytablesthatarebuiltupascompilationproceeds,possiblyincluding:Thesourcetextbeingsavedfortheprintedlisting(onbatchsystems).Thesymboltable–thenamesandattributesofvariables.Thetablecontaininginteger,floating-pointconstantsused.Theparsetree,thesyntacticanalysisoftheprogram.Thestackus

文档评论(0)

136****1820 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档