3.3.2 控制原语

一、原语

(一)系统态下执行的某些具有特定功能的程序段——原语。

(二)分类:

1、机器指令级:执行期间不允许中断。

2、功能级:不允许并发执行。

(三)特点:不可分割,或者全执行或者不执行。

(四)作用:

在系统态下执行,且都是为了完成某个系统管理所需要的功能和被高层软件调用。

(五)在操作系统中,一般都把进程控制用的程序段做成原语,用于进程控制的原语有:创建原语、撤消原语、阻塞原语、唤醒原语等。

二、进程创建

(一)创建方式

1、由系统统一创建。例如在批处理系统中,由操作系统的作业调度程序为用户进程创建相应的进程以完成用户作业所要求的功能。

2、由父进程创建。例如在UNIX操作系统中,父进程创建子进程以完成并行工作。

(二)创建原语

三、撤消进程

(一)原因

1、该进程已完成所要求的功能——正常终止;

2、由于某种错误导致进程撤消——非正常终止;

3、祖先进程要求撤消子孙进程——非正常终止。

(二)方法——调用撤消原语

1、撤消原语

2、思考:谁调用撤消原语?

四、进程阻塞

(一)原因:资源请求且未被满足。资源可以是:输入数据,写数据到设备,与其它进程交换数据,……

(二)阻塞原语

(三)思考:谁调用阻塞原语?

五、进程唤醒

(一)原因:请求的资源被满足。

(二)进程唤醒方法

1、由系统进程唤醒:系统统一控制事件的发生并将“事件发生”这一消息通知等待进程。

2、由事件发生进程唤醒:在这种情况下,事件发生进程和唤醒进程之间是合作关系。

(三)唤醒原语