1、内存管理:操作系统对内存的划分和动态分配(是操作系统设计中最重要和最复杂的内容之一)
主要功能:内存空间的分配与回收
地址转换
内存空间的扩充
存储保护(保证各道作业互不干扰)
2、程序装入:
绝对装入(事先知道程序将驻留在内存中的某个位置)
静态重定位装入(程序中的其他地址都是相对于起始地址的0开始的。一个作业装入内存时,必须分配其要求的全部内存空间,如果没有足够的内存,就不能装入该作业;作业一旦进入内存后,整个运行期间不能在内存中移动)
动态重定位转入(程序在内存中发生移动)
3、逻辑地址空间、物理地址空间:
编译后每个目标模块都从0号单元开始编址,称为该目标模块的相对地址
装入程序到内存时,必须经过地址转换将逻辑地址转换为物理地址(地址重定位)
4、虚拟内存技术:(解决主存无法存放用户程序的矛盾)
5、连续分配管理方式:
单一连续分配、固定分区分配、动态分区分配(首次适应、最佳适应、最坏适应、临近适应)
固定分区会产生内部碎片,动态分区会产生外部碎片。这两种技术对内存的利用率都低。为了尽可能的不产生碎片,就使用了分页技术。
6、非连续分配管理方式:
基本分页存储管理方式:
->页表大小固定、
->基本地址变换机构(动态存入页表地址和长度)
->具有快表的地址变换机构(增设一个具有并行查找能力的高速缓冲存储器—块表)、
->两级页表(由于引入了分页管理,进程在执行时不需要将所有页调入内存页框中,而只要将保存有映射关系的页表调入内存中即可。
将页表思想进一步延伸就得到了二级页表,存放更多的内容)
基本分段存储管理方式:
分页的提出是从计算机的角度考虑,分段则是考虑了用户和程序员
段页式管理方式:
(页式存储管理能够有效地提高利用率,分段存储管理能够反映程序的逻辑结构并有利于段的分享。段页式即这两种之和)
7、传统存储管理方式:
一次性(作业必须一次性全部装入内存,方能开始运行)
驻留性(作业被装入内存后,就一直在内存中,其任何部分都不会被换出,直至运行结束)
8、著名的局部性原理:
时间局部性:
刚被执行的指令或者刚被访问的数据,不久以后又被访问,存在着大龄的存户按操作。
空间局部性:
程序在一段时间内所访问的地址,可能集中在一定的范围内
所以均使用高速缓存技术,保存正在执行的内容(如计算机组成原理里的Cache
9、虚拟存储器:
虚拟存储器的大小由计算机的地址结构决定(主要特征:多次性、对换性、虚拟性)
10、虚拟内存的实现:
请求分页存储管理、请求分段存储管理、请求段页式存储管理
(依赖硬件支持:一定容量的内存和外存、页表机构、中断机构、地址变换机构)
11、页面置换算法:(决定应该换入哪页、换出哪页)
最佳置换算法(最长时间不在被访问)、
先进先出页面置换算法、
最近最久未使用置换算法、
时钟置换算法(最近未用算法):通过设置标志位