多道程序设计

允许多个程序同时进入一个计算机系统的主存储器并启动进行计算的方法称为「多道程序设计」 

多道程序设计的起因是高速 CPU 与低速 I/O 设备不匹配。其根本目的在于提高CPU 利用率;提高内存利用率;提高 I/O 利用率;增加系统吞吐量。

60 年代初,发展了通道技术中断技术,这些技术的出现使监督程序在负责作业运行的同时提供 I/O 控制功能

多道程序的特征为

  1. CPU、主存和设备的利用率高
  2. 系统的吞吐率提高,单位时间内完成的作业数增加
  3. 充分发挥了系统的并行性,设备与设备之间、CPU与设备之间均可并行工作。

采用多道程序设计提高了系统效率,即增长了单位时间的算题量,但对每道程序来说,却延长了计算时间。多道程序设计技术提高资源利用率和系统吞吐率是以牺牲用户响应时间为代价的。

多道程序设计技术带来了多重处理系统

实现多道程序设计须解决三个问题:

  • 存储保护与程序浮动;
    • 内存管理技术用于有效地分配和回收内存空间,以确保多个程序可以同时驻留在内存中。
  • 处理器的管理和调度;
    • 进程管理技术用于创建、调度和终止进程,确保多个程序可以并发执行。
    • 同步与通信技术用于协调多个进程的执行,防止竞争条件和死锁。
    • 作业控制技术用于管理和调度批处理作业,使系统能够有效处理多个作业任务。
  • 系统资源的管理和调度。
    • 设备管理技术用于管理输入输出设备,使得多个进程可以共享设备资源。

特点

优点

  • 提高了 CPU 的利用率;
  • 提高了主存和 I/O 设备的利用率;
  • 改进了系统的吞吐率;
  • 充分发挥了系统的并行性。

缺点

  • 作业周转时间延长。