一 页式管理 1 页式管理的基本原理将各进程的虚拟空间划分成若干个长度相等的页(page),页式管理把内存空间按页的大小划分成片或者页面(page frame),然后把页式虚拟地址与内存地址建立一一对应页表,并用相应的硬件地址变换机构,来解决离散地址变换问题
页式管理采用请求调页或预调页技术实现了内外存存储器的统一管理
它分为 1 静态页式管理
静态分页管理的第一步是为要求内存的作业或进程分配足够的页面
系统通过存储页面表、请求表以及页表来完成内存的分配工作
静态页式管理解决了分区管理时的碎片问题
但是,由于静态页式管理要求进程或作业在执行前全部装入内存,如果可用页面数小于用户要求时,该作业或进程只好等待
而且作业和进程的大小仍受内存可用页面数的限制
2 动态页式管理
动态页式管理是在静态页式管理的基础上发展起来的
它分为请求页式管理和预调入页式管理
优点: 没有外碎片,每个内碎片不超过页大小
一个程序不必连续存放
便于改变程序占用空间的大小(主要指随着程序运行而动态生成的数据增多,要求地址空间相应增长,通常由系统调用完成而不是操作系统自动完成)
缺点:程序全部装入内存
要求有相应的硬件支持
例如地址变换机构,缺页中断的产生和选择淘汰页面等都要求有相应的硬件支持
这增加了机器成本
增加了系统开销,例如缺页中断处理机,请求调页的算法如选择不当,有可能产生抖动现象
虽然消除了碎片,但每个作业或进程的最后一页内总有一部分空间得不到利用果页面较大,则这一部分的损失仍然较大
二 段式管理的基本思想 把程序按内容或过程(函数)关系分成段,每段有自己的名字
一个用户作业或进程所包含的段对应一个二维线形虚拟空间,也就是一个二维虚拟存储器
段式管理程序以段为单位分配内存,然后通过地址影射机构把段式虚拟地址转换为实际内存物理地址
程序通过分段(segmentation)划分为多