本文主要参考《计算机操作系统(第四版)》(西安电子科技大学出版社)以及清华大学操作系统公开课(向勇、陈渝),整理操作系统的基本概念,供自己复习查阅。
进程控制是进程管理中最基本的功能,一般由内核中的原语(Primitive)实现。
操作系统会提供给其他模块所需要的一些基本功能,其中包含三个最基本的支撑功能。
中断处理是内核最基本的功能,是整个操作系统的基础,操作系统中的许多重要活动都依赖于中断,如:系统调用、键盘输入、进程调度、设备驱动。
时钟管理是内核的一项基本功能,操作系统中的许多活动需要时钟支撑,如:时间片轮转调度。
原语即由若干命令组成的用于完成一定功能的一个过程,最重要的一点是,它是原子操作,即不可拆分的基本单位。原语在被执行的过程中不允许中断。
操作系统允许一个进程创建另一个进程。
在UNIX系统中,由这种创建与被创建引出的是,进程是存在层次关系的,进程与其子孙进程构成了一个进程家族,PCB中包含了一个家族关系表,标明自己的父进程及所有子进程。
而在Windows中不存在层次概念,所有进程都具有相同地位。特殊地,一个进程在创建另一个进程时可以获得一个句柄(Handle),用来控制被创建的进程,而且句柄是可以被传递的。以句柄为基础,进程之间的关系简化为控制与被控制的关系。
典型的有四类事件会导致一个进程创建另一个进程:
每当系统中出现创建进程的请求,系统就会调用创建原语Creat,按以下步骤创建新进程:
如果系统中发绳了要求终止进程的事件,系统就回调用进程的终止原语,并按以下步骤终止进程:
阻塞是一种主动行为。正在执行的进程遇到引起阻塞的事件时,便会调用阻塞原语Block将自己阻塞。
唤醒是一种被动行为。当被阻塞进程期待的事件发生时,有关进程就回调用唤醒原语wakeup将等待该事件的进程唤醒。
如之前提到的,操作系统还可以挂起和激活进程,对应挂起原语suspend和激活原语active。
Operating System: Process Control
原文:https://www.cnblogs.com/Li-F/p/11870314.html