进程的定义、组成、组织方式和特征
知识总览
进程的定义
进程的组成
进程的组织方式
进程的特征
进程的状态与转换
进程的状态
进程是程序的一次执行,在这个执行的过程中,有时进程正在被CPU处理,有时又需要等待CPU服务,可见,进程的状态是会有各种各样的变化,为了方便对各个进程的管理,操作系统需要将进程合理地划分为几种状态
- 运行状态(基本状态)
占有CPU,并且在CPU上运行
注意:单核处理机环境下,每一时刻最多只有一个进程处于运行态(双核环境下可以同时有两个进程处于运行状态)
- 就绪状态(基本状态)
已经具备运行条件,但由于没有空闲CPU,而暂时不能运行
进程已经拥有了除处理机之外所有需要的资源,一旦获得处理机,即可立即进入运行态开始运行,即:万事俱备,只欠CPU
- 阻塞状态(基本状态)
可以称为等待态,因等待某一事件而暂时不能运行
如:等待操作系统分配打印机,等待读磁盘操作的结果。CPU是计算机最昂贵的部件,为了提高CPU的利用率,需要先将其他进程需要的资源分配到位,才能得到CPU的服务
- 创建状态
操作系统需要完成创建进程,操作系统为该进程分配所需的内存空间等系统资源,并为其创建,初始化PCB(如:为进程分配PID)
- 终止状态
进程运行结束(或者由于Bug导致进程无法继续执行下去,比如数组越界错误)需要撤销进程,这个时候操作系统就需要完成撤销进程相关的工作,完成将分配给进程的资源回收,撤销进程PCB等工作
进程状态之间的转换
什么情况下需要进行进程状态之间的转换?
进程控制
进程控制的主要功能是对系统中的所有进程实施有效的管理,它具有创建新进程,撤销已有进程,实现进程状态转换等功能。
简单理解:反正进程控制就是要实现进程状态的转换
如何实现进程的控制?
进程控制的相关原语
进程通信
顾名思义,进程通信就是指进程之间的信息交换,进程是分配系统资源的单位(包括内存地址空间),因此各进程拥有的内存地址空间相互独立
为了保证安全,一个进程不能直接访问另一个进程的地址空间,但是进程间的安全通信,操作系统提供一些方法
- 进程通信——共享存储
-
进程通信——管道通信
-
进程通信——消息传递
线程概念和多线程模型
有些进程可能需要“同时”做很多事情,而传统的进程只能串行地执行一系列程序,为此,引入“线程”,来增加并发度
在传统的进程当中进程是程序执行流的最小单位(但是在引入线程后,线程成为程序执行流的最小单位)