- 1、本文档共97页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
os_ch4存储器管理.ppt
第四章 存储器管理 4.1 存储器的层次结构 存储器的功能是保存数据 存储器的发展方向是高速、大容量和小体积 4.1.1 多层存储器结构 4.1.2 主存储器和寄存器 1.主存储器 主存地址 所有的存储单元都按顺序排列,每个单元都有一个编号,单元的编号称为“单元地址”。 地址编号也用二进制数,通过地址编号寻找在存储器中的数据单元称为“寻址”。 2.寄存器:存放CPU执行时的数据和指令 3.高速缓存:存储cpu经常使用的指令和数据 4.磁盘缓存:主存的空间,存放频繁使用的部分磁盘上的数据 4.2 程序的装入和链接 程序在成为进程前的准备工作 编辑:形成源文件(符号地址) 编译:形成目标模块(模块内符号地址解析) 链接:由多个目标模块或程序库生成可执行文件(模块间符号地址解析) 装入:构造PCB,形成进程(使用物理地址) 逻辑地址、物理地址和地址映射 逻辑地址(相对地址,虚地址):用户的程序经过汇编或编译后形成目标代码,目标代码通常采用相对地址的形式。 其首地址为0,其余指令中的地址都相对于首地址来编址。 不能用逻辑地址在内存中读取信息。 物理地址(绝对地址,实地址):内存中存储单元的地址。物理地址可直接寻址。 地址映射:将用户程序中的逻辑地址转换为运行时由机器直接寻址的物理地址。 当程序装入内存时, 操作系统要为该程序分配一个合适的内存空间,由于程序的逻辑地址与分配到内存物理地址不一致, 而CPU执行指令时,是按物理地址进行的,所以要进行地址转换。 4.2.1 程序的装入 1.绝对装入方式 在程序运行前,按照程序的逻辑地址,将程序和数据装入内存指定的地方。程序的内存地址由逻辑地址决定。 优点:装入过程简单。 缺点:过于依赖于硬件结构,不适于多道程序系统。 2.可重定位装入方式 在可执行文件中,列出各个需要重定位的地址单元和相对地址值。 装入内存时,一次性实现逻辑地址到物理地址的转换,以后不再转换(一般在装入内存时由软件完成)。 优点:不需硬件支持,可以装入有限多道程序。 缺点:一个程序通常需要占用连续的内存空间,程序装入内存后不能移动。 3.动态运行时装入方式 把装入模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序真正要执行时才进行。 优点: OS可以将一个程序分散存放于不连续的内存空间,可以移动程序,有利于实现共享。 能够支持程序执行中产生的地址引用,如指针变量(而不仅是生成可执行文件时的地址引用)。 缺点:需要硬件支持(通常是CPU),OS实现较复杂。它是虚拟存储的基础。 4.2.2 程序的链接 1. 静态链接(static-linking) 在生成可执行文件时进行。在目标模块中记录符号地址(symbolic address),在可执行文件中改写为指令直接使用的数字地址。 2.装入时动态链接 在目标模块装入到内存时边装入边链接。 装入时动态链接方式有以下优点: (1) 便于修改和更新。 (2) 便于实现对目标模块的共享 3. 运行时动态链接 在执行过程中,当发现一个被调用模块尚未装入内存时,立即由OS去找到该模块并将之装入内存, 把它链接到调用者模块上。 各种存储管理方案 (1) 分区存储管理 (2) 分页存储管理 (3) 分段存储管理 (4) 段页式存储管理 (5) 交换技术和覆盖技术 (6) 虚拟存储管理 4.3.1 单一连续分配 内存分为两个区域:系统区,用户区。应用程序装入到用户区,可使用用户区全部空间。 最简单,适用于单用户、单任务的OS。 优点:易于管理。 缺点:对要求内存空间少的程序,造成内存浪费;程序全部装入,很少使用的程序部分也占用内存。 4.3.2 固定分区分配 把内存分为一些大小相等或不等的分区(partition),每个应用进程占用一个或几个分区。操作系统占用其中一个分区。 1. 划分分区的方法 (1)分区大小相等, 即使所有的内存分区大小相等。 (2) 分区大小不等。 2. 内存分配 优点:易于实现,开销小。 问题: 1、可能存在内碎片和外碎片。 内碎片:占用分区之内未被利用的空间 外碎片:占用分区之间难以利用的空闲分区(通常是小空闲分区)。 内碎片造成浪费 2、分区总数固定,限制了并发执行的程序数目。 可以和覆盖、交换技术配合使用。 课后作业 1.计算机系统中的各种存储器有何用处? 2.何为相对地址和绝对地址?为何程序装入内存需要进行地址转换? 3.单一连续区和固定分区各有何特点? 4.3.3 动态分区(dynamic partitioning) 1. 分区分配中的数据结构 (1) 空闲分区表 (2) 空闲分区链 2. 分区分配算法 (1) 首次适
文档评论(0)