- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 存储管理 5.1 存储管理的概念 5.1.1 地址空间 1.物理地址空间:物理地址是内存中存储单元的真实地址,所以又称为绝对地址或实地址。 2.逻辑地址空间:逻辑地址也称为相对地址或虚地址,它不是内存的物理地址,不能作为程序运行时的实际地址进行读写访问。 5.1.2 程序装入与链接 1、链接 ⑴静态链接。 ⑵装入时动态链接。 ⑶运行时动态链接。 2、装入 ⑴绝对装入方式。 ⑵可重定位装入方式。 ⑶动态运行时装入方式。 5.1.3重定位 地址重定位可以分为静态重定位和动态重定位两种。 5.2 内存管理 5.2.1 固定分区 固定分区(Fixed partition)存储管理又称定长分区或静态分区模式,是静态地把可分配的主存储器空间分割成若干个连续区域。 绝对地址 下限寄存器 B 操作系统区 用户分区1 用户分区5 用户分区4 用户分区3 用户分区2 用户分区6 B+L2 越界中断 CPUY B+L2 上限寄存器 逻辑地址 5.2.2 动态分区 内存管理的可变分区模式(variable partition),又称为变长分区模式,是指将内存用户区划分为若干个分区(块),每个分区内任一时刻只有一个程序,且为连续完整存放。 5.2.3 覆盖和交换技术 覆盖技术(Overlay)与交换技术(Swapping)就是早期出现的两种典型的存储空间扩充技术。前者主要用在早期的操作系统中,而后者在现代操作系统中仍具有较强的生命力,目前主要用于小型分时系统。 A 8K B 8K C 10K D 12K E 4K F 10K 进程X的调用结构 A(8K) 覆盖区0 (10K) 覆盖区1 (12K) B C F E D 5.2.4 分页存储管理 1.分页的基本思想 采用分页存储管理,系统需要将进程的逻辑地址空间划分成若干大小相等的页(page),并对各页加以编号。相应地,也把内存的存储空间划分为若干个与页相同大小的块(block),同样也对各块加以编号。分页后的地址结构将由两部分构成,即页编号P和页内偏移量W。图5.7给出的是一个32位地址长度表述的地址结构,其中0~11为页内地址,即可表示的页长为212=4K字节,12~31位为页号,即地址空间最多有220个页。 2.静态页式管理 页式存储管理又可以分为静态页式管理和动态页式管理两种。 5.2.5 分段存储管理(多重分区) 通常,一个用户程序是由若干相对独立的部分组成的,它们各自完成不同的功能。如上所述,为了编程和使用方便,用户希望把自己的程序按照逻辑关系组织,即划分成若干段,并且按照这些段来分配内存。所以,段是一组逻辑信息的集合。它支持看待存储管理的用户观点。例如,有主程序段MAIN,子程序段P,数据段D和栈段S等。 2.程序的地址结构 3.内存分配 4.段表和段表地址寄存器 5.分页和分段的主要区别 6.地址转换 7.段的共享和保护 5.2.6 段页式存储管理 1.基本思想 在段页式存储管理中,对用户来说,与段式存储管理相同,一个进程仍由用户按照程序的逻辑信息,划分成不同的段。 2.数据结构 3.地址结构与地址变换 4.段页式存储管理的其他问题 5.3 虚拟存储器管理 5.3.1 虚拟存储的概念 虚拟内存的基本思想是:每个程序拥有自己的地址空间,这个空间被分割成多页(page)。每一页有连续的地址范围。这些页被映射到主存,但不是所有的页都必须在内存中才能运行。当程序引用的一部分在内存中,由硬件立刻执行。当程序引用的一部分不在内存中,由操作系统负责将缺失的部分装入内存并重新执行。 5.3.2 虚拟页式存储管理 页号 偏移量 虚拟地址 页表项 P M 其他控制位 块号 5.3.3 虚拟段式存储管理 虚拟地址 段号 偏移量 段表项 P M 其他控制位 长度 段基 5.3.4 虚拟段页式存储管理 5.4 页面置换算法 在研究页面置换算法之前,必须搞清楚一个概念。当需要从内存中置换出某个页时,被置换出的页是否必须是缺页进程本身的页。换句话说,当前进程运行时需要调入一个页,这时被置换的页是否必须属于该进程,还是可以置换另外一个进程的某个页?在实际的操作系统中,被置换的页既可以是缺页进程本身的页,也可以是另外一个进程的页。但是,前一种情况可以把每一个进程限定在固定的页数内。 5.4.1 最优页面置换算法(OPT
文档评论(0)