第四章存储器管理摘要.ppt
文本预览下载声明
第四章 存储器管理 可重入代码、纯代码:允许多个进程同时访问的代码,是一种不允许任何进程对它进行修改的代码 附录:Windows2000/XP的存储器管理 3. 地址变换机构 请求分页中的地址变换过程 4.6.2 内存分配策略和分配算法 1. 最小物理块数的确定 进程应获得的最少物理块数与计算机的硬件结构有关,取决于指令的格式、 功能和寻址方式 2. 物理块的分配策略 内存分配策略:固定和可变分配策略 置换策略:全局置换和局部置换 1) 固定分配局部置换(Fixed Allocation, Local Replacement) 2) 可变分配全局置换(Variable Allocation, Global Replacement) 3) 可变分配局部置换(Variable Allocation, Local Replacement) 3. 物理块分配算法 1) 平均分配算法 2) 按比例分配算法 这是根据进程的大小按比例分配物理块的算法。如果系统中共有n个进程,每个进程的页面数为Si,则系统中各进程页面数的总和为: 又假定系统中可用的物理块总数为m,则每个进程所能分到的物理块数为bi,将有: b应该取整,它必须大于最小物理块数。 3. 物理块分配算法 3) 考虑优先权的分配算法 3. 物理块分配算法 4.6.3 调页策略 1. 何时调入页面 (1) 预调页策略 (2) 请求调页策略 2. 从何处调入页面 外存:文件区、对换区 (1) 系统拥有足够的对换区空间,这时可以全部从对换区调入所需页面,以提高调页速度 (2) 系统缺少足够的对换区空间,这时凡是不会被修改的文件,都直接从文件区调入;而当换出这些页面时,由于它们未被修改而不必再将它们换出,以后再调入时,仍从文件区直接调入。但对于那些可能被修改的部分,在将它们换出时,便须调到对换区,以后需要时,再从对换区调入。 2. 从何处调入页面 (3) UNIX方式。由于与进程有关的文件都放在文件区,故凡是未运行过的页面,都应从文件区调入。而对于曾经运行过但又被换出的页面,由于是被放在对换区,因此在下次调入时,应从对换区调入。由于UNIX系统允许页面共享,因此, 某进程所请求的页面有可能已被其它进程调入内存,此时也就无须再从对换区调入。 2. 从何处调入页面 ★缺页中断 ★保留CPU环境 ★分析中断原因后, 转入缺页中断处理程序 ★缺页中断处理 ★访问内存数据 3. 页面调入过程 4.7 页面置换算法 4.7.1 最佳置换算法和先进先出置换算法 最佳置换算法是由Belady于1966年提出的一种理论上的算法。其所选择的被淘汰页面,将是以后永不使用的, 或许是在最长(未来)时间内不再被访问的页面。采用最佳置换算法,通常可保证获得最低的缺页率。 1. 最佳(Optimal)置换算法 假定系统为某进程分配了三个物理块, 并考虑有以下的页面号引用串: 7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1 1. 最佳(Optimal)置换算法(例) F 7 7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1 引用序列 缺页标志 F 0 7 F 1 0 7 F 1 0 2 1 0 2 F 3 0 2 3 0 2 F 3 4 2 3 4 2 3 4 2 F 3 0 2 3 0 2 3 0 2 F 1 0 2 1 0 2 1 0 2 1 0 2 F 1 0 7 1 0 7 1 0 7 缺页9次,总访问次数20次,缺页率9/20=45% 2. 先进先出(FIFO)页面置换算法 F 7 7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1 引用序列 缺页标志 F 0 7 F 1 0 7 F 1 0 2 1 0 2 F 1 3 2 F 0 3 2 F 0 3 4 F 0 2 4 F 3 2 4 F 3 2 0 3 2 0 3 2 0 F 3 1 0 F 2 1 0 2 1 0 2 1 0 F 2 1 7 F 2 0 7 F 1 0 7 缺页15次,总访问次数20次,缺页率15/20=75% 4.7.2 最近最久未使用(LRU)置换算法 1. LRU(Least Recently Used)置换算法的描述 F 7 7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1 引用序列 缺页标志 F 0 7 F 1 0 7 F 1 0 2 1 0 2 F 3 0 2 3 0 2 F 3 0 4 F 2 0 4
显示全部