2017年中国人民公安大学安全工程823计算机学科专业基础综合[专业硕士]之计算机操作系统考研题库
● 摘要
一、选择题
1. 下列选项中,不可能在用户态发生的事件是( )。
A. 系统调用
B. 外部中断
C. 进程切换
D. 缺页
【答案】C
【解析】判断能否在用户态执行的关键在于事件是否会执行特权指令。
首先看A 项,系统调用是系统提供给用户程序调用内核函数的,当用户程序执行系统调用时,会使CPU 状态从用户态切换至系统态并执行内核函数,执行结束之后将控制权还给用户程序,并且CPU 状态从系统态切换至用户态。从这个过程可以看出,虽然系统调用的执行过程中CPU 需要切换至系统态,但系统调用(或者引用、调用)是在用户态发生的,是系统特意为用户态设计的,因此系统调用可以发生在用户态。
B 项为外部中断,很多考生会被中断二字影响,认为涉及中断的都应该是系统态的事情,而不能在用户态执行,因此选错。中断在系统中经常发生,如键盘输入会引发外部中断(外部中断
;是指由外部事件引起的中断,比如鼠标单击和键盘输入等操作引起的中断)进程缺页会产生缺页
中断等,这些都经常发生在用户进程中,自然这些也都是用户态的事件。以键盘输入举例,一个
,用户进程需要用户输入一串命令,当用户用键盘输入时会引发外部中断(此时CPU 还是用户态)
,处理程序处理之后将输此时系统会切换至系统态执行中断处理程序(这时CPU 转变为系统态)
入结果返回给用户程序并将CPU 状态切换为用户态,中断处理结束。由此过程可见,中断的发生和处理与系统调用类似,都是发生在用户态,通过切换至系统态完成对应功能,然后返回至用户态。系统调用和中断的发生是在用户态,处理是在系统态。
,看D 项,缺页与B 项类似,用户态执行进程缺页时会产生缺页中断(中断发生在用户态)
然后系统转入系统态进行缺页中断处理,然后再返回用户态,将控制权交还给用户进程。因此D 项也可以发生在用户态。
根据排除法知道答案是C 项,进程切换实际上是对于程序状态的修改,因此要修改程序状态字,这是特权指令,必须在系统态执行。
2. 有关进程的说法不正确的是( )
A. 操作系统通过PCB 来控制和管理进程,用户进程可从PCB 中读出与本身运行状态相关的信息。
B. 用户进程被创建时,系统为它申请和构造一个相应的PCB 。
C. 进程的优先级信息是保存在进程的PCB 中的。
D. 同一个程序是不能被创建成多个进程的。
【答案】D
【解析】一个应用程序通常有多个进程组成。程序是构成进程的组成部分之一,一个进程的运行目标是执行它所对应的程序。从静态的角度看,进程是由程序、数据和进程控制块(PCB )三部分组成的。
3. 若一个用户进程通过read 系统调用读取一个磁盘文件中的数据,则下列关于此过程的叙述中,正确的是( )。
若该文件的数据不在内存中,则该进程进入睡眠等待状态
请求read 系统调用会导致CPU 从用户态切换到核心态
read 系统调用的参数应包含文件的名称
A. 仅
B. 仅
C. 仅 D.
【答案】A
【解析】当用户进程读取的磁盘文件数据不在内存时,转向中断处理,导致CPU 从用户态切
,因此I 、II 换到核心态,此时该进程进入睡眠等待状态(其实就是阻塞态,只不过换了个说法)
正确。
在调用read 之前,需要用open 打开该文件,open 的作用就是产生一个文件编号或索引指向打开的文件,之后的所有操作都利用这个编号或索引号直接进行,不再考虑物理文件名,所以read
系统调用的参数不应包含物理文件名。文件使用结束后要用dose 关闭文件,消除文件编号或索引。
4. CTU 输出数据的速度远远高于打印机的打印速度,为解决这一矛盾,可采用( )。
A. 并行技术
B. 通道技术
C. 缓冲技术
D. 虚存技术
【答案】C
5. 中断处理和子程序调用都需要压栈以保护现场。中断处理一定会保存而子程序调用不需要保存其内容的是( )。
A. 程序计数器
B. 程序状态字寄存器
C. 通用数据寄存器
D. 通用地址寄存器
【答案】B
【解析】本题考查的是中断处理和子程序调用所保存内容的区别,可以先从两者的作用不同来考虑。中断的发生通常是突然的,如地址越界等,往往是系统无法预知的(外部输入中断也是无法预知的,计算机不会知道用户什么时候用键盘输入)。当系统发生中断时要转入中断处理程序,处理完之后要返回到发生中断时的指令处继续执行,由于处理中断时CPU 可能会切换状态(如果
,在系统态发生中断则始终为系统态,不需要切换)所以中断处理返回时就需要还原当时的程序状
态,包括处理器信息等,这就用到了程序状态字(PSW )寄存器所存储的内容。程序状态字寄存器用于记录当前处理器的状态和控制指令的执行顺序,并且保留和指示与运行程序有关的各种信息,其主要作用是实现程序状态的保护和恢复。所以中断处理时一定要将PSW 压栈保存。
子程序调用是系统能够预知的,而且子程序调用通常是在进程内部执行,不会更改程序状态,即便更改程序状态,只要更新寄存器就行,而不需要保存,因为一切都是系统预料到的,不需要保护和恢复。因此,子程序调用主要保存局部参数信息等,不需要将PSW 压栈。
中断处理和子程序调用对其他3个选项的操作都是相同的。
6. 下列选项中,降低进程优先权级的合理时机是( )。
A. 进程的时间片用完
B. 进程刚完成I/O操作,进入就绪列队
C. 进程长期处于就绪列队
D. 进程从就绪状态转为运行态
【答案】A
【解析】本题的解答关键在于找出哪个选项中的进程应当被赋予低优先级。
A 项中,采用时间片算法处理进程调度时,如果进程时间片用完,则需要暂停执行,并插入到就绪队列的末尾,也就是优先级最低,所以降低优先级的合理时机是时间片用完时。另外,如果采用多级反馈调度算法,当时间片用完,进程还未结束,则要放到下一级队列中;
B 项中,进程完成I/O操作后,进入就绪队列时应当排在就绪队列末尾,其是优先级最低的进程,不应再降低其优先级,而且为了让其及时处理I/O结果,可以适当提高优先级;
C 项中,进程长期处于就绪队列,需要增加优先级使其尽快得到执行,不然会产生饥饿现象
; (所谓饥饿就是进程长期得不到处理机,无法执行)
D 项中,当进程处于运行状态时,已经无所谓优先级,通常优先级都是针对就绪队列中进程的,执行中的和阻塞中的进程一般不用优先级来描述。
7. 对于处理机调度中的高响应比调度算法,通常,影响响应比的主要因素可以是( )。
A. 程序长度
B. 静态优先数
C. 运行时间
相关内容
相关标签