进程的基本概念 Process Concept ◆进程的引入 ◆进程的定义和特征 ◆进程的基本状态及其转换 ◆具有挂起功能的进程状态及其转换
进程的基本概念 Process Concept 进程的引入 进程的定义和特征 进程的基本状态及其转换 具有挂起功能的进程状态及其转换
进程的引入 多道程序系统的特点是并行性。为了充分利用 系统资源,在主存中同时存放多道作业运行, 所以各作业之间是并行的 各程序由于同时存在于主存中,它们之间必定 会存在相互依赖,相互制约的关系。(间接制 约关系、直接制约关系) ◆在多道程序系统所带来的复杂环境中,程序具 有了并行、制约、动态的特性,原来的程序概 念,难以刻画系统中的情况 程序本身完全是静态的概念 程序概念也反映不了系统中的并行特性
进程的引入 多道程序系统的特点是并行性。为了充分利用 系统资源,在主存中同时存放多道作业运行, 所以各作业之间是并行的 各程序由于同时存在于主存中,它们之间必定 会存在相互依赖,相互制约的关系。 (间接制 约关系、直接制约关系) 在多道程序系统所带来的复杂环境中,程序具 有了并行、制约、动态的特性,原来的程序概 念,难以刻画系统中的情况。 – 程序本身完全是静态的概念 – 程序概念也反映不了系统中的并行特性
1、程序的顺序执行 ◆一个较大的程序通常都是由若干个程序段组成 在程序执行时,必须按照某种先后次序逐个执 行,仅当前一操作执行完后,才能执行后继操 作。 例如:在进行计算时,总是先输入用户的程序和数 据,然后才能计算,计算完成后再将结果打印出来
1、程序的顺序执行 一个较大的程序通常都是由若干个程序段组成。 在程序执行时,必须按照某种先后次序逐个执 行,仅当前一操作执行完后,才能执行后继操 作。 – 例如:在进行计算时,总是先输入用户的程序和数 据,然后才能计算,计算完成后再将结果打印出来
程序顺序执行时的前驱图 对于一个程序段中的多条语句来说,也有一个执行顺序 Y8的问题。如果对于下述三条语句的程序段: S,: a=X+y s: b=a-5 s: C=b+ (其中S2必须在a被赋值以后才能执行;同样S3也只能在b 被赋值以后才能执行)
I1 C1 P1 P2 I2 C2 程序顺序执行时的前驱图 对于一个程序段中的多条语句来说,也有一个执行顺序 的问题。如果对于下述三条语句的程序段: S1: a=x+y S2: b=a-5 S3: C=b+1 (其中S2必须在a被赋值以后才能执行;同样S3也只能在b 被赋值 以后才能执行)
2、程序顺序执行时的特征 ◆顺序性 处理机的操作,严格按照程序所规定的顺序执行, 即只有前一操作结束后,才能执行后继操作。 ◆封闭性(失去交换性) 程序是在封闭的环境下运行的。即程序在运行时 它独占全机资源,因而机内各资源的状态(除初始 状态外),只有程序才能改变它。程序一旦开始运 行,其执行结果不受外界因素的影响。 可再现性 只要程序执行时的环境和初始条件都相同,不论它 是从头到尾的不停顿的执行,还是“走走停停”地 执行,都将获得相同的结果
2、 程序顺序执行时的特征 顺序性 – 处理机的操作,严格按照程序所规定的顺序执行, 即只有前一操作结束后,才能执行后继操作。 封闭性(失去交换性) – 程序是在封闭的环境下运行的。即程序在运行时, 它独占全机资源,因而机内各资源的状态(除初始 状态外),只有程序才能改变它。程序一旦开始运 行,其执行结果不受外界因素的影响。 可再现性 – 只要程序执行时的环境和初始条件都相同,不论它 是从头到尾的不停顿的执行,还是“走走停停”地 执行,都将获得相同的结果
3.多道程序的并发执行 计算机能够同时处理多个具有独立功能的程序(批 处理系统,分时系统、实时系统、网络与分布式系 统)。这样的执行环境具有三个特点: 独立性 随机性 资源共享 硬件资源:CPU、输入输出设备,存储器 软件资源:各种例行程序、各种共享的数据 多道程序环境下执行程序的道数>计算机系统中cPU 的个数 单cPU中,则由N—1道程序处在等待CPU的状态 输入输出设备有限将导致这些设备被共享、内存有 限将导致内存被共享
3. 多道程序的并发执行 – 计算机能够同时处理多个具有独立功能的程序(批 处理系统,分时系统、实时系统、网络与分布式系 统)。这样的执行环境具有三个特点: • 独立性 • 随机性 • 资源共享 – 硬件资源:CPU、输入输出设备,存储器 – 软件资源:各种例行程序、各种共享的数据 – 多道程序环境下执行程序的道数>计算机系统中CPU 的个数 – 单CPU中,则由N-1道程序处在等待CPU的状态 – 输入输出设备有限将导致这些设备被共享、内存有 限将导致内存被共享
程序并发执行可分为两种: 多道程序系统的程序执行环境变化所引起的多 道程序的并发执行 由于资源有限,多道程序的并发执行总是伴随着资 源的共享与竞争,制约了各道程序的执行速度。 ◆在某道程序段中,包含着一部分可以同时执行 或顺序颠倒执行的代码 例如:read(a); read (b) 既可以同时执行,也可以颠倒次序执行,同时执行 不会改变顺序程序所具有的逻辑行为,可采用并发 执行来充分利用资源
程序并发执行可分为两种: 多道程序系统的程序执行环境变化所引起的多 道程序的并发执行 由于资源有限,多道程序的并发执行总是伴随着资 源的共享与竞争,制约了各道程序的执行速度。 在某道程序段中,包含着一部分可以同时执行 或顺序颠倒执行的代码 例如:read(a); read(b); 既可以同时执行,也可以颠倒次序执行,同时执行 不会改变顺序程序所具有的逻辑行为,可采用并发 执行来充分利用资源
程序并发执行 组逻辑上相互独立的程序或程序段在执行 过程中,其执行时间在客观上相互重叠,即 个程序段的执行尚未结束,另一个程序段的执 行已经开始的这种执行方式
程序并发执行 一组逻辑上相互独立的程序或程序段在执行 过程中,其执行时间在客观上相互重叠,即一 个程序段的执行尚未结束,另一个程序段的执 行已经开始的这种执行方式
程序的并发执行 程序并发执行时的前驱图
程序的并发执行 I1 I2 I I3 4 C1 C2 C3 P1 C4 P2 P3 P4 程序并发执行时的前驱图
4程序并发执行时的特征 ◆间断性 程序在并发执行时,由于它们共享资源或为完成某 一项任务而合作,致使在并发程序之间存在相互制 约的关系。(、C、P是三个相互合作的程序,当计 算程序完成Ci-1的计算后,如果输入程序尚未完成 对的处理,则计算程序无法进行C处理,致使计算 程序在停运行。) ◆失去封闭性 程序在并发执行时,是多个程序共享系统中的各种 资源,因而这些资源的状态将由多个程序来改变, 致使程序的运行失去了封闭性
4.程序并发执行时的特征 间断性 – 程序在并发执行时,由于它们共享资源或为完成某 一项任务而合作,致使在并发程序之间存在相互制 约的关系。(I、C、P是三个相互合作的程序,当计 算程序完成Ci-1的计算后,如果输入程序I尚未完成 对Ii的处理,则计算程序无法进行Ci处理,致使计算 程序在停运行。) 失去封闭性 – 程序在并发执行时,是多个程序共享系统中的各种 资源,因而这些资源的状态将由多个程序来改变, 致使程序的运行失去了封闭性