文档介绍:进程与进程管理
要点
基础:进程描述及控制
策略:进程调度
实现:互斥与同步
避免:死锁与饥饿
解决:几个经典问题
关于:进程通信
进程的概念
现代操作系统的重要特点:程序的并发执行及系统所拥有的资源被共享和系统的用户随机地使用。
操作系统的重要任务之一:使用户充分、有效地利用系统资源。
程序顺序执行
程序:源代码、目标程序和可执行程序
程序执行:编辑、编译、链接、执行
程序的结构:顺序结构、分支结构和循环结构。
进程的引入(一)
前趋图:是一个有向无环图。图中的每个结点用于表示一条语句、一个程序段或进程;结点间的有向边表示在两个结点之间存在的偏序或前趋关系。
S1
S2
S3
S4
4条语句的前趋图
进程的引入(二)
程序顺序执行:是指若干个程序或程序段之间必须按照某种先后次序逐个执行,仅当前一项操作执行完成后,才能执行后继操作。
程序顺序执行时具有以下特征:
(1)顺序性
(2)封闭性
(3)确定性
(4)可再现性
程序执行的顺序性
处理机的操作严格按程序规定的顺序执行,即只有前一操作结束后才能执行后继操作
程序执行的封闭性
程序一旦开始运行,其执行结果不受外界因素的影响
程序执行结果的确定性
程序执行的结果与它的执行速度、时间无关
程序结果的可再现性
程序执行时的环境和初始条件相同,当程序多次重复执行时,都将获得相同的结果
进程的引入(三)
多道程序系统中程序执行环境的变化
在许多情况下,需要计算机能够同时处理多个具有独立功能的程序。批处理系统、分时系统、实时系统以及网络与分布式系统等都是这样的系统。
执行环境具有三个特点:
独立性:每道程序都是逻辑上独立的,它们之间不存在逻辑上的制约关系。
随机性:在多道程序环境下,特别是在多用户环境下,程序和数据的输入与执行开始时间都是随机的。
资源共享:资源共享将导致对进程执行速度的制约。
进程的引入(四)
程序并发执行:是指两个或两个以上的程序或程序段可在同一时间间隔内同时执行。
即:内存中可同时驻留多个运行中的程序,它们共享CPU和各种系统资源,以并发的方式进行运算。硬件是并行操作,即不同设备可以在同一时刻一起操作。
程序的并发执行卓有成效地提高了系统的吞吐量。
程序并发执行的新特征:间断性;失去封闭性;不可再现性;资源共享;程序与计算不再一一对应。
程序并发执行特征
程序执行的间断性
(1)并发程序可能会因相互竞争系统资源或为了完成某一共同任务相互合作,而产生某种制约关系。例如,当I2执行完后,如果C1还没有完成,C2只有等待CPU空闲。
(2)程序什么时候执行,什么时候暂停,不完全由程序自身决定。
程序执行失去封闭性
并发程序共享系统资源,而资源的使用状态由多个程序来改变,这样,一个程序的执行必须会受到其他程序直接或间接的影响。例,当CPU被某个程序占用时,其他想使用CPU的程序必须等待。