多道程序设计和分时操作系统
多道程序设计是将多个并发程序分配到计算机系统和其资源中。多道程序设计通过允许多个用户有效地使用CPU和I/O设备,从而有效地利用CPU。多道程序设计确保CPU始终有任务可执行,从而提高CPU利用率。
另一方面,分时是将计算资源同时分享给多个用户。由于这将允许多个用户同时在单个计算机系统上工作,因此可以降低提供计算能力的成本。
多程序设计操作系统
多道程序设计是快速在多个程序之间切换CPU。一个程序通常由多个任务组成。任务以需要移动数据的请求结束,这将需要执行一些I/O操作。在当前运行的程序执行I/O操作时,通常使用多任务处理来让CPU保持繁忙。与其他执行指令相比,I/O操作非常慢。
即使一个程序只包含很少的I/O操作,程序所花费的大部分时间都用在这些I/O操作上。因此,利用这些空闲时间,让另一个程序能够利用CPU,将增加CPU的利用率。多程序设计最早在20世纪50年代末作为操作系统的一个特性开发出来,并首次应用于大型计算机。随着虚拟内存和虚拟机技术的引入,多程序设计的使用得到了增强。它没有固定的进程时间片。其主要目的是资源利用。
多程序设计操作系统的优点
多程序设计操作系统具有以下优点:
- 无CPU闲置时间
- 多程序设计系统可以监控最快的速度,因为所有任务都在并行运行
- 响应时间更短
- 最大化计算机的总作业吞吐量
- 增加资源利用率
多程序设计操作系统的缺点
以下是多程序设计操作系统的一些缺点:
- 有时长时间的作业需要等待很长时间
- 有时难以跟踪所有进程
- 需要CPU调度
- 需要高效的内存管理
- 在执行过程中无用户与任何程序互动
分时操作系统
分时是一种技术,使位于各个终端的许多人能够同时使用特定的计算机系统。分时是多程序设计的逻辑扩展。在分时操作系统中,许多进程根据它们各自的时间段被分配计算机资源。在此过程中,处理器时间与多个用户共享。因此它被称为分时操作系统。它对不同进程有一个固定的时间片。其主要目的是交互式响应时间。
CPU通过在多个作业之间切换来执行多个任务,但切换频繁。因此,用户可以立即得到响应。操作系统使用CPU调度和多程序设计,为每个用户提供少量时间。最初设计为批处理系统的计算机系统已经改造为时间共享系统。
多程序批处理系统和时间共享系统的主要区别在于,在多编程批处理系统中,目标是最大化处理器使用率。相反,在时间共享系统中,目标是最小化响应时间。
时间共享操作系统的特点
时间共享操作系统为用户提供以下功能:
- 每个用户都专门用于所有操作的时间。
- 多个在线用户可以同时使用同一台计算机。
- 最终用户感觉自己垄断了计算机系统。
- 用户与计算机之间的交互更好。
- 用户请求可以迅速得到响应。
- 无需等待最后一个任务结束才能获得处理器。
- 可以快速处理大量任务。
时间共享操作系统的优点
时间共享操作系统具有以下优点:
- 提供快速响应。
- 减少CPU空闲时间。
- 为所有任务分配特定的时间。
- 减少软件重复的可能性。
- 提高响应时间。
- 易于使用和用户友好。
时间共享操作系统的缺点
下面是时间共享操作系统的一些缺点,例如:
- 消耗多种资源。
- 需要高规格的硬件。
- 可靠性问题。
- 用户程序和数据的安全性和完整性问题。
- 数据通信问题的可能性。
多程序设计和时间共享系统之间的区别
在多程序设计中,多个进程可以同时驻留在主存储器中。因此,当一个进程进行I/O操作时,CPU不会等待,而是分配给另一个进程。这保持了CPU的持续忙碌。
时间共享的概念克服了无用户交互的问题。时间共享系统要求为每个用户提供输入设备(键盘或鼠标)和输出设备(显示器),以便与系统进行交互。在时间共享中,多个作业同时执行,并且CPU频繁切换它们,以便每个用户可以在程序运行时与每个程序交互。这减少了系统对每个用户进程的响应时间,并给每个用户以CPU运行缓慢的幻象。
多道程序设计和时间共享的主要区别在于,多道程序设计通过允许多个程序同时使用CPU有效利用CPU时间。但时间共享是由多个希望同时使用同一设施的用户共享计算设施。时间共享系统中的每个用户都有自己的终端并感觉像独自使用CPU。时间共享系统使用多道程序设计的概念来在同一时间将CPU时间共享给多个用户。以下是多道程序设计系统和时间共享系统的一些更多区别,例如:
多道程序系统 | 分时系统 |
---|---|
多道程序操作系统通过监控进程状态并在进程之间进行切换,使得多个进程可以同时执行。 | 分时操作系统是多道程序的逻辑扩展。在这个分时操作系统中,许多用户/进程在各自的时间段内被分配计算机资源。 |
解决了处理器和内存的闲置问题,并且多个程序可以在CPU上运行。这就是为什么它被称为多道程序。 | 处理器的时间与多个用户共享。这就是为什么它被称为分时操作系统。 |
在多道程序中,进程可以由单个处理器执行。 | 在这个进程中,两个或多个用户可以在他们的终端上使用一个处理器。 |
多道程序操作系统没有固定的时间片。 | 分时操作系统有一个固定的时间片。 |
在多道程序操作系统中,执行权不会在完成任务之前被剥夺。 | 在分时操作系统中,在执行完成之前,执行权会被剥夺。 |
在这里,系统不需要花费一些时间来处理不同的进程。 | 在这里,系统在每个进程上工作的时间相同或更少。 |
在多道程序操作系统中,系统依赖于设备来切换任务,如I/O中断。 | 在分时操作系统中,系统依赖于时间来切换不同的进程。 |
多道程序系统的系统模型是多个程序。 | 分时系统的系统模型是多个程序和多个用户。 |
多道程序系统最大化响应时间。 | 分时系统最大化响应时间。 |
示例:Mac OS,Window OS,微型计算机如MP/M,XENIX和ESQview | 示例:Windows NT服务器,Unix,Linux,Multics,TOPS-10,TOPS-20 |