单选题 28.下列说法中,正确的有( )。
Ⅰ.清除内存、设置时钟都是特权指令,只能在内核态(系统态、管态)下执行
Ⅱ.用0作除数将产生中断
Ⅲ.用户态到内核态的转换是由硬件完成的
Ⅳ.在中断发生后,进入中断处理的程序可能是操作系统程序,也可能是应用程序
【正确答案】 A
【答案解析】Ⅰ正确,在双重操作模式(即内核态利用户态)中,用户把能引起损害的机器指令作为特权指令,只允许在内核态下执行特权指令。
判断以下指令是特权指令吗? (√)改变存储器管理的寄存器。 (√)写程序指针。 (×)读取日期时钟。 (√)设置日期时钟。 (√)改变处理器的优先级。 (√)访管指令。 (√)系统重启动。 (√)读取程序状态字。 (√)关闭中断。 (√)写指令寄存器。
Ⅱ错误,用0作除数将产生异常而不是中断。这里考查中断和异常的概念区分。中断和异常是导致处理器转向正常控制流之外的代码的两种操作系统条件。 中断是异步事件,并且与处理器当前正在执行的任务毫无关系。中断主要由硬件(如I/O设备、处理机、时钟或定时器)引起,是随机发生的事件,另外中断可以被允许,也可以被禁止。
异常是同步事件,是某些特定指令执行的结果,在同样的条件下用同样的数据第二次运行一个程序可以重现异常。异常的例子有内存访问违例、特定的调试器指令(如int 3),以及除0错误等。
Ⅲ正确,计算机通过硬件中断机制完成由用户态到内核态的转换。
Ⅳ错误,进入中断处理的程序在内核态执行,是操作系统程序,不可能是应用程序。