【操作系统】进程管理
一、为什么要引入进程的概念
程序的顺序执行=>程序的并发执行 =>进程的概念
1、程序的顺序执行
特点:顺序性,封闭性,可再现性
问题:不能使输入机,处理器和打印机同时忙碌
2、程序的并发执行
-
宏观并行:用户看到多个程序同时向前推进
-
微观串行:任意时刻一个CPU上只有一个程序在执行
特点:
-
间断性 :程序在CPU上执行时,是时断时续的
-
失去封闭性 :系统的状态不再只对正在执行的程序可见
-
不可再现性:同一个程序在输入相同的情况下多次运行,可能出现不同的结果 (抢票软件)
程序并发执行:同一个程序在不同数据集合上执行
二、进程和程序的定义
2、进程和程序的比较和联系
三、进程控制块
进程实体包括用户正文段、用户数据段和进程控制块
四、进程的状态和组织方式
1、进程的状态
2、进程的组织方式(进程控制块的组织方式)
2.2.1、连接方式
2.2.2、索引方式
2.2.3、进程队列
五、操作系统对进程的控制
1、控制动作
2、操作系统内核
3、同步机制遵循的职责
-
空闲让进 :没有进程处于临界区,应允许一个请求进入临界区的进程进入
-
忙则等待 :临界区已有进程,其他试图进入临界区的进程必须等待
-
有限等待 :对于要访问临界资源的进程,应保证有限时间内进入临界区
-
让权等待 :申请不到访问权,应释放处理机,以免浪费CPU资源
3、同步机制的种类和执行原理
3.1、整型信号量机制
3.2、记录型信号量机制
4、进程之间的通信
-
共享存储器系统 :相互通信的进程共享某些数据结构或共享存储区
-
消息传递系统 :进程间通过操作系统提供的一组通信程序传递消息
-
管道通信 :进程间通过管道(链接读写进程的特殊文件)进行信息通信
-
消息缓冲队列 :利用消息缓冲区、发送原语和接收原语实现信息通信
六、线程
1、线程和进程之间的关系
1. 资源和调度。线程是程序执行的基本单位,进程是拥有资源的基本单位。
2. 通信关系。不同进程的地址空间是相互独立的,而同一进程中的各线程共享同一地址空间。
3. 通信关系。进程之间的通信必须使用操作系统提供的进程间通信机制,而同一进程中的各线程间可以通过直接通信。
4. 并发性。多进程之间可以并发执行,多线程之间也可以并发执行。
5. 系统开销。线程切换的开销比进程切换的开销小。