上篇博客总结了软考过程中的一些基础题型,近年来软考题型都类似,相信举一反三一定能战胜。

 

页面置换算法。历年软考题都会围绕着页面置换算法出一些页面置换,缺页次数等问题。

  首先了解页面置换算法:

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

       1、分类:

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

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

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

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

  2、真题解析:

  ①某虚拟存储系统采用最近最少使用(LRU)页面淘汰算法。假定系统为每个作业分配三个页面的主存空间,其中一个页面用来存放程序。现在某作业的部分语句如下。

Var A:Array[1..128,1..128]  OF integer;
i,j:integer;
FOR i:=1 to 128 DO
    FOR j:=1 to 128 DO
        A[i,j]:=0;

 

  设每个页面可存放128个整数变量,变量i、j放在程序页中,矩阵A按行序存放。初始时,程序及变量i、j已在内存,其余两页为空。在上面程序片段执行过程中,共产生____次缺页中断。最后留在内存中的是矩阵A的最后_______。

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

行数      1   2  3   4   5   ... ...   128

 

页面一    1  1     3       3      5       ... ...       

页面二        2   2       4      4       ... ...

缺页(*)   *      *     *       *      *       *   *         *    ————————————128次缺页

 

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

  ②在某计算机中,假设某程序的6个页面如下图所示,其中某指令“COPY A TO B”跨两个页面,且源地址A和目标地址B所涉及的区域也跨两个页面。若地址为A和B的操作数均不在内存,计算机执行该COPY指令时,系统将产生_____次缺页中断;若系统产生产生三次缺页中断,那么该程序应有____个页面在内存。

  

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

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

设文件索引节中有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

   

 

 

 

 

  

 

  

posted on 2013-03-25 14:15  贞心真义  阅读(1981)  评论(4编辑  收藏  举报