陈斌彬的技术博客

Stay foolish,stay hungry

存储管理notes

1

img

根据题意,页面变换表中状态位等于0和1分别表示页面不在内存或在内存,所以0、2和4号页面在内存。当访问的页面3不在内在时,系统应该首先淘汰未被访问的页面,因为根据程序的局部性原理,最近未被访问的页面下次被访问的概率更小;如果页面最近都被访问过,应该先淘汰未修改过的页面。因为未修改过的页面内存与辅存一致,故淘汰时无需写回辅存,使系统页面置换代价小。经上述分析,0、2和4号页面都是最近被访问过的,但2和4号页面都被修改过而0号页面未修改过,故应该淘汰0号页面。试题(25)的正确选项为A。根据题意,页面大小为4KB,逻辑地址为十六进制2C25H其页号为2,页内地址为C25H,查页表后可知页帧号(物理块号)为4,该地址经过变换后,其物理地址应为页帧号4拼上页内地址C25H,即十六进制4C25H。

2

img

img

3

img

img

8192 = 2^3 * 2^10 = 2^13
8192/32 = 2^13 /2^5 = 2^8 = 256

4

img img

5

img img

6

在地址映射过程中,若在页面中发现所要访问的页面不在内存中,则产生缺页中断。当发生缺页中断时,操作系统必须在内存中选择一个页面将其移除内存,以便为即将调入的页面让出空间。而用来选择淘汰哪一页的规则叫做页面置换算法。

最佳置换算法(OPT):所选择的被淘汰页面将是以后永不使用的,或者是最长时间内不被访问的页面,这样可以保证获得最低的缺页率。

先进先出算法(FIFO):优先淘汰最早进入的页面,也就是在内存中停留时间最长的页面。

最近最久未使用算法(LRU):选择最近最长时间未被访问过的页面进行淘汰。

最少使用(LFU)置换算法、工作集算法、NRU算法等

6.1

img

解析:系统为每个作业分配三个页面的主存控件,其中一个存放程序,另外两个存放的是:二位数组A[128,,128]共128行,128列,所以每行都有128个整型变量。因为矩阵A按行序排列,又因为一个页面可以存放128个整数变量,所以一个页面存放矩阵A中的一行,两个页面存放矩阵A中的两行。其用最近最少使用页面淘汰算法(淘汰最久未被访问的页面,如1、2行先进入页面,当第三行进入页面的时候,第一行相对于第二行就是最久未被访问的页面,所以淘汰第一行,第三行进入主存)如下分析

img

  由以上分析可知,最后留在内存中的是矩阵A的最后两行,因为是一行一行的进入的,而且内存中允许两个页面存在,再有前5行进入主存的规律分析,所以是最后两行127行和128行。

7

img

解析:如题,系统存在6个页面,1~2存放指令,3~6将来要用来存放A的源地址和B的目标地址,当执行指令的时候,系统会去访问A的源地址和B的目标地址,因为AB本身没有存在主存中,所以每次访问的页面不在主存中,就会发生一次缺页中断。即访问AB时,3~6的页面都会发生缺页中断,即发生4次缺页中断。

整个程序中有6个页面,若发生3次中断,应该就是进入主存3~5页面时发生了中断,那时程序里有3~5页面再内存里,即3个页面。

8

设文件索引节中有8个地址项,每个地址项大小为4字节,其中5个地址项为直接地址索引,2个地址项是一级间接地址索引,1个地址项是二级间接地址索引,磁盘索引块和磁盘数据块大小均为1KB。若要访问文件的逻辑块号分别为5和518,则系统分别采用______;而且可表示的单个文件最大长度是_____KB。

  解析:

   (1)磁盘索引块和磁盘数据块的块长1024字节,索引块号长8*4=32字节,所以一个索引可以存放1024/32=32个盘块号.

  直接索引可寻址的文件的最大长度1个块(1*1K=5/8KB)因为磁盘索引块的块长1024字节(1个块)

  一级索引可寻址的文件的最大长度32个块(32*1024B=32KB)

  二级索引可寻址的文件的最大长度N=32*32=1024个盘块(1024*1024B=1MB=1024KB)

  题中是求第5个块和518个块,分别是一级间接地址索引(1<5<32+1)和二级间接地索引(32+1<518<1024+32+1)

  (2)1024/4=256 

     1024/32=32个块

    5个直接地址对应的文件大小5*1=5KB

    2个一级间接地址对应文件大小2*256*1=512KB

    1个二级间接地址对应文件大小1*256*256*1=65536KB

    单个文件的最大长度为:5+512+65536=66053KB

9

img

img

10

img

11

img

12

img

13

img img

14

img

15

img img