2017年西安科技大学408计算机学科专业基础综合之计算机操作系统考研导师圈点必考题汇编
● 摘要
一、选择题
1. 有两个并发执行的进程P1和P2, 共享初值为1的变量x 。P1对x 加1,P2对x 减1。
两个操作完成后,x 的值( )。 A. 可能为-1或3 B. 只能为1 C. 可能为0、1或2 D. 可能为-1、0、1或2 【答案】C
【解析】执行①②③④⑤⑥结果为1,执行①②④⑤⑥③结果为2, 执行④⑤①②⑨⑥结果为0, 结果-1无法得到。这个题目的进程之间没有同步关系,因此通过分步尝试就可以得到答案。有的题目中两个进程会有同步关系,可以画出前趋图,以防推进顺序错误。
2. 下列选项中,不可能在用户态发生的事件是( )。
A. 系统调用 B. 外部中断 C. 进程切换 D. 缺页 【答案】C
【解析】判断能否在用户态执行的关键在于事件是否会执行特权指令。
首先看A 项,系统调用是系统提供给用户程序调用内核函数的,当用户程序执行系统调用时,会使CPU 状态从用户态切换至系统态并执行内核函数,执行结束之后将控制权还给用户程序,并且CPU 状态从系统态切换至用户态。从这个过程可以看出,虽然系统调用的执行过程中CPU 需要切换至系统态,但系统调用(或者引用、调用)是在用户态发生的,是系统特意为用户态设计的,因此系统调用可以发生在用户态。
B 项为外部中断,很多考生会被中断二字影响,认为涉及中断的都应该是系统态的事情,而不能在用户态执行,因此选错。中断在系统中经常发生,如键盘输入会引发外部中断(外部中断;是指由外部事件引起的中断,比如鼠标单击和键盘输入等操作引起的中断)进程缺页会产生缺页中断等,这些都经常发生在用户进程中,自然这些也都是用户态的事件。以键盘输入举例,一个
,用户进程需要用户输入一串命令,当用户用键盘输入时会引发外部中断(此时CPU 还是用户态),处理程序处理之后将输此时系统会切换至系统态执行中断处理程序(这时CPU 转变为系统态)
入结果返回给用户程序并将CPU 状态切换为用户态,中断处理结束。由此过程可见,中断的发生和处理与系统调用类似,都是发生在用户态,通过切换至系统态完成对应功能,然后返回至用户态。系统调用和中断的发生是在用户态,处理是在系统态。
,看D 项,缺页与B 项类似,用户态执行进程缺页时会产生缺页中断(中断发生在用户态)然后系统转入系统态进行缺页中断处理,然后再返回用户态,将控制权交还给用户进程。因此D 项也可以发生在用户态。
根据排除法知道答案是C 项,进程切换实际上是对于程序状态的修改,因此要修改程序状态字,这是特权指令,必须在系统态执行。
3. 时间片轮转法进行进程调度是为了( )。
A. 多个终端都能得到系统的及时响应 B. 先来先服务
C. 优先级较高的进程得到及时响应 D. 需要CPU 最短的进程先做 【答案】A
【解析】时间片轮转法被用于分时操作系统,使得每个终端都能得到及时响应。B 项是先来先服务算法,C 项是优先级高者优先算法,D 项是短进程优先算法。
4. 若某单处理机多进程系统中有多个就绪进程,则下列关于处理机调度的叙述中,错误的是( )。
A. 在进程结束时能进行处理机调度 B. 创建新进程后能进行处理机调度 C. 在进程处于临界区时不能进行处理机调度
D. 在系统调用完成并返回用户态时能进行处理机调度 【答案】C
【解析】首先要注意本题选的是错误项,看题一定要仔细。其次要注意本题选项的说法,例如A 项“在进程结束时能进行处理机调度”,而不是“必须进行调度”或“只能在此时进行调度”,因此A 项的含义仅仅是此处可以调度,并非一定要调度或者只能此时调度,类似的B 项、D 项也是如此。这也是容易判断出错的一个地方。
接下来分析选项,A 项是进程结束时可以进行处理机调度,明显是正确的。一个进程结束后,进程撤销,处理机此时应当处理下一个进程了,因此会出现处理机调度,A 项正确。
B 项中关键词为“创建新进程后”。在创建新进程后,会将新进程插入到就绪队列中等待调度执行,接下来会发生如下几种情况:(1)处理机继续执行当前任务;(2)该新建进程比较紧急,处理机暂停当前活动转而调度执行该进程(系统为可抢占调度策略)。因此,当紧急任务进入就绪
状态时,可能会发生处理机调度,B 项也正确。
C 项的关键词是“在临界区”和“不能”。进程在临界区时是不允许其他相关进程进入临界区的,因为当前进程正在访问临界资源,其他进程无法访问。但问题的关键在于系统中还存在着与这类进程无关的其他进程,其
他进程的执行并不会受到这类进程是否处于临界区的影响。系统可以暂停该进程的执行,先去处理其他与之无关的紧急任务,处理完后再返回来继续执行剩余的临界区代码。这个过程中就,因此当进程处于临界区时,也可能会发生处理机调会发生处理机调度(因为处理机干别的去了)度,C 项错误。
D 项很简单。系统调用结束之后返回正常执行的过程中,此时肯定可以进行处理机调度切换执行其他的进程,因此D 项正确。
5. 一个正在运行的进程,当发生某一事件,将其挂在( )。
A. 等待队列 B. 运行队列 C. 就绪队列 D. 任意一个队列 【答案】A
【解析】只有在分时系统时间片完时,进程由运行转为就绪状态。一般来说,有事件发生时,进程会被挂在等待队列。
6. 最容易造成很多小碎片的可变分区分配算法是( )。
A. 首次适应算法 B. 最佳适应算法 C. 最坏适应算法 D. 以上算法都不会 【答案】B
【解析】最佳适应算法是指,根据申请在空闲区表中选择能满足申请长度的最小空闲区。此 算法最节约空间,因为它尽量不分割大的空闲区。该算法缺点是可能会形成很多很小的空闲区域。
7. 设置当前目录的主要原因是( )。
A. 节省主存空间 B. 加快文件查找速度 C. 节省辅存空间 D. 便于打开文件 【答案】B
【解析】设置当前目录后查询顺序从当前目录开始,根据局部性原理,在当前目录找到的概
相关内容
相关标签