OS考研复习习题+2009考研试题 联系客服

发布时间 : 星期六 文章OS考研复习习题+2009考研试题更新完毕开始阅读

(2)内存分配最基本的任务是为每道程序分配内存空间,其他追求的主要目标是提高存储空间的利用率。

(3)为了提高内存保护的灵活性,内存保护通常由软件实现。 (4)交换技术已不是现代操作系统中常用的一种技术。

(5)地址映射是指将程序空间中的逻辑地址变为内存空间的物理地址。 (6)虚拟存储器能在物理上扩充内存容量。 11、碎片最严重的存储管理方式是()

(1)固定分区;(2)可变分区;(3)分页;(4)分段。

12、某程序在逻辑地址100处有一条指令LOAD 1,500,而500单元内存放数据51888.假设程序被分配到内存起始地址5000单元时,试用图示意,采用下述各种方式下的该指令及数据地址的物理地址及相应的地址变换过程。 (1)静态重定位。

(2)采用重定位寄存器实现动态重定位。

(3)采用页表映像方式,假定页面大小为100B,其页面各页存放到50、51、52、?59物理块上。

13、在分页、分段和段页式存储管理中,当访问一条指令时,需要访问内存几次?各做什么操作?

4.3 连续分配

1、有一个系统其内存容量为1024KB,有8个作业同时到达,各作业需要的内存量何运行时间如表所示: 作业编号 1 2 3 4 5 6 7 8 需要内存量(KB) 140 80 100 60 50 30 15 20 运行时间(s) 3 1 3 2 1 3 2 3 假定系统初启时,将内存1024KB按作业的编号顺序分给各道作业,并假定是多CPU下,分配到内存的作业都可以立即运行。问:(1)1s后,内存空白区按首次适应何最佳适应算法的链接方式链接,将如何链接?(2)2s后,其内存空白区按上述两种算法如何链接?(3)在(2)后,此时有一个作业9要求进入内存,它需要内存量为12KB,按上述两种算法,将把哪一块空白区分给它?

2、在某多道程序系统中,供用户使用的内存空间为100KB,磁带机2台,打印机1台。系统采用可变式分区分配方式管理内存,对磁带机和打印机采用静态分配方式,并假设输入、输出操作的时间忽略不计。现有一作业序列如表所示: 作业号 到达时间 要求计算时间(min) 要求内存(KB) 申请磁带机数 申请打印机数 1 2 3 4 5 8:00 8:20 8:20 8:30 8:35 25 10 20 20 15 15 30 60 20 10 1 1 1 1 1 1 1 假设作业调度采用先来先服务算法,优先分配内存的低地址区域且不准移动已在内存中的作业,问:作业的调度顺序是什么?平均周转时间是多少?作业全部执行结束的时间是什么? 3、unix中,关于交换进程的叙述,正确的有()。(选项:(1)交换进程用于实现虚拟存储系统;(2)换出进程时,注意不换出正被共享的正文段;(3)当对换区有就绪进程且内存有足够空间时,则立即把它换入内存;(4)为了换进一个进程而必须换出别的进程时,总是先换出睡眠态进程)

4、以下有关可变分区管理的说法中,判断:

(1)可变分区管理常采用的内存分配算法包括最先适应、最佳适应和最坏使用算法。 (2)最先适应算法实现简单,但碎片过多使内存空间利用率降低。 (3)最佳适应算法是最好的算法,但后到的较大作业很难得到满足。

(4)最差适应算法总是挑选最大的空闲区用于分割,使得剩下的分区仍可使用。 5、在某系统中采用基址、限长寄存器的方法来保护存储信息,判断是否越界的判别式为()。 6、假定存储器空闲块有如下结构:

350B250B500B 请构造一串内存请求序列,首次适应分配算法能满足该请求序列,而最佳适应分配算法则不能。

7、在固定分区管理中,为了提高内存的利用率,可采用如下技术()

(1)按经常出现的作业大小来划分分区。(2)按作业对内存空间的需求量组成多个作业请求队列。(3)不同作业请求队列中的作业可以申请相同的分区。(4)大作业可以申请多个分区。

8、可变分区存储管理采用的地址转换公式是()

(1)绝对地址=界限寄存器值+逻辑地址;(2)绝对地址=下限寄存器值+逻辑地址; (3)绝对地址=基址寄存器值+逻辑地址;(4)绝对地址=块号*块长+页内地址;

9、除了操作系统所占用的存储区安排在内存顶部,其余是安排给用户的可用存储空间,采用从两头向中间的分配可变分区管理方法有何优点?

4.4 基本分页管理

1、填空:设有8页的逻辑空间,每页有1024B,它们被映射到32块的物理存储区中。那么,逻辑地址的有效位是()位,物理地址至少是()位。(西北工大00) 2、判断:在分页系统中,减少页面大小,可以减少内存的浪费,所以页面越小越好。 3、判断:在一个分页系统中,根据需要,页面的大小可以不相等(北京理工)

4、判断:页式存储管理中,用户应将自己的程序划分成若干大小相等的页面。(北航04) 5、关于分页系统的页面大小,判断:

(1)页面大的好处是页表较小。(2)页面小的好处是可以减少由内部碎片引起的内存浪费。(3)通常,影响磁盘访问时间的主要因素不在于页面的大小,所以使用时可优先考虑大的页面。

6、以下各功能中,()不需要硬件的支持。(选项:中断系统;地址映射;进程调度;时钟管理;页面调入;文件打开;) 7、一台计算机为每个进程提供65536字节的地址空间,划分为4K字节的页。一个特定的程序有32768字节的正文、16386字节的数据和15870字节的堆栈。这个程序能装入地址空间吗?如果页面长度是512字节,能放下吗? 8、分页系统中的页面是为()。

选项:用户所感知的;操作系统所感知的;编译系统所感知的;连接装配程序所感知的。 9、联想存储器中的页,其信息()

(1)一点在外存中;(2)一定在外存和内存中;(3)一定在内存中;(4)以上说法都不对。

4.5 基本分段管理

1、判断:段页式结合了段式和页式的优点,所以段页式的内部碎片和页式一样少 2、在固定式分区管理、可变式分区管理、页式管理、段式管理、段页式管理中,各会产生何种碎片?

3、段式存储管理中,处理零头问题可采用()方法。(重定位;拼接;Spooling技术;覆盖技术)

4、采用段式存储管理时,一个程序如何分段是在()决定的。(选项:分配主存时;用户编程时;装作业时;程序执行时)

5、若段式存储管理中供用户使用的逻辑地址是24位,其中段内地址占用16位,则用户程序最多可分为()段。当把程序装入主存时,每段占用主存的最大连续区为()字节。 6、段式存储管理中分段是由用户决定的,因此()

(1)段内的地址和段间的地址都是连续的。(2)段内的地址是连续的,而段间的地址是不连续的。(3)段内的地址是不连续的,而段间的地址是连续的。(1)段内的地址和段间的地址都是不连续的。

4.6虚拟存储器基本概念

1、简述“虚拟”在操作系统中的应用。

2、判断:虚拟存储器的大小等于或小于内存和外存的容量之和。(西电) 3、判断:虚拟存储器的大小可比主存容量大,也可比主存容量小。(电子科大) 4、判断:cpu的地址空间决定了计算机的最大存储容量 5、交换扩充了主存,因此,交换也实现了虚拟存储器,对吗?

6、总体上说,按需调页是个很好的虚拟内存管理策略。但是有些情况并不适合,判断:(堆栈;线性搜索;矢量运算;二分法搜索(浙大06)

7、判断:请求页式存储管理系统中,若把页面的大小增加一倍,则缺页中断次数也减少一半。

8、在虚拟分页存储管理中,()没有优先考虑最近使用过的页面。(选项:最优页面替换算法;第二次机会算法;LRU算法;时钟页面替换算法;NFU算法;最近未使用页面算法)一台小型计算机有4个页框(页0-页3)。在第一个时钟周期时R位是0111(页0是0,其他是1)。在随后的时钟周期中这个值是1011,1010,1101,0010,1010,1100,0001。如果使用带有8位计数器的老化算法,最后一个周期后页2的计数器值是()。 9、在一个32位计算机的虚拟页式存储管理系统中,怎样解决页表非常庞大的问题?请给出具体解决方案(假设页面大小为4K,用户空间为2GB,每个内存块用4字节表示)

10、测得某个采用按需调页策略的系统部分状态数据为:CPU利用率20%,对换空间的磁盘利用率98%,其他设备的利用率5%,由此断定系统出现异常。此种情况下()能提高利用率(安装一个更快的硬盘;通过扩大硬盘容量增加对换空间;增加运行进程数;加内存条来增加物理内存容量;更换速度更快的CPU;采用更快的I/O设备。) (浙大98)

11、在请求分页系统中,地址变换过程可能会因为()、()、()等原因而产生中断。 12、在请求分页管理系统中,需要哪些数据结构?( ) 13、某请求页式系统,允许用户空间为32个页面(每页1KB),主存为16KB,若一个用户程序有10页长,某时刻该进程的页表如下所示: 虚页号 0 1 2 3 4 5 6 其他 物理块号 8 7 4 10 5 3 2 无效 是否在TLB中 是 是 否 否 否 是 是 问:(1)计算虚地址0AC5H、1AC5H对应的物理地址。

(2)页表存放在主存中,对主存的一次存取需要1.5ns,对TLB表的查找时间忽略为0,试问这两次访问共耗费多少时间?(浙大04)

14、已知某系统页面长为4KB,页表项4B,采用多层分页策略映射64位虚拟地址空间,若限定最高层页表占1页,问需要采用几层分页策略?

提示;由于每层页表的大小都不超过一页,所以每层的页号不超过10位。10*n+12>=64,所以采用6层。 15、一台机器有48位虚地址和32位物理地址,页面是8K,问在页表中需要多少个页表项?一个倒置的页表需要多少页表项呢?

16、一个程序要把100×100的数组的初值置为“0”,现在假定有两个内存块可以用来存放数组信息,每个内存块可以存放200个数组元素,数组中的元素按行编址。两个内存块的初始状态都为空,若程序编写如下: (1)int A [100,100]; For i=1 to 100