
一、单项选择题
23. 处理外部中断时,应该由操作系统保存的是( )。
A.程序计数器(PC)的内容 B.通用寄存器的内容
C.快表(TLB)中的内容 D.Cache中的内容
答案:B。处理中断时,系统进入内核态的第一件事情就是保存通用寄存器的内容。
24.假定下列指令已装入指令寄存器,则执行时不可能导致CPU从用户态变为内核态(系统态)的是( )。
A.DIV R0,R1;(R0)/(R1)→R0
B.INT n;产生软中断
C.NOT R0;寄存器R0的内容取非
D.MOV R0,addr;把地址addr处的内存数据放入寄存器R0中
答案:C。A会发生0除,D会发生缺页中断。
25.下列选项中,会导致进程从执行态变为就绪态的事件是( )。
A.执行P(wait)操作 B.申请内存失败
C.启动I/O设备 D.被高优先级进程抢占
答案:D。送分题
26.若系统S1采用死锁避免方法,S2采用死锁检测方法。下列叙述中,正确的是( )。
Ⅰ.S1会限制用户申请资源的顺序,而S2不会
Ⅱ.S1需要进程运行所需资源总量信息,而S2不需要
Ⅲ.S1不会给可能导致死锁的进程分配资源,而S2会
A.仅Ⅰ、Ⅱ B.仅Ⅱ、Ⅲ
C.仅Ⅰ、Ⅲ D.Ⅰ、Ⅱ、Ⅲ
答案:B。
27.系统为某进程分配了4个页框,该进程已访问的页号序列为2,0,2,9,3,4,2,8,2,4,8,4,5。若进程要访问的下一页的页号为7,依据LRU算法,应淘汰页的页号是A.2 B.3 C.4 D.8
答案:A。倒数找到第4个不重复的数字即可,5,4,8,4,2,就是2.
28.在系统内存中设置磁盘缓冲区的主要目的是( )。
A.减少磁盘I/O次数 B.减少平均寻道时间
C.提高磁盘数据可靠性 D.实现设备无关性
答案:A。
29.在文件的索引节点中存放直接索引指针10个,一级和二级索引指针各1个。磁盘块大小为1KB,每个索引指针占4个字节。若某文件的索引节点已在内存中,则把该文件偏移量(按字节编址)为1234和307400处所在的磁盘块读入内存,需访问的磁盘块个数分别是( )。
A.1、2 B.1、3 C.2、3 D.2、4
答案:B。文件偏移量(按字节编址)为1234,则在第1块中存储(从0开始计数),可在直接索引节点(已在内存)中读取磁盘块地址,访问磁盘块,所以,将文件偏移量(按字节编址)为1234处所在的磁盘块读入内存,需访问的磁盘块个数为1。文件偏移量(按字节编址)为307400,则307400/1024 = 300, 307400%1024 =200,该地址在第300块中(从0开始计数)。直接访问块号为0~9,一级访问块号为10~265,那么第300块应在二级索引中,所以,需要访问一级索引、二级索引,然后读第300块,需要读取3个磁盘块。
30.在请求分页系统中,页面分配策略与页面置换策略不能组合使用的是( )。
A.可变分配,全局置换 B.可变分配,局部置换
C.固定分配,全局置换 D.固定分配,局部置换
答案:C。
31.文件系统用位图法表示磁盘空间的分配情况,位图存于磁盘的32~127号块中,每个盘块占1024个字节,盘块和块内字节均从0开始编号。假设要释放的盘块号为409612,则位图中要修改的位所在的盘块号和块内字节序号分别是( )。
A.81、1 B.81、2
C.82、1 D.82、2
答案:C。一个盘块有8192位,409612/8192=50, 409612%8192= 12,所以,盘块号为409612对应位图中的盘块号为32+50=82,在块内字节序号为1.
32.某硬盘有200个磁道(最外侧磁道号为0),磁道访问请求序列为:130,42,180,15,199,当前磁头位于第58号磁道并从外侧向内侧移动。按照SCAN调度方法处理完上述请求后,磁头移过的磁道数是( )。
A.208 B.287
C.325 D.382
答案:C。磁头从58磁道开始 58->130->180->199->42->15,计算移过的磁道数为72,50,19,157,27,合计325
二、综合应用题
45.(9分)有A、B两人通过信箱进行辩论,每个人都从自己的信箱中取得对方的问题,将答案和向对方提出的新问题组成一个邮件放人对方的信箱中。假设A的信箱最多放M个邮件,B的信箱最多放N个邮件。初始时A的信箱中有x个邮件(0
CoBeginA {
while(TRUE){
从A的信箱中取出一个邮件;
回答问题并提出一个新问题;
将新邮件放入B的信箱;
}
}B {
while(TRUE){
从B的信箱中取出一个邮件;
回答问题并提出一个新问题;
将新邮件放入A的信箱;
}
}
CoEnd
当信箱不为空时,辩论者才能从信箱中取邮件,否则等待。当信箱不满时,辩论者才能将新邮件放入信箱,否则等待。请添加必要的信号量和P、 V(或wait、signal)操作,以实现上述过程的同步。要求写出完整的过程,并说明信号量的含义和初值。
答案要点:
互斥信号量mutexA,用来实现两个进程互斥地使用A用户的邮箱,其初值为1;
互斥信号量mutexB,用来实现两个进程互斥地使用B用户的邮箱,其初值为1;
同步信号量emptyA和fullA用来实现A和B进程的同步使用A的邮箱,emptyA指可接收邮件数,fullA指已接收邮件数,因初始时A邮箱中有x件邮件,因此,emptyA的初值为M-x,fullA的初值为x;
同步信号量emptyB和fullB用来实现A和B进程的同步使用B的邮箱,emptyB指可接收邮件数,fullB指已接收邮件数,因初始时B邮箱中有y件邮件,因此,emptyB的初值为N-y,fullB的初值为y.
算法描述如下:
Semaphore mutexA=1;
Semaphore mutexB=1;
Semaphore emptyA=M-x;
Semaphore fullA=x;
Semaphore emptyB=N-y;
Semaphore fullB=y;
CoBeginA {
while(TRUE){
P(fullA);
P(mutexA)
从A的信箱中取出一个邮件;
V(mutexA)
V(emptyA)
回答问题并提出一个新问题;
P(emptyB)
P(mutexB)
将新邮件放入B的信箱;
V(mutexB);
V(fullB);
}
}B {
while(TRUE){
P(fullB);
P(mutexB)
从B的信箱中取出一个邮件;
V(mutexB)
V(emptyB)
回答问题并提出一个新问题;
P(emptyA)
P(mutexA)
将新邮件放入A的信箱;
V(mutexA);
V(fullA);
}
}
CoEnd
46.(6分)某计算机系统按字节编址,采用二级页表的分页存储管理方式,虚拟地址格式如下所示:10位10位12位
页目录号页表索引页内偏移量
请回答下列问题。
(1)页和页框的大小各为多少字节?进程的虚拟地址空间大小为多少页?
(2)假定页目录项和页表项均占4个字节,则进程的页目录和页表共占多少页?要求写出计算过程。
(3)若某指令周期内访问的虚拟地址为0100 0000H和0111 2048H,则进行地址转换时共访问多少个二级页表?要求说明理由。
答案要点:(1)页和页框大小均为4 KB。进程的虚拟地址空间大小为232/212=220页。
(2)(210×4)/212(页目录所占页数)+ (210×4)/212 (页表所占页数)×210 =1025页。
(3)需要访问一个二级页表。因为虚拟地址0100 0000H和0111 2048H的最高10位的值都是4,访问的是同一个二级页表。
本文主要探讨了操作系统在处理中断和指令执行时的机制。详细分析了如何在中断处理中保存通用寄存器内容,以及哪些指令可能引起CPU状态变化。同时,讨论了进程状态转换,特别是从执行态到就绪态的情况。此外,文章还涉及了死锁避免和检测策略的差异,以及在请求分页系统中页面分配和置换策略的应用。最后,提到了磁盘空间管理和文件系统的索引节点操作。
2万+

被折叠的 条评论
为什么被折叠?



