您的位置:首页 > 其它

操作系统(CPU模式)习题

2016-06-09 17:04 316 查看
1、什么是内核态和用户态?处理器为什么要区分内核态和用户态两种操作方式?计算机如何识别?

答:内核态是指操作系统程序的运行状态,也称之为特权态。相对来说,用户态就是非特权态,在此种状态下访问的资源将受到限制。

如果一个程序运行在内核态,则该程序就可以访问计算机的任何资源,即它的资源访问权限不受限制。

如果一个程序运行在用户态,则其资源需求将受到各种限制。区分内核态和用户态两种操作方式的目的是为了保护操作系统程序

提高操作系统的可靠性安全性。处理器的程序状态字寄存器(PSW)中有一个状态位用于记录程序的运行状态,即当前程序是内核态

还是用户态,这种状态是处理器的一种状态,而不是程序的状态。

2、简述用户态切换到内核态的几种方式。

答:用户态切换到内核态主要有如下3种方式:

---- 系统调用。这是用户态进程主动要求切换到内核态的一种方式,用户态进程通过系统调用申请使用操作系统提供的的服务程序完成

工作。系统调用机制的核心还是使用了操作系统为用户特别开放的一个中断来实现。

---- 异常。当CPU在执行用户态程序时,发生了某些事先不可知的异常,这时会触发由当前运行进程切换到处理此异常的内核相关程序中,

也就转到了内核态,例如缺页异常。

---- I/O设备的中断。当I/O设备完成用户请求操作后,会向CPU发出相应的中断信号,这时CPU会暂停执行下一条即将要执行的指令,转

而去执行与中断信号对应的的处理程序,如果先前执行的指令是用户态下的程序,那么这个转换的过程自然也就发生了由用户态到内核态

的切换。例如硬盘读写操作完成,系统会切换到硬盘读写的中断处理程序中执行后续的操作。

--- 以上的这3种方式是系统在运行时由用户态转到内核态的最主要方式。

其中系统调用可以认为是用户进程主动发起的,异常外部设备中断则是被动的。

3、用户程序如何使用系统调用?

答:访管指令是一条可以在用户态下执行的指令,用户程序在编译时将调用操作系统的逻辑要求转换成一条访管指令,并设置一些参数;

当执行到访管指令,访管中断,转入内核态执行系统调用程序,实现指定功能;系统调用完成后回到用户态执行用户程序。

4、简述系统调用的概念和操作系统提供系统调用的原因。

答:系统调用也称程序接口,是程序级的接口,即用户程序可以利用系统调用提供的一组系统调用命令去调用操作系统内核中的一个

(或一组)过程来完成自己所需要的功能。

系统调用可以看作是操作系统内核应用程序之间进行交互的接口,操作系统向用户程序提供系统调用的原因是为了对系统进行“保护”

当用户程序需要系统服务,也就是要调用系统内核中的某些程序时,只能从规定的位置进入内核,这样才能保证系统的安全。

5、简述系统调用的实现过程。

答:系统调用的一般处理过程如下:

---- 系统产生软中断,由硬件完成现场保护,并通过中断向量转向系统调用总控程序,同时处理器状态由用户态切换为内核态。

---- 系统调用总控程序根据系统调用号和系统内部的系统调用入口转入相应的系统调用处理过程

---- 系统调用处理过程执行完毕后,返回执行成功与否以及成功时的执行结果给调用者,恢复中断进程新调度进程的CPU现场,

返回被中断进程或新进程运行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: