第二章进程管理 多道程序设计 进程 进程间的相互作用 进程间的通信 进程控制 进程调度(CPU调度) 死锁
第二章 进程管理 • 多道程序设计 • 进程 • 进程间的相互作用 • 进程间的通信 • 进程控制 • 进程调度(CPU调度) • 死锁
21多道程序设计 顺序程序 并发程序 多道程序设计
2.1 多道程序设计 • 顺序程序 • 并发程序 • 多道程序设计
2.1.1.顺序程序 程序: 指令或语句序列,体现了某种算法,所有程序是 顺序的 顺序环境: 在计算机系统中只有一个程序在运行,这个程序 独占系统中所有资源,其执行不受外界影响
2.1.1.顺序程序 程序: 指令或语句序列,体现了某种算法,所有程序是 顺序的 顺序环境: 在计算机系统中只有一个程序在运行,这个程序 独占系统中所有资源,其执行不受外界影响
2.1.1.顺序程序 特征: 程序执行的顺序性 程序执行的封闭性 独占资源,执行过程中不受外界影响 程序结果的可再现性 程序运行结果与程序执行速度无关,只 要初始状态相同,结果应相同
2.1.1.顺序程序 特征: • 程序执行的顺序性 • 程序执行的封闭性 独占资源,执行过程中不受外界影响 • 程序结果的可再现性 程序运行结果与程序执行速度无关,只 要初始状态相同,结果应相同
2.12并发程序 并发环境: 在一定时间内物理机器上有两个或两个以 上的程序同处于开始运行但尚未结束的 状态,并且次序不是事先确定的
2.1.2 并发程序 并发环境: 在一定时间内物理机器上有两个或两个以 上的程序同处于开始运行但尚未结束的 状态,并且次序不是事先确定的 A B A B B A A B
2.1.2并发程序 特征 (1)程序结果的不可再现性 并发程序执行的结果与其执行的相对 速度有关,是不确定的 (2)在并发环境下程序的执行是间断 性的 执行停执行
2.1.2 并发程序 特征: (1)程序结果的不可再现性 并发程序执行的结果与其执行的相对 速度有关,是不确定的 (2)在并发环境下程序的执行是间断 性的 执行——停——执行
特征 (3)资源共享 系统中资源被多个进程使用 (4)独立性和制约性 独立的相对速度、起始时间 进程之间可相互作用(相互制约) 可分为直接作用和间接作用 5)程序和计算不再一对应 (计算:一个程序的执行)
特征: (3)资源共享 系统中资源被多个进程使用 (4)独立性和制约性 独立的相对速度、起始时间 进程之间可相互作用(相互制约) 可分为直接作用和间接作用 (5) 程序和计算不再一一对应 (计算:一个程序的执行)
2.12并发程序 引入并发的目的 引入并发是为了提高资源利用率,从而提 系统效率 并发与并行概念的区别: concurrency, parallel
2.1.2 并发程序 引入并发的目的: 引入并发是为了提高资源利用率,从而提 高系统效率。 并发与并行概念的区别: concurrency,parallel
例 CPU DEV CPU DEV」CPU 0 40 S 10 15 20 B十 DEV CPU DEV CPU DEV 10 20 25 30 40 t(s 在顺序环境下 cPU利用率=40/80= DEV利用率5975% DEV2利用率=3125%
在顺序环境下 CPU利用率= 40/80 = 50% DEV1利用率=18.75% DEV2利用率= 31.25% CPU DEV CPU DEV CPU A 10 15 20 30 40 t(s) DEV CPU DEV CPU DEV B 10 20 30 40 t(s) 25 例:
例 CPU DEVI -- CPU DEV2 CPU 20 3035 45 T( DEVI CPU DEV2 CPU DEV2 在并发环境下CPU利用=89% DEV并发环境下利用=33% DEV2并发环境下利用=66%
例: 在并发环境下 CPU利用=89% DEV1并发环境下利用=33% DEV2并发环境下利用=66% 0 10 20 30 35 45 CPU DEV1 --- CPU DEV2 CPU DEV1 CPU DEV2 CPU ---- DEV2 T(s)