计算机操作系统2–进程
文章目录
1 程序的执行
1.1 程序的顺序执行
一个应用程序由多个程序段组成,每个程序段完成特定的功能,在执行时,都需要按照某种先后次序顺序执行。顺序执行时具有以下特征
- 顺序性
- 封闭性
- 可再现性
1.2 程序的并发执行
引言: 程序顺序执行的缺点:系统资源利用率低–>在系统中引入多道程序技术,使程序或程序段间能并发执行。
只有不存在前驱关系的程序之间才有可能并发执行。
程序并发执行,提高了系统的吞吐量和资源利用率,但由于它们共享资源,以及合作的关系,形成相互制约。并发执行具有以下特点:
- 间断性,执行–暂停–执行
- 失去封闭性,系统资源被共享
- 不可再现性,由于失去封闭性,计算结果与并发程序的执行速度有关
2 进程
2.1 进程的定义及特征
通常的程序时不能参与并发执行的,为了对并发执行的程序加以描述控制,引入“进程”的概念。
为使并发执行的程序(含数据)能独立地运行,操作系统中必须配置专门的数据结构,称进程控制块(Process Control Block, PCB)来描述进程的基本情况和活动过程。
进程实体(进程映像):
- 程序段、相关数据段
- PCB
所谓创建进程,实质上是创建进程实体中的PCB。
定义总结: 进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。
进程的特征:
- 动态性,“由创建而生,由调度而执行,由撤销而消亡”
- 并发性,引入进程的目的就是为了实现并发
- 独立性,进程实体是一个能独立运行、独立获得资源和独立接收调度的基本单位。
- 异步性,进程间存在两种制约关系,使其运行不受自身所控制。
- 间接相互制约
- 直接相互制约
2.2 进程的基本状态和转换
- 进程的三种基本状态
- 就绪
- 执行
- 阻塞
进程在运行过程中会经常发生 三种状态之间的转换
- 创建状态和终止状态
- 挂起操作下进程状态的转换
2.3 进程控制
进程控制是进程管理中最基本的功能,包括
-
进程创建
-
进程终止
- 正常结束,进程完成,自行退出
- 异常结束,出现异常,被迫退出
- 外界干预,外界请求,被动退出
-
进程的阻塞与唤醒 block & wakeup
以下事件会引起进程的阻塞,以及唤醒:- 向系统请求共享资源失败
- 等待某种操作的完成
- 新数据尚未到达
- 等待新任务的到达
-
进程的挂起与激活 suspend & active
2.4 进程同步
引言: 为保证多个进程有条不紊地运行,在多道程序系统中,必须引入进程同步机制。
进程存在的两种制约关系,使其运行不受自身所控制
1. 主要任务:实现可再现性
对多个相关进程在执行次序上进行协调,使并发执行的诸多进程之间能按照一定的规则(或时序)共享系统资源,并能很好地相互合作,从而使程序的执行具有可再现性。
2. 进程同步机制:
- 硬件同步机制
- 信号量机制
- 管程机制
3. 进程的互斥访问:
对于临界资源,多个进程之间只能互斥地进行访问。
- 临界资源:
- 硬件临界资源
- 软件临界资源
访问临界资源的循环进程描述如下:
while(True)
{进入区
临界区
退出区
剩余区}
临界区:
控制进程访问临界资源的程序
经典的互斥与同步问题:生产-消费者问题
2.5 进程通信
1. 低级进程通信:
由于进程的互斥与同步,需要在进程间交换一定的信息。
在进程之间要传送大量数据时,要用高级通信工具:
- 使用方便
- 高效传输大量数据
2. 高级通信机制:
- 共享存储器系统
- 管道通信系统
- 消息传递系统
- 客户机-服务器系统
3 线程与进程调度
线程是调度和分派的基本单位