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