2017年西藏大学藏文信息技术研究中心844计算机学科专业基础综合之计算机操作系统考研题库
● 摘要
一、选择题
1. 在支持多线程的系统中,进程P 创建的若干个线程不能共享的是( )。
A. 进程P 的代码段
B. 进程P 中打开的文件
C. 进程P 的全局变量
D. 进程P 中某线程的栈指针
【答案】D
【解析】进程是资源分配的基本单元,进程下的各线程可以并行执行,它们共享进程的资源,包括地址空间、持有资源、相关变量和代码等,但各个线程有自己的栈,这样各线程才能够独立执行程序而不相互干扰,各自的栈指针对其他线程是透明的,因此进程P 中某线程的栈指针是不能共享的。
这里有一个小技巧:线程共享进程的资源,但不能共享线程的资源。因此,只要选择明确归属于某线程的选项即可。选项中只有D 项是明确归属于某线程的,因此为正确答案。
2. 使用SPOOLing 系统的目的是为了提高( )的使用效率。
A. 操作系统
B. 内存
C.CPU
D.I/O设备
【答案】D
【解析】SPOOLing 系统具有如下主要特点:(1)提高了I/O的速度。(2)将独占设备改造为共享设备。(3)实现了虚拟设备功能。
3. 早期微型机中,不常用的I/O信息交换方式是( )。
A. 程序查询方式
B. 中断方式
C.DMA 方式
D. 通道方式
【答案】D
4. 存储管理的目的是( )。
A. 方便用户
B. 提高内存利用率
C. 方便用户和提高内存利用率
D. 増加内存实际容量
【答案】C
【解析】存储管理的目的有两个:一是方便用户,二是提高内存利用率。
5. 操作系统实现( )存储管理的代价最小。
A. 分区
B. 分页
C. 分段
D. 段页
【答案】A
【解析】实现分页、分段和段页式存储管理都需要特殊的硬件的支持,因而代价比较高。分区存储管理是满足多道程序运行的最简单的存储管理方案,这种管理方法特别适用于小型机、微型机上的多道程序系统。
6. 文件系统中设立打开(Open )系统调用的主要目的是( )。
A. 把文件从辅存读到内存
B. 把文件的控制信息从辅存读到内存
C. 把文件的FAT 表信息从辅存读到内存
D. 把磁盘文件系统的控制管理信息从辅存读到内存
【答案】A
【解析】Open 操作是将基本文件目录中的内容读入到用户活动文件表中,并在系统活动文件表中记录文件的打开次数。
7. 若某单处理机多进程系统中有多个就绪进程,则下列关于处理机调度的叙述中,错误的是( )。
A. 在进程结束时能进行处理机调度
B. 创建新进程后能进行处理机调度
C. 在进程处于临界区时不能进行处理机调度
D. 在系统调用完成并返回用户态时能进行处理机调度
【答案】C
【解析】首先要注意本题选的是错误项,看题一定要仔细。其次要注意本题选项的说法,例如A 项“在进程结束时能进行处理机调度”,而不是“必须进行调度”或“只能在此时进行调度”,因此A 项的含义仅仅是此处可以调度,并非一定要调度或者只能此时调度,类似的B 项、D 项也是如此。这也是容易判断出错的一个地方。
接下来分析选项,A 项是进程结束时可以进行处理机调度,明显是正确的。一个进程结束后,进程撤销,处理机此时应当处理下一个进程了,因此会出现处理机调度,A 项正确。
B 项中关键词为“创建新进程后”。在创建新进程后,会将新进程插入到就绪队列中等待调度执行,接下来会发生如下几种情况:(1)处理机继续执行当前任务;(2)该新建进程比较紧急,处理机暂停当前活动转而调度执行该进程(系统为可抢占调度策略)。因此,当紧急任务进入就绪状态时,可能会发生处理机调度,B 项也正确。
C 项的关键词是“在临界区”和“不能”。进程在临界区时是不允许其他相关进程进入临界区的,因为当前进程正在访问临界资源,其他进程无法访问。但问题的关键在于系统中还存在着与这类进程无关的其他进程,其
他进程的执行并不会受到这类进程是否处于临界区的影响。系统可以暂停该进程的执行,先去处理其他与之无关的紧急任务,处理完后再返回来继续执行剩余的临界区代码。这个过程中就
,因此当进程处于临界区时,也可能会发生处理机调会发生处理机调度(因为处理机干别的去了)
度,C 项错误。
D 项很简单。系统调用结束之后返回正常执行的过程中,此时肯定可以进行处理机调度切换执行其他的进程,因此D 项正确。
8. 某计算机系统中有8台打印机,由K 个进程竞争使用,每个进程最多需要3台打印机。该系统可能会发生死锁的K 的最小值是( )。
A.2
B.3
C.4
D.5
【答案】C
【解析】假设K=3, 3个进程共享8台打印机,每个进程最多可以请求3台打印机,若3个进程都分别得到2台打印机,系统还剩下2台打印机,然后无论哪个进程申请打印机,都可以得到满足,3个进程都可以顺利执行完毕,这种情况下不会产生死锁。假设k=4, 4个进程共享8台打印机,都得不到满足,产生了互相等待,可能会发生死锁。
如果觉得这种思路不够简略,换个说法或许更好理解。根据组合数学中鸽巢原理的思想,考虑极端情况,因为每个进程最多需要3台,当每个进程都已经占用了2台时,如果仍然有空闲打印机,则必定能满足某个进程3台的条件;如果没有,则死锁。所以,将8个打印机分给K 个进程的极端情况就是K 为4, 刚好每个进程2台,没有剩余。
这类型的题通常数字不大,可以凭经验给出正确答案,这样或许会快一些。下面给出对应计算公式,以便大家加深理解。假设n 为每个进程所需的资源数,m 为进程数,A 为系统的资源数,则满足^的最小整数m 即为可能产生死锁的最小进程数,该公式同样可以用于求出每个进程需要多少资源时可能会产生死锁。
该公式可以这样理解:当所有进程都差一个资源就可以执行,此时系统中所有资源都已经分配,因此死锁,其思想和鸽巢原理类似。
相关内容
相关标签