1. 定义
是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制之下,相互穿插的运行, 两个或两个以上程序在计算机系统中同处于开始到结束之间的状态。这些程序共享计算机系统资源。与之相对应的是单道程序,即在计算机内存中只允许一个的程序运行。
2. 特征
对于单 CPU 机器而言,所谓多道是宏观上并行、微观上串行,对于用户感知是同时有多个程序在允许,对于 CPU 内核而言其实只是微小轮转片不停的切换吃程序。只有多 CPU 才能实现真正的多道程序并行。
3. 目的
设计多道程序的目的提高 CPU 的利用率。对于客户而言,则提高设备的利用率。在多道程序环境下,多个程序共享系统的设备,大大提高系统设备的利用率。对于系统而言,提高系统的吞吐量。在多道程序环境下,用户不需要频繁等待,提高了系统的吞吐量。
4. 详解
一个进程等待I/O操作的时间与其再内存中停留的时间比为 p,当内存中同时有 n 个进程时候,CPU空转的概率为p*p*p...p,n个p相乘,那么 CPU 利用率为 1-n 个 p 相乘;其中 n 被称为道数。从上可以看出增加内存就可以增加道数,增加了道数 CPU 利用率就上升了,当然不是无限的上升。