多道程序设计 vs 分时操作系统

2025年4月22日 | 阅读 5 分钟

多道程序设计是在计算机系统中分配多个并发程序及其资源。多道程序设计通过允许不同用户有效地利用 CPU 和 I/O 设备来提高 CPU 的利用率。多道程序设计确保 CPU 始终有任务可执行,从而提高 CPU 的利用率。

另一方面,分时是指同时共享计算资源给多个用户。由于这将允许多个用户同时使用单个计算机系统,因此会降低提供计算能力成本。

多道程序设计操作系统

多道程序设计是在多个程序之间快速切换 CPU。程序通常由多个任务组成。一个任务以请求移动数据而结束,这需要执行一些 I/O 操作。多任务处理通常用于在当前正在运行的程序执行 I/O 操作时使 CPU 保持忙碌。与执行其他指令相比,I/O 操作非常慢。

Multiprogramming vs. Time Sharing Operating System

即使程序包含很少的 I/O 操作,程序的大部分时间也花在这些 I/O 操作上。因此,利用这段空闲时间并允许另一个程序利用 CPU 将提高 CPU 的利用率。多道程序设计最初是在 20 世纪 50 年代末作为 操作系统 的一项功能开发的,并首次用于大型机计算。随着虚拟内存和虚拟机技术的引入,多道程序设计的应用得到了增强。它没有固定的进程时间片。其主要目的是资源利用。

多道程序设计操作系统的优点

多道程序设计操作系统具有以下优点

  • CPU 无空闲时间
  • 多道程序设计系统可以最快地监视,因为所有任务都并行运行。
  • 响应时间更短
  • 最大化计算机的总作业吞吐量
  • 提高资源利用率

多道程序设计操作系统的缺点

以下是多道程序设计操作系统的一些缺点

  • 有时长作业必须等待很长时间
  • 跟踪所有进程有时很困难
  • 需要 CPU 调度
  • 需要高效的内存管理
  • 在执行期间,用户无法与任何程序进行交互

分时操作系统

分时是一种技术,它使位于不同终端的许多人能够同时使用某个计算机系统。分时是多道程序设计的逻辑扩展。在这种分时操作系统中,许多进程在各自的时间段内被分配计算机资源。在这个系统中,处理器的时间与多个用户共享。因此,它被称为分时操作系统。它为不同的进程设定了固定的时间片。其主要目的是交互式响应时间。

Multiprogramming vs. Time Sharing Operating System

CPU 通过在多个作业之间切换来执行多个作业,但切换非常频繁。因此,用户可以获得即时响应。操作系统使用 CPU 调度和多道程序设计为每个用户提供少量时间。主要设计为批处理系统的计算机系统已被修改为分时系统。

多道批处理系统和分时系统之间的主要区别在于,在多道批处理系统中,目标是最大化处理器使用率。相反,在分时系统中,目标是最小化响应时间。

分时操作系统的特点

分时操作系统为用户提供以下功能

  • 每个用户都为其所有操作获得专用时间。
  • 多个在线用户可以同时使用同一台计算机。
  • 终端用户感觉他们独占了计算机系统。
  • 用户与计算机之间更好的交互。
  • 用户可以在很短的时间内得到响应。
  • 无需再长时间等待最后一个任务结束即可获得处理器。
  • 它可以对大量任务进行快速处理。

分时操作系统的优点

分时操作系统具有以下优点

  • 它提供了快速响应
  • 减少 CPU 空闲时间
  • 所有任务都被分配了特定的时间
  • 软件重复的可能性较低
  • 改善响应时间
  • 易于使用且用户友好

分时操作系统的缺点

以下是分时操作系统的一些缺点,例如

  • 它消耗大量资源
  • 需要高规格的硬件
  • 它存在可靠性问题
  • 用户程序和数据的安全性和完整性问题
  • 数据通信问题的可能性

多道程序设计和分时系统之间的区别

在多道程序设计中,主内存中可以同时驻留多个进程。因此,当一个进程进行 I/O 操作时,CPU 不会等待,而是分配给另一个进程。这使得 CPU 始终保持忙碌。

Multiprogramming vs. Time Sharing Operating System

分时的概念克服了无用户交互的问题。分时系统要求为每个用户提供输入设备(键盘或鼠标)和输出设备(监视器)以与系统进行交互。在分时系统中,多个作业同时执行,CPU 在它们之间频繁切换,以便每个用户可以在程序运行时与每个程序进行交互。它减少了系统中每个用户进程的响应时间,并给每个用户一种 CPU 运行缓慢的错觉。

多道程序设计和分时之间的主要区别在于,多道程序设计通过允许多个程序同时使用 CPU 来有效地利用 CPU 时间。但分时是指多个用户同时共享一个计算设施。分时系统上的每个用户都有自己的终端,并感觉像在使用 CPU。分时系统利用多道程序设计的概念在同一时间在多个用户之间共享 CPU 时间。以下是多道程序设计系统和分时系统之间的一些进一步区别,例如

多道程序设计系统分时系统
多道程序设计操作系统通过监视进程状态并在进程之间切换来允许执行多个进程。分时是多道程序设计的逻辑扩展。在这种分时操作系统中,许多用户/进程在各自的时间段内被分配计算机资源。
处理器和内存的利用不足问题得到解决,并且多个程序在 CPU 上运行。因此,它被称为多道程序设计。处理器的时间与多个用户共享。因此,它被称为分时操作系统。
在多道程序设计中,一个进程可以由单个处理器执行。在这个过程中,两个或两个以上用户可以在其终端上使用一个处理器。
多道程序设计操作系统没有固定的时间片。分时操作系统具有固定的时间片。
在多道程序设计操作系统系统中,在完成任务之前,不会撤销执行权限。在分时操作系统系统中,在完成执行之前会撤销执行权限。
在这里,系统不会花费时间处理不同的进程。在这里,系统在每个进程上花费相同或更少的时间。
在多道程序设计操作系统中,系统依赖设备来切换任务,例如 I/O 中断。在分时系统中,操作系统系统依赖时间来在不同进程之间切换。
多道程序设计系统的系统模型是多个程序。分时系统的系统模型是多个程序和多个用户。
多道程序设计系统最大化响应时间。分时系统最大化响应时间。
示例:Mac OS、Windows OS、MP/M、XENIX 和 ESQview 等微型计算机示例:Windows NT Server、Unix、Linux、Multics、TOPS-10、TOPS-20

下一个主题Maemo-operating-system