多道程序设计操作系统是什么
多道程序设计操作系统 是一种操作系统的能力,可以在单处理器的机器上执行多个程序。
在同一时间内,主存储器中存在多个任务、程序或作业。
缓冲和假脱机处理可以重叠I/O和 CPU 任务以提高系统性能,但它也有一些限制,即一个单用户不能始终保持CPU或I/O繁忙。
为了提高资源利用率,采用了多道程序设计方法。
Operating System |
---|
Job1 |
Job2 |
— |
Job N |
Empty space |
操作系统可以在内存中选择并启动一个作业的执行,只要该作业不需要CPU,这意味着该作业正在进行I/O操作时,CPU就处于空闲状态。此时,操作系统切换到内存中的另一个作业,并执行其中的一部分,直到该作业发出I/O请求,依此类推。
假设P1和P2是主存中存在的两个程序。操作系统选择一个程序并开始执行。
在执行过程中,如果P1程序需要进行I/O操作,那么操作系统将简单地切换到P2程序。如果P2程序需要进行I/O操作,那么再次切换到P3,依此类推。
如果在P3之后没有其他程序了,那么CPU将把控制权交给前一个程序。
优点
多道批处理操作系统的优点如下:
- CPU利用率高,因为CPU从不处于空闲状态。
-
内存利用率高效。
-
CPU吞吐量高,还支持多个交互式用户终端。
缺点
多道批处理操作系统的缺点如下:
- CPU调度是强制性的,因为有很多作业准备在CPU上同时运行。
-
当作业正在执行时,用户无法与作业进行交互。
-
程序员也无法修改正在执行的程序。
如果有多个作业准备在主存中运行,但没有足够的空间容纳它们,那么系统必须通过进行决策来选择它们,这个过程叫做作业调度。
当操作系统从一组作业中选择一个作业并将其加载到内存中进行执行时,就需要内存管理,如果有多个这样的作业准备就绪,则需要CPU调度。