2022年2022年计算机操作系统第四章 3.pdf
《2022年2022年计算机操作系统第四章 3.pdf》由会员分享,可在线阅读,更多相关《2022年2022年计算机操作系统第四章 3.pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机操作系统主讲教师:王晓 晔E-mail: 第四章存储器管理4.1 存储器的层次结构4.2 程序的装入和连接4.3 连续分配方式4.4 基本分页存储管理方式4.5 基本分段存储管理方式4.6 虚拟存储器的基本概念4.7 请求分页存储管理方式4.8 页面置换算法4.9 请求分段存储管理方式4.1 存储器的层次结构4.1.1 多级存储器结构4.1.2 主存储器与寄存器主存储器寄存器4.1.3 高速缓存和磁盘缓存高速缓存磁盘缓存4.2 程序的装入和链接4.2.1 程序的装入1. 绝对装入方式 (Absolute Loading Mode) 程序中所使用的绝对地址,既可在编译或汇编时给出,也可由程
2、序员直接赋予。但在由程序员直接给出绝对地址时,不仅要求程序员熟悉内存的使用情况,而且一旦程序或数据被修改后,可能要改变程序中的所有地址。因此,通常是宁可在程序中采用符号地址,然后在编译或汇编时,再将这些符号地址转换为绝对地址。3. 动态运行时装入方式 (Denamle Run-time Loading)动态运行时的装入程序,在把装入模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序真正要执行时才进行。因此,装入内存后的所有地址都仍是相对名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精
3、心整理 - - - - - - - 第 1 页,共 9 页 - - - - - - - - - 地址。3. 运行时动态链接 (Run-time Dynamic Linking)近几年流行起来的运行时动态链接方式,是对上述在装入时链接方式的一种改进。这种链接方式是将对某些模块的链接推迟到执行时才执行,亦即,在执行过程中,当发现一个被调用模块尚未装入内存时,立即由 OS去找到该模块并将之装入内存,把它链接到调用者模块上。凡在执行过程中未被用到的目标模块,都不会被调入内存和被链接到装入模块上,这样不仅可加快程序的装入过程,而且可节省大量的内存空间。4.3 连续分配方式4.3.1 单一连续分配这是最简
4、单的一种存储管理方式,但只能用于单用户、单任务的操作系统中。采用这种存储管理方式时,可把内存分为系统区和用户区两部分,系统区仅提供给 OS使用,通常是放在内存的低址部分;用户区是指除系统区以外的全部内存空间,提供给用户使用。4.3.2 固定分区分配1. 划分分区的方法(1) 分区大小相等,即使所有的内存分区大小相等。(2) 分区大小不等。(1) 首次适应算法 FF。(2) 循环首次适应算法,该算法是由首次适应算法演变而成的。(3) 最佳适应算法。(4) 最坏适应算法(5) 快速适应算法名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - -
5、- 名师精心整理 - - - - - - - 第 2 页,共 9 页 - - - - - - - - - 4.3.4 伙伴系统伙伴系统规定,无论已分配分区或空闲分区,其大小均为2的k次幂,k为整数, 1=k=m ,其中: 21表示分配的最小分区的大小,2m表示分配的最大分区的大小,通常2m是整个可分配内存的大小。假设系统的可利用空间容量为2m个字,则系统开始运行时, 整个内存区是一个大小为 2m的空闲分区。在系统运行过程中, 由于不断的划分,可能会形成若干个不连续的空闲分区,将这些空闲分区根据分区的大小进行分类,对于每一类具有相同大小的所有空闲分区,单独设立一个空闲分区双向链表。这样,不同大小
6、的空闲分区形成了k个空闲分区链表。当需要为进程分配一个长度为n的存储空间时, 首先计算一个 i值,使2i-1=n= 2i,然后在空闲分区大小为为 2i的空闲分区链表中查找。若找到,即把该空闲分区分配给进程。 否则,表明长度为 2i的空闲分区已经耗尽, 则在分区大小为 2i+1的空闲分区链表中寻找。若存在 2i+1的一个空闲分区,则把该空闲分区分为相等的两个分区,这两个分区称为一对伙伴,其中的一个分区用于分配,而把另一个加入分区大小为 2i的空闲分区链表中。 若大小为 2i+1的空闲分区也不存在, 则需要查找大小为2i+2的空闲分区,若找到则对其进行两次分割:第一次,将其分割为大小为2i+1的两
7、个分区,一个用于分配,一个加入到大小为2i+1的空闲分区链表中;第二次,将第一次用于分配的空闲区分割为2i的两个分区,一个用于分配,一个加入到大小为 2i的空闲分区链表中。 若仍然找不到,则继续查找大小为 2i+3的空闲分区,以此类推。由此可见,在最坏的情况下,可能需要对2k的空闲分区进行 k次分割才能得到所需分区。与一次分配可能要进行多次分割一样,一次回收也可能要进行多次合并,如回收大小为 2i的空闲分区时,若事先已存在2i的空闲分区时,则应将其与伙伴分区合并为大小为 2i+1的空闲分区,若事先已存在2i+1的空闲分区,又应继续与其伙伴分区合并为大小为 2i+2的空闲分区,以此类推。4.3.
8、5 哈希算法哈希算法就是利用哈希快速查找的优点,以及空闲分区在可利用空间表中的分布规律,建立哈希函数,构造一张以空闲分区大小为关键字的哈希表,该表的每一个表项记录了一个对应的空闲分区链表表头指针。当进行空闲分区分配时, 根据所需空闲分区大小, 通过哈希函数计算,即得到在哈希表中的位置,从中得到相应地空闲分区链表,实现最佳名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 9 页 - - - - - - - - - 分配策略。4.3.7 对换 (Swapping) 1. 对换的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年计算机操作系统第四章 2022 计算机 操作系统 第四
限制150内