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处理,致使计算 程序在停运行。) 失去封闭性 – 程序在并发执行时,是多个程序共享系统中的各种 资源,因而这些资源的状态将由多个程序来改变, 致使程序的运行失去了封闭性