第5章 存储管理

合集下载

操作系统原理第5章 存储管理

操作系统原理第5章 存储管理

• ⑶最佳适应算法
• 最佳适应算法的空闲链是按空闲区从小到大顺序排 列。为进程选择分区时总是寻找其大小最接近进程 所要求的存储区域。所谓“最佳”是指每次为进程 分配内存时,总是把能满足要求、又是最小的空闲 分区分配给进程,避免“大材小用”。
• 因为每次分配后所切割下来的剩余部分总是最小的, 这样将加速碎片的形成。
• ①如果被回收空闲分区没有空闲伙伴分区,那么保留该分区为一 个独立的空闲分区,否则执行②;
• ②合并回收分区及其伙伴分区,从而得到一个尺寸(2I+1)更大的 回收空闲分区,转移到①;
一个伙伴系统内存分配与回收的例子
• 伙伴系统克服了固定分区和动态分区存储管理技术的缺陷。但是伙伴 系统存在一个问题,即内存空间需要不断地进行分裂和合并,频繁的 伙伴分区合并操作会浪费很多时间。
• ③内存分配原则,以页帧为单位来分配内存,将进程若干个逻辑上连续的 页面装入若干个离散的页帧中,由页表提供进程的页号到存储空间帧号的 映射。
5.2.4伙伴系统
• 其实现原理如下: • 一个伙伴系统内存的用户可用空间为2U。进程申请存储空间时,
系统总是为其分配大小为2I的一个空闲分区。其中S≤I≤U,2S是系 统允许的最小分区尺寸。在实际操作系统中,最小分区尺寸一般 为212。 • 如果进程申请的存储空间大小为K,且2I-1<K≤2I,则将整个2I大小的 分区分配给该进程;否则,该分区被分割成两个大小相等的伙伴 分区,大小为2I-1;再判断K是否满足条件:2I-2<K≤2I-1,若满足条件, 则将两个伙伴中的任何一个分配给该进程。否则,将其中一个伙 伴又分成两个大小相等的伙伴分区;此过程一直继续进行,直到 产生的分区满足条件I-J≥S并2I-J-1<K≤2I-J,将2I-J大小的分区分配给该 进程;当I-J-1<S时,系统不再分割成两个大小相等的伙伴分区,将 2S大小的分区分配给该进程。 • 当进程执行完毕,释放一个尺寸为2I的分区时,系统用下面的算法 回收该分区。

Java ME 程序设计第5章记录存储管理系统RMS

Java ME 程序设计第5章记录存储管理系统RMS

关闭和删除记录存储
记录存储操作完成后必须要关闭,关闭存储记录的方
法非常简单,定义如下: void closeRecordStore()
记录存储创建后,也可以被删除,但是必须由创建此
记录存储的MIDlet才能够删除,而且必须是对此记录 存储所有打开的引用都已经关闭的情况下才能删除, 如果还有对该记录存储的打开引用,将会抛出异常。 删除记录存储的方法定义如下: static void deleteRecordStore(String recordStoreName)
记录存储系统类库
在MIDlet中要使用记录存储功能,需要首先引入
javax.microedition.rms包。这个包中的核心类是RecordStore类,该类 用来表示记录存储,并提供相应的方法对记录存储进行生成和管理, 能过对记录管理中的记录进行添加、删除和修改操作。
方法 addRecord() addRecordListener() closeRecordStore() deleteRecord() enumerateRecords() getLastModified() getName() getNumRecords() getNextRecordID() getRecord() getRecordSize() getSizeAvailable() getVesion() listRecordStores() openRecord() removeRecordListener() setMode() setRecord() 说明 添加新记录 添加记录监听器 关闭记录存储系统 根据ID或者名称删除指定的记录 以可选的过滤器和比较器返回遍历记录的枚举器 返回上次更改记录的时间 返回记录存储的名字 返回当前记录存储中的记录条数 返回下一条记录的记录ID 根据指定的ID获得对应的记录数据内容 返回当前记录存储的大小 返回记录存储系统可用空间大小 返回记录存储的版本号 返回当前MIDlet组件所拥有的所有记录存储的名称 根据跟定的名称打开或创建记录存储 删除指定的监听器 改变当前记录存储的权限 根据指定的ID重新设定记录的数据

计算机操作系统教程(张尧学(第三版)第五章

计算机操作系统教程(张尧学(第三版)第五章

精品课程系列-计算机学院版权所有
关于动态地址重定位可以如下图所示的过程说明:
制 作 者 : 郭 平 、 王 在 模 、 何 静 媛
用户程序的虚地址空间 0 100 1KB 0 内存 基地址寄存器 操作系统 22628 22KB 22528
XXXXX
20KB 22KB 22KB+100 XXXXXX
制 作 者 : 郭 平 、 王 在 模 、 何 静 媛
精品课程系列-计算机学院版权所有
动态地址重定位
制 作 者 : 郭 平 、 王 在 模 、 何 静 媛
动态地址重定位是在程序执行过程中,在CPU访问 内存之前,将要访问的程序或数据地址转换成内存地 址。动态地址重定位依靠硬件地址变换机构完成。
硬件地址转换机构一般由一个“基地址寄存器” 和一个“虚地址寄存器”组成,用户程序不做任何修 改地装入分配给它的存储区域。当调度到用户程序运 行时,则转换成实际的物理地址。
精品课程系列-计算机学院版权所有
分区的分配与释放
制 作 者 : 郭 平 、 王 在 模 、 何 静 媛
分区的分配: 若采用的是一个队列的管理方案,则当一个分区被释放时, 需要在队列中选出一个作业运行,可以有以下几种方案: (1)选出第一个可容纳的作业。该方案虽然实现简单,选择 率高,但是可能会因为一个小作业进入而浪费掉该分区的大部分 存储空间,存储利用率不高。 (2)在队列中找出该分区能容纳的最大的作业。由于每个分 配出的分区产生出的内部碎片小,因此,此方案存储空间的利用 率高;缺点是对小作业不公平。
22kb10022kb300023kbd图51地址变换示意图郭平王在模何静媛其中程序a中的一条入口地址为3000的一条指令为call100其中程序a中的一条入口地址为3000的一条指令为call100在装入内存之后由于程序的起始地址不再为0故程序中的指令需要做相应的转换

新第五章存储-段式及段页式

新第五章存储-段式及段页式

段表
S段的页表 … p’ P’+d 物理地址
… …
页面 … 段页式地址变换
29
存储 管理

(注:在段页式系统中,为了获取一条指令或 数据,需三次访问内存。第一次访问,是访问 内存中的段表,从中取得页表始址,第二次访 问,是访问内存中的页表,从中取得物理块号, 并将该块号与页内地址一起形成指令或数据的 物理地址;第三次访问,才是真正从第二次访 问的地址中,取得指令和数据。)
13
存储 管理 信息共享
分页系统中共享editor的示意图
14
存储 管理
15
分段系统中共享editor的示意图
存储 管理
五.请求分段存储管理
(一).请求分段使用的表

扩充段表(每个作业一个) 现行分段表(整个系统一个) 现行调用表(整个系统一个)
16
存储 管理
1.扩充段表
段号 段长 段始址 存取控制 中断位 访问 位 改变位 扩充位 辅存地址

中断位:表示该页在不主存 访问位:表示该页最近是否被访问过 改变位:表示该页内容是否被修改 扩充位(固定长/可扩充 )
17
存储 管理
2.现行分段表
记录共享段的状态,包括:当前段 是否在主存,该段在主存的始址,共享的 作业数,每个作业名,作业号以及在该作 业中的段号、允许的存取方式等。每个允 许被共享的段,当其调入主存时,均在此 表上登记。当一共享作业退出系统后,则 应将共享本段作业数减1并将相应的表目 改为“可用”。若共享作业数为0,则请求 系统回收相应的存储空间。
(1) 页是信息的物理单位,段则是信息的逻辑单位
(2) 页的大小固定且由系统决定,而段的长度却不
固定 (3) 分页的作业地址空间是一维的,即单一的线性 地址空间,分段的作业地址空间则是二维的

计算机四级网络工程师-操作系统原理-第5章内存管理

计算机四级网络工程师-操作系统原理-第5章内存管理

计算机四级网络工程师-操作系统原理-第5章内存管理计算机四级网络工程师-操作系统原理-第5章内存管理单选题可变分区管理方案,看内存分配表各类适应算法下次适应算法最优适应算法最坏适应算法首次适应算法,系统中剩余的最大空闲分区静态重定位中,从哪个单元获取操作数各类置换算法各类置换算法看内存分配情况表——实战最近最少使用页面置换算法(LRU)先进先出页面置换算法(FIFO)最近最不常用页面置换算法(LFU)最近未使用页面置换算法(NRU)涉及计算【真题讲解】页式管理存储第66题快表命中率花费us计算简单页式存储管理问最大有多少个页面问最大有多少字节问页表长度(页表项个数)写保护中断各个置换算法的缺页率(建议放弃这一题分,比较容易搞混,需要理解各个置换算法并画图表)LRU页面置换算法OPT最佳页面置换算法八进制的计算(先八进制转换成二进制再计算)虚拟页式存储管理(求偏移量题目)题目直接给二进制,直接进行数位数偏移题目直接给16进制,转换为二进制后进行数位数偏移虚拟页式的有效位、修改位、访问位、保护位、禁止位单页存放整数变量个数和循环代码计算缺页次数一般情况通解:两个循环次数相乘,除单页个数答案有整数×整数形式使用快表和不使用快表相比较,求平均访问时间降低x%需要直接记忆单选多选题需要直接记忆多选单选题可变分区管理方案,看内存分配表下次适应算法最优适应算法最坏适应算法首次适应算法,系统中剩余的最大空闲分区这种题目一定要学习画图,画出变化趋势和具体数值静态重定位中,从哪个单元获取操作数第28题:在操作系统的存储系统中,程序装入时采用静态重定位方法。

已知:第18号单元外有一条加法指令,该指令要求处第066号单外取得操作数1234。

假设存储管理为程学分配的内存区域是众第800号开始,则加法指令将从哪一个单元获取操作数:答案——866置换算法策略先进先出页面置换算法(FIFO)将驻留在内存中时间最长的一页调出最先装入内存的一页调出最近最少使用页面置换算法(LRU)最长时间未被使用过的页面距离现在最长时间没有被访问的页面最近最不常用页面置换算法(LFU)一段时间单页面被使用的次数多少选择一段确定的周期T内,使用次数最少最近未使用页面置换算法(NRU)在最近的一个【时钟滴答】中尽量置换一个没有被访问的和没有被修改过的页面理想页面置换算法(OPT)以后不再需要的、或者在最长时间以后才会用到的页面第二次机会页面置换算法检查进入内存时间最久页面的R位,如果是0,则置换该页;如果是1,就将R位清0,并把该页面放到链表的尾端,修改其进入时间【重点就是会放到链表尾端,画图表时注意】各类置换算法各类置换算法看内存分配情况表——实战最近最少使用页面置换算法(LRU)先进先出页面置换算法(FIFO)最近最不常用页面置换算法(LFU)最近未使用页面置换算法(NRU)涉及计算【真题讲解】页式管理存储第60题:在分区管理方法中,假设程序A自60K处开始存放,到124K为止。

操作系统第5章存储管理3虚拟存储

操作系统第5章存储管理3虚拟存储

举例:某进程依次访问如下地址:
0100,0432,0101,0612,0102,0103, 0104,0101,0611,0102,0103,0104, 0101,0610,0102,0103,0104,0101, 0609,0102,0105。若页面大小为100, 上述访问串可简化为: 1,4,1,6,1,6,1,6,1,6,1
4 0 3
2 3 4 2 0 4
是 是 是 是 否 是 是 是 是 是 是 否 否
7 0 1 2 3 0 4
结果:缺页次数共10次。
次序
页 面 分 配 情 况 是否 缺页 换出 的页
7
0
1 1
2 2
0
3 3
0 0
4 4
2 2
3 3
0 0
3
2
0
7 7
0
7
1
0
2
1
3
2
0
3
4
0
2
4
3
2
是 是 是 是 否 是 是 是 是 是 是 否 否 7 0 1 2 3 0 4
4 0 3
是 是 是 是 否 是 是 是 是
7 0 1 2
次序
7
0
1
2
0
3
0
4
2
3
0
3
2
页 面 分 配 情 况
是否 缺页 换出 的页
1 2 0 7 7 0 1 7 0
3 0 2 3 1 2
4 0 3
2 4 0
是 是 是 是 否 是 是 是 是 是
7 0 1 2 3
次序
7
0
1
2
0
3
0

操作系统学习资料-第五章 存储管理习题

第五章存储管理一. 选择最合适的答案1.分页存储管理的存储保护是通过( )完成的.A.页表(页表寄存器)B.快表C.存储键D.索引动态重定2.把作业地址空间中使用的逻辑地址变成内存中物理地址称为()。

A、加载B、重定位C、物理化D、逻辑化3.在可变分区存储管理中的紧凑技术可以()。

A.集中空闲区B.增加主存容量C.缩短访问时间D.加速地址转换4.在存储管理中,采用覆盖与交换技术的目的是( )。

A.减少程序占用的主存空间B.物理上扩充主存容量C.提高CPU效率D.代码在主存中共享5.存储管理方法中,( )中用户可采用覆盖技术。

A.单一连续区 B. 可变分区存储管理C.段式存储管理 D. 段页式存储管理6.把逻辑地址转换成物理地址称为()。

A.地址分配B.地址映射C.地址保护D.地址越界7.在内存分配的“最佳适应法”中,空闲块是按()。

A.始地址从小到大排序B.始地址从大到小排序C.块的大小从小到大排序D.块的大小从大到小排序8.下面最有可能使得高地址空间成为大的空闲区的分配算法是()。

A.首次适应法B.最佳适应法C.最坏适应法D.循环首次适应法9.硬盘容量1G,内存容量为1024k,那么虚拟存储器最大实际容量可能是( ) 。

A.1024KB.1024MC.10GD.10G+1M10.用空白链记录内存空白块的主要缺点是()。

A.链指针占用了大量的空间B.分配空间时可能需要一定的拉链时间C.不好实现“首次适应法”D.不好实现“最佳适应法”11.一般而言计算机中()容量(个数)最多.A.ROMB.RAMC.CPUD.虚拟存储器12.分区管理和分页管理的主要区别是()。

A.分区管理中的块比分页管理中的页要小B.分页管理有地址映射而分区管理没有C.分页管理有存储保护而分区管理没有D.分区管理要求一道程序存放在连续的空间内而分页管理没有这种要求。

13.静态重定位的时机是()。

A.程序编译时B.程序链接时C.程序装入时D.程序运行时14.通常所说的“存储保护”的基本含义是()A.防止存储器硬件受损B.防止程序在内存丢失C.防止程序间相互越界访问D.防止程序被人偷看15.能够装入内存任何位置的代码程序必须是( )。

操作系统 110440113-王力.第五章

答:在页式管理系统中,进程的若干个页被离散的储存在内存的多个存储块中,为了能找到每个页所对应的存储块。系统为每个进程建立了一张页表。进程中所有的页,依次在页表中有一页表项,其中记录了相应页在内存中的物理块号。
4.什么是动态链接?用哪种存储管理方案可以实现动态链接?
答:动态链接是指进程在运行时,只将进程对应的主程序段装入内存,在主程序段运行过程中,当需要用到哪个子程序段或数据段时,再将这些段调入内存,并与主程序段连接。通常段式管理方式可以以程序段为单位进行调度。
5.某进程的大小为25F3H字节,被分配到内存的3A6BH字节开始的地址。但进程运行时,若使用上、下界寄存器,寄存器的值是多少?如何进行存储保护?若使用地址、限长寄存器,寄存器的值是多少?如何进行存储保护?
答:上、下限寄存器:
上限寄存器的值是3A6BH,下限寄存器的值是3A6BH+25F3H=605EH。访问地址只能大于3A6BH而小于605EH,否则产生越界中断。
(2)写出该进程每一页在内存的起始地址。
答:第0页的起始地址是2*4KB=8KB。
第1页的起始地址是4*4KB=16KB。
第2页的起始地址是7*4KB=28KB。
第3页的起始地址是5*4KB=20KB。
(3)逻辑地址4146对应的物理地址是多少?
答:4146%4*1024=1……50,对应的块号是4,则对应的物理地址是4*4*1024+50=16434
答:如果物理空间变为2MB,块的大小不变,故块号的数目为1024个即10个二进制位。
8.某页式存储管理系统,内存的大小为64KB,被分为16块,块号为0、1、2、……、15。设某进程有4页,其页号为0、1、2、3,被分别装入内存的2、4、7、5,问:

第五章2分页存储管理

力的特殊高速缓冲存储器,又称“联想存储
器”或“快表”。
快表中存放最近访问的页表项。
三、具有快表的地址变换机构 2.地址变换过程
页表 寄存 器 页表 始址 页表 长度 > 越界 中断 逻辑 地址 L 页号 页内 地 址
+ 页号 块号 输 b 入 寄 存 器 页表 快表 b 页号 块号
b
d
物理 地址
5.3 分页存储管理方式
5.3 分页存储管理方式
答案:页面大小为1KB,页内位移为10位,逻辑地址为十六 进制,转换为二进制,右边10位即为页内位移d,其余左边 高位为页号P。 OAC5H=0000101011000101B p=2, d=02C5H,查快表,得物理地址(4)2C5H 0EC3H=0000111011000011B p=3, d=02C3H,查快表,得物理地址(A)2C3H 12C5H=0001001011000101B p=4, d=02C5H,该页号不在快表,需到主存页表项中 寻找对应物理块号,得内存物理块号P=9,d=02C5H,得 物理地址(9)2C5H 62C3H=0110001011000011B p=24, d=02C3H,页号超出页表范围,不可转换,作 为越界处理。
5.3.1 分页存储管理的基本方法
二、地址结构
5.3 分 页 存 储 管 理 方 式
31
页号P
12 11
位移量W
0
若给定一个逻辑地址空间中的地址为A,页面 的大小为L,则页号P和页内地址d可按下式求得:
A P INT L d [ A ] MODL
5.3.1 分页存储管理的基本方法
块号 页内地址 物理地址
5.3.2 地址变换机构
二、基本地址变换机构 示意图

第五、六章存储器管理练习题

第五、六章存储器管理练习题(一)单项选择题1.存储管理的目的是( )A、方便用户 B.提高主存空间利用率 C.方便用户和提高主存利用率 D.增加主存实际容量2.动态重定位是在作业的( )中进行的。

A.编译过程 B.装入过程 C.修改过程 D.执行过程3.提高主存利用率主要是通过( )实现的。

A.内存分配 B.内存保护 c.地址转换 D.内存扩充4.可变分区管理方式按作业需求量分配主存分区,所以( )。

A.分区的长度是固定 B.分区的个数是确定的C.分区长度和个数都是确定的 D.分区的长度不是预先固定的,分区的个数是不确定的5.( )存储管理不适合多道程序系统。

A.一个分区 B.固定分区 C.可变分区 D.段页式6.可变分区管理方式下( )分配作业的主存空间。

A.根据一张主存分配表 B.根据一张已分配区表和一张空闲区表C.根据一张“位示图”构成的主存分配表 D.由系统自由7.可变分区常用的主存分配算法中不包括( )。

A.最先适应分配算法 B.顺序分配算法 C.最优适应分配算法 D.最坏适应分配算法8.在可变分区方式管理下收回主存空间时,若已判定“空闲区表第j栏始址=归还的分区始址+长度”,则表示( )。

A.归还区有下邻空闲区 B.归还区有上邻空闲区C.归还区有上、下邻空闲区 D.归还区无相邻空闲区9.当可变分区方式管理内存空间去配时,要检查有无相邻的空闲区,若归还区始地址为S,长度为L,符合( )表示归还区有上邻空闲区。

A.第j栏始址=S+L B.第j栏始址+长度=SC.第j栏始址+长度=S且第k栏始址=S+L D.不满足A、B、C任一条件10.碎片现象的存在使( )。

A.主存空间利用率降低 B.主存空间利用率提高C.主存空间利用率得以改善 D.主存空间利用率不受影响11.最佳适应分配算法把空闲区( )。

A.按地址顺序从小到大登记在空闲区表中 B.按地址顺序从大到小登记在空闲区表个C.按长度以递增顺序登记在空闲区表中 D.按长度以递减顺序登记在空闲区表中12.分页存储管理时,每读写一个数据,要访问( )主存。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

windows
5.20
Steps in Handling a Page Fault
windows
5.21
Page Replacement 页面置换
在进程运行过程中,如果发生缺页,此时内存中又无空闲
块时,为了保证进程能正常运行,就必须从内存中调出一 页程序或数据送磁盘的对换区。但将哪个页面调出,则须 根据一定的页面置换算法来确定。 .
存储管理
本章内容
内存管理概述
Windows 2000/XP内存管理 Windows 2000/XP外存管理 Windows 2000/XP高速缓存管理
windows
5.2
内存管理概述技术
Swapping 交换技术
Contiguous Allocation 连续分配
windows
5.16
Two-Level Page-Table Scheme
windows
5.17
Address-Translation Scheme
Address-translation scheme for a two-level 32-bit paging
architecture (一个两级32位分页结构的地址转换机制)
Paging 分页
Segmentation 分段
Segmentation with Paging 段页式
Demand Paging 请求页式
windows 5.4
Background
存储器是计算机系统的
重要组成部分,虽然内 存容量在不断扩大,但 内存仍是宝贵资源,如 何提高主存储器利用率 ,并扩充大主存,对主 存信息实现有效保护是 存储器管理主要任务, 也是各种不同存储管理 方法的目标
虚拟存储的基本原理


windows
5.19
Demand Paging
在请求分页系统中的每个页表项如图所示:




状态位P(存在位):用于指示该页是否已调入内存,供程序访问时 参考。 访问字段A:用于记录本页在一段时间内被访问的次数,或最近已有 多长时间未被访问,提供给置换算法选择换出页面时参考。 修改位M:表示该页在调入内存后是否被修改过。由于内存中的每一 页都在外存上保留一份副本,因此,若未被修改,在置换该页时就 不需将该页写回到外存上,以减少系统的开销和启动磁盘的次数; 若已被修改,则必须将该页重写到外存上,以保证外存中所保留的 始终是最新副本。 外存地址:用于指出该页在外存上的地址,通常是物理块号,供调 入该页时使用。
a page number consisting of 20 bits. a page offset consisting of 12 bits. Since the page table is paged, the page number is further divided into : a 10-bit page number. (一个10位的页号) a 10-bit page offset. (一个10位的偏移) Thus, a logical address is as follows :
功能:需要调入页面时,选择内存中哪个物理页面被置换
。称为replacement policy。
出发点:把未来不再使用的或短期内较少使用的页面调出
,通常只能在局部性原理指导下依据过去的统计数据进行 预测。
从理论上讲,应将那些以后不再被访问的页面换出,或把
那些在较长时间内不会再被访问的页面换出。
Internal fragmentation program, no external
fragmentation. associative memory or translation look-aside buffers (TLBs) 联想寄存器(快表)
windows 5.9
Address Translation Scheme(地址变换机制)
Hierarchical Paging
分级页表
Hashed Page Tables 哈希页表 Inverted Page Tables 反向(反置)页

windows
5.13
Hierarchical Page Tables
x86的逻辑地址空间有232Byte,如页面大小为4KB(
212Byte),则页表项达1M(220)个,每个页表项占 用4Byte,故每个进程的页表占用4MB内存空间,还 要求是连续的,显然这是不现实的。
行时可以在内存中移动,则地址绑定要延迟到运行时。需要硬件对地 址映射的支持MMU (例如基址和限长寄存器)
windows 5.7
Multistep Processing of a User Program
windows
5.8
Paging(分页)
Divide physical memory into fixed-sized blocks called
。)
31 Page number 12 11 page offset 0

p 地址结构
d
windows
5.10
Address Translation Architecture(地址变换机构)
windows
5.11
Paging Example
windows
5.12
Page Table Structure


page number p1 10
page offset
p2
10
d 12
where p1 is an index into the outer page table, and p2 is the displacement
within the page of the outer page table.
Address generated by CPU is divided into ( CPU产生的地址被分为) :

Page number (p) (页码) – used as an index into a page table which contains base address of each page in physical memory.(它包含每个页在物理内存中的基址,用来作为页表的索引) Page offset (d) (偏移)– combined with base address to define the physical memory address that is sent to the memory unit. (同基址相结合,用来确定送入内存单元的物理内存地址
分解逻辑地址空间到多个页表 一个简单的技术是两级页表
在x86中,为了减少页表所占用的连续的内存空间, 采用了两级页表机制。 Windows , Linux 。
windows
5.14
Two-Level Paging Example
A logical address (on 32-bit machine with 4K page size) is divided into :
frames (size is power of 2, between 512 bytes and 8192 bytes). (把物理内存分成大小固定的块,称为帧或 页框。) Divide logical memory into blocks of same size called pages. (把逻辑内存也分位固定大小的块,称为页。) Set up a page table to translate logical to physical addresses. (设置一个页表以便把逻辑地址转换为物理地 址。) 页表page table列出了进程的逻辑页与其在主存中的物理 帧间的对应关系
生成绝对代码;如果开始位置改变,需要重新编译代码
Load time (装入时期) : Must generate relocatable code if
memory location is not known at compile time.如果内存位置
在编译时不知道,则必须生成可重定位代码
Execution time (执行时期) : Binding delayed until run
windows
5.5
Background
Logical address逻辑地址(相对地址,虚地址):用户的
程序经过汇编或编译后形成目标代码,目标代码通常采用 相对地址的形式。

其首地址为0,其余指令中的地址都相对于首地址来编址。 不能用逻辑地址在内存中读取信息。
Physical address物理地址(绝对地址,实地址):内存
windows
5.22
Page Replacement Algorithms
First-In-First-Out Page Replacement (FIFO,先进先出页面置换算法
)
Optimal Page Replacement (OPT,最佳页面置换算法):选择“未来
不再使用的”或“在离当前最远位置上出现的”页面被置换。 Least Recently Used Page Replacement (LRU,最近最久违用算法): 选择内存中最久未使用的页面被置换。由于需要记录页面使用时间的 先后关系,硬件开销太大。 LRU Approximation Algorithms 近似LRU算法(NRU) Additional-Reference-Bits Algorithm附加引用位算法 Second-Chance Algorithm二次机会算法(clock算法) Enhanced Second-Chance Algorithm增强二次机会算法(改进 型的clock算法)
相关文档
最新文档