操作系统类型 (OS)

2025年5月13日 | 阅读14分钟

操作系统(OS)基本上是一组有组织的程序,用于管理计算机的硬件和软件资源。它充当用户和计算机硬件之间的中间人。它确保其操作以及应用程序和硬件组件之间的交互是高效的。本质上,操作系统可以实现平稳运行,并为其他软件的执行提供一个稳定一致的环境。

操作系统的功能

  1. 进程管理:操作系统负责管理系统中的进程,包括进程的创建、调度和终止。它还包括进程同步和死锁处理。
  2. 内存管理:操作系统根据程序的需要分配和释放内存。在这方面,操作系统确保内存(RAM)的最优利用。为此采用了分页、分段和虚拟内存等技术。
  3. 文件系统管理:它负责在任何存储位置对文件进行排序和控制。它提供结构化机制,并通过称为权限的概念提供访问控制。
  4. 设备管理:操作系统控制与硬件和软件的通信。这包括设备驱动程序、输入/输出管理,甚至包括打印机和扫描仪等外围设备的有效利用。
  5. 安全与访问控制:通过实现用户身份验证、加密等机制,它将未经授权的用户或进程拒之系统资源之外。
  6. 用户界面 (UI):操作系统通过图形用户界面(GUI)或命令行界面(CLI)为用户提供与系统交互的手段。

操作系统类型

Types of Operating Systems

1. 批处理操作系统

在20世纪70年代,批处理非常流行。在这种技术中,相似类型的作业被批量组合起来进行分时执行。人们习惯于使用一台计算机,称为大型机。

在批处理操作系统中,允许多个人访问;他们提交各自的作业给系统执行。

系统根据“先来先服务”的原则将所有作业放入队列,然后逐个执行。所有作业执行完毕后,用户领取各自的输出。

Batch Operating System

这种操作系统的主要目的是在作业完成后立即将控制权从一个作业转移到另一个作业。它包含一小组称为“常驻监控程序”的程序,这些程序始终驻留在内存的一部分。其余部分用于服务作业。

Batch Operating System

批处理操作系统的优点

  • 它提高了效率,例如常驻监控程序消除了作业之间的CPU空闲时间,使其能够平滑地切换任务。
  • 作业处理的自动化处理意味着用户在运行或执行任务时无需干预。
  • CPU和内存等资源得到利用,不会闲置。
  • 它也很适合薪资处理,因为它可以在不浪费时间和精力的情况下批量处理作业。
  • 即使是非常庞大复杂的作业,它也能不间断地执行,因为它只是流式传输,不会出现任何中断,即使任务非常密集。
  • 将作业分组为“批次”,消除了在单个任务之间需要进行的大部分手动设置,从而节省了时间。
  • 它会在批次结束后记录和处理错误。这使得系统即使在没有中断的情况下也能运行。

批处理操作系统的缺点

1. 饥饿

批处理存在饥饿现象。

例如

Batch Operating System

假设批次中有五个作业 J1、J2、J3、J4 和 J5。如果 J1 的执行时间非常长,那么其他四个作业将永远不会被执行,或者它们将不得不等待很长时间。因此,其他进程会“饿死”。

2. 非交互式

批处理不适合依赖用户输入的作业。如果一个作业需要从控制台输入两个数字,那么在批处理场景下它将永远无法获得输入,因为用户在执行时不在场。

3. 输出延迟

由于作业是批量提交的,因此输出不能及时生成。对于时间关键型作业来说,这种情况可能很不方便。

4. 调试困难

只有在整个批次处理完成后才能发现错误,这使得实时定位和修复问题更加困难。

5. 需要了解作业调度

用户或系统管理员应该非常了解系统的行为以及任务之间的依赖关系。

6. 大型作业导致延迟

如果一个批次包含一个大型作业,则可能会出现问题,因为所有后续作业的处理都会被延迟。因此,这会降低整体系统性能。

2. 多道程序设计操作系统

多道程序设计是批处理的扩展,它始终保持CPU处于忙碌状态。每个进程需要两种系统时间:CPU时间和I/O时间。

在多道程序设计环境中,当一个进程执行 I/O 操作时,CPU 可以开始执行其他进程。因此,多道程序设计提高了系统的效率。

Multiprocessing Operating System

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

  • 提高计算机系统的资源利用率。
  • 允许多个用户(终端)同时交互。
  • 在内存中保持多个可执行任务的打开状态。
  • 应提高系统的吞吐量。
  • 缩短程序等待时间。
  • 提高系统的整体响应能力。
  • 提高系统的稳定性和可靠性。
  • 使系统在人们进行多任务处理的情况下也能良好运行。

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

  • 需要对调度方法有先期了解。
  • 如果存在大量空闲位置,长期职位可能需要长时间等待。
  • 由于主内存是所有任务的存放地,操作系统需要进行内存管理。
  • 多道程序设计使用量的增加可能导致发热问题。

3. 多处理器操作系统

使用多个CPU来提高性能的操作系统称为多处理器操作系统。在多处理器操作系统中,多个处理器协同工作以完成手头的任务。每个可用的CPU都连接到时钟、计算机总线、外围设备和物理内存。提高系统执行速度是多处理器操作系统的主要目标。使用多处理器操作系统时,系统整体性能更好。例如,最流行的多处理器操作系统是 Solaris、LINUX 和 UNIX。

Multiprocessing Operating System

工作方式

在多处理器操作系统中,多个处理器可以并发执行进程。进程被分割并分配给不同的处理器进行并行计算。因此,通过高吞吐量、良好的资源分配、在处理器之间平滑分配工作负载以及容错能力来提高系统性能。如果其一个处理器发生故障,系统可以继续运行并将任务重新分配给其他处理器,从而平稳地完成操作。

多处理器操作系统的类型

Multiprocessing Operating System

多处理器操作系统有两种类型

i. 对称多处理

  • 在 SMP 中,每个处理器都有相同的操作系统副本;它们共享内存和 I/O 设备。每个处理器都可以执行任何任务;它将确保工作负载在所有处理器之间平衡。
  • 每个处理器都可以继续执行任何工作;如果一个处理器发生故障或停止工作,其他处理器可以继续运行而不会影响系统性能。

ii. 非对称多处理

  • 在 AMP 中,一个处理器控制系统。它管理要分配给其他处理器的任务。
  • 主处理器为操作系统提供服务,而其他处理器是“从属”处理器,它们可能为系统执行特定工作。
  • 这种系统配置使其非常简单,但有时如果主处理器负载过重,可能会导致瓶颈。

多处理器操作系统的优点

  • 提高可靠性:由于存在多个处理器,如果一个处理器发生故障,其他处理器可以接管,从而稳定系统。
  • 提高吞吐量:这些多个处理器可以同时处理比单个处理器更多的作业,从而提高执行速度。
  • 高效的资源利用:它在 CPU、内存和 I/O 设备等资源的利用上更加有效。
  • 并行性:许多进程可以并行运行,这极大地提高了执行速度。
  • 可扩展性:随着工作负载的增加,可以添加更多处理器来提高性能。

多处理器操作系统的缺点

  • 复杂性:处理多个处理器和适当的任务分配会增加系统的复杂性。
  • 成本增加:多处理器系统中增加的硬件设备会增加其成本。
  • 通信开销:通常,处理器之间的通信会产生开销,并导致效率略有下降。
  • 软件兼容性问题:通常,大多数软件并非设计为与多处理器系统正常运行。

4. 多任务操作系统

支持多任务处理的操作系统允许多个用户同时完成不同的任务。多任务操作系统可以轻松地管理输入/输出设备、CPU 和内存如何在程序之间分配。一个处理器可以经历多个状态以完成一个或多个执行。多任务处理是指操作系统在 CPU 计算机上并发运行多个任务的能力。

multitasking Operating System

i. 协作式操作系统

在协作式系统中,任务会自愿放弃 CPU 控制权,以便其他任务可以执行。进程运行直到完成或显式放弃控制。操作系统对进程何时进行上下文切换的控制相对较少。操作系统必须依靠进程之间的协作。如果一个进程不放弃控制并导致其他进程被阻塞,则此类系统可能会出现问题。

ii. 抢占式操作系统

在此系统中,操作系统对 CPU 的分配方式拥有完全控制权。在此系统中,它可以中断进程的执行,并根据预定义的调度标准(如优先级、时间片或截止日期)切换到另一个进程。这意味着在此类系统中,可以确保更好的多任务处理和响应能力,并且不会出现允许任何单个进程垄断 CPU 的情况。

多任务操作系统的优点

  • 该系统可以同时处理多个用户或任务;因此,在多用户环境中得到最佳利用。
  • 内存会动态高效地分配给不同的任务,从而最大限度地利用系统资源。
  • 可以同时运行更多应用程序,从而提高生产力,因为任务是并发执行的。
  • 它允许在任务之间快速切换,从而缩短用户的响应时间。
  • 由于系统通过在任务之间切换来持续运行,因此 CPU 时间和其他系统资源的消耗更加有效。

多任务操作系统的缺点

  • 多任务处理环境使得许多处理器同时处于更忙碌的状态,即 CPU 产生更多热量。
  • 同时管理不同任务需要更复杂的算法,这会变得难以管理。
  • 同时运行太多应用程序可能会使系统承受压力,导致性能下降。
  • 在这种情况下,多个任务将争夺相同的资源,从而导致它们延迟。
  • 多任务处理系统通常需要更强大的硬件,尤其是在内存和处理能力方面,才能顺利运行。

5. 网络操作系统

网络操作系统安装在服务器上,使用户能够控制数据、用户组和应用程序。主要在局域网上,这种操作系统允许用户访问和共享数据和设备,包括打印机、安全软件和其他应用程序。

Linux、macOS X 和 Microsoft Windows 是网络操作系统的一些例子。

network Operating System

网络操作系统的优点

  • 由于网络应用程序分布在客户端和服务器之间,这可以最大限度地减少网络上的通信总量,从而提高性能。
  • 与昂贵的其他系统相比,配置和维护 NOS 的成本较低,因为共享资源减少了所需的重复。
  • NOS 提供了对数据、安全和资源管理的集中控制。这意味着管理员可以轻松管理大型网络。
  • 系统的扩展可以轻松实现,以适应组织的发展。可以轻松添加新客户端或服务器,而无需重新配置系统。
  • 它共享打印机、文件和应用程序等资源,从而减少了硬件和软件的冗余。

网络操作系统的缺点

  • 如果一个节点或服务器发生故障,则会影响整个系统,网络功能将中断。因此,可靠性很重要。
  • 需要强大的安全性来限制未经授权的访问。复杂的安全措施需要持续的监控和更新。
  • 涉及的网络管理员需要处理系统性能、安全配置和故障排除。
  • 当网络规模过大且流量繁重时,如果未经监控和维护,它会随着时间的推移而退化,这需要持续的关注。
  • 这是因为一旦攻击者能够访问一个服务器,就几乎能够达到其控制整个网络中多个资源的最终目标。

6. 实时操作系统

Real Time Operating System

实时操作系统 (RTOS) 是为需要在严格时间限制内完成的任务设计的。在这样的系统中,每个任务都有明确的截止日期;未能在此截止日期前完成可能会带来严重的后果。根据应用程序的不同,按时完成可能会导致严重故障或使事物变得无关紧要,从而导致效率低下甚至危险。

实时系统广泛应用于有时间性要求的领域,例如医疗设备制造、汽车控制或工业自动化。例如,在汽车的防抱死制动系统 (ABS) 中,响应必须在毫秒内完成才能确保安全。

实时系统在军事应用中也有应用。如果您想发射一枚导弹,那么这枚导弹应该以一定的精度发射。

Real Time Operating System

i. 硬实时系统

在硬实时系统中,绝对不能错过截止日期。错过截止日期的后果可能是灾难性的,甚至会导致系统失败或生命损失。

示例:飞机导航和控制、医疗设备,如心脏起搏器。

需要建立严格的保证,以确保作业能够按时执行。否则可能造成灾难性后果。

ii. 软实时系统

在此类系统中,偶尔错过截止日期可能不会导致灾难性故障,但会降低系统的性能或可用性。

示例:视频流(偶尔延迟或缓冲是可以接受的)和在线交易系统(如银行 ATM,轻微延迟是可容忍的)。

即使发生了一些截止日期错过的情况,系统仍然可以功能正常运行,尽管性能会受到不利影响。这侧重于效率和消除延迟,而不是绝对精度。

iii. 固态实时系统

在硬实时系统和软实时系统之间,存在固态实时系统。在这种情况下,不会发生崩溃,但如果任务未在截止日期前完成,则其结果将毫无价值。存在最低限度的惩罚,但如果任务未及时完成,其价值将大大降低。

示例:自动股票交易系统(迟到的交易会失去相关性)和一些电子商务系统(例如,优惠已过期)。

实时操作系统的优点

  • 实时应用程序在实时操作系统下易于设计、开发和实现。
  • 在实时操作系统中最大化设备和系统的利用率。
  • 对事件响应迅速。
  • 在执行时间关键型操作方面具有高可靠性。
  • 严格的调度确保了可预测的任务执行。

实时操作系统的缺点

  • 实时操作系统设计成本非常高昂。
  • 实时操作系统是资源密集型的,会消耗关键的 CPU 周期。
  • 多任务支持较少。
  • 缺乏对新功能的适应性。
  • 有时需要特定硬件。

7. 分时操作系统

在分时操作系统中,每个作业都会以一种最大限度地减少 CPU 响应时间的方式使用 CPU。完成每个作业所需的时间是相同的。

Real Time Operating System

分时操作系统允许多个用户并发访问系统,这是通过为每个任务分配一个很小的时间片或量子来实现的。CPU 在任务之间切换的速度非常快,以至于用户感觉他们的程序正在同时运行。这种操作系统在需要多个用户实时或近实时访问中央系统的系统中最为有效。

它的工作原理如下

  • 调度:操作系统使用调度算法,为每个用户或进程分配一块 CPU 时间,称为时间片。每个时间片过后,CPU 会切换到队列中的下一个进程。
  • 多道程序设计:TSOS 使用多道程序设计,即在任何给定时间都有多个程序驻留在内存中。这允许多个程序同时执行。
  • 上下文切换:当 CPU 需要切换到另一个任务时,操作系统会保存当前进程的状态并加载下一个进程的状态。这个过程称为上下文切换。它允许任务在离开的地方准确地恢复。

分时操作系统允许多个用户同时获得服务,因此需要复杂的 CPU 调度方案和输入/输出管理。

分时操作系统非常难以构建且成本高昂。

分时操作系统的优点

  • 分时操作系统促进了资源的有效利用和共享。
  • 该系统有助于减少 CPU 空闲时间和响应时间。
  • 它允许不同用户同时访问和交互他们的程序,从而提高了生产力。
  • 分时系统通过有效地将程序与主内存交换,确保了更好的内存管理。
  • 交互式计算环境为用户提供了对其程序和文件的实时访问。

分时操作系统的缺点

  • 与其他相比,数据传输速率非常高。
  • 由于许多用户同时访问系统,因此必须确保加载到内存中的用户程序和数据的完整性与安全性。
  • 与其它系统相比,分时系统的实现和管理更加复杂,因为任务调度和内存管理倾向于更复杂。
  • 随着越来越多的用户连接到系统,由于资源争用,系统会退化。
  • 然而,随着时间的推移,任务之间的上下文切换会产生开销,从而影响系统的整体效率。

8. 分布式操作系统

分布式操作系统不安装在单个机器上;它被分成多个部分,这些部分被加载到不同的机器上。分布式操作系统的每个部分都安装在每台机器上,以实现它们的通信。分布式操作系统比网络操作系统复杂得多、庞大得多、也更先进,因为它们还必须处理各种网络协议。

Real Time Operating System

分布式操作系统的优点

  • 分布式操作系统提供资源共享。
  • 这是一个容错系统。
  • 实现了可扩展性,可以轻松地将新节点添加到系统中。
  • 分布式任务执行提高了其性能。
  • 并行处理有助于提高作业执行速度并提高结果获取效率。

分布式操作系统的缺点

  • 协议开销可能会控制计算成本。
  • 由于系统是在分布式环境中工作的,因此管理系统很复杂。
  • 在多个节点上,安全性可能难以实现。
  • 该系统要顺利运行,高度依赖网络稳定性。

操作系统选择题

1. 操作系统 (OS) 的主要作用是什么?

  1. 编译代码
  2. 管理不同的硬件和软件资源
  3. 编辑视频
  4. 运行互联网

答案:b


2. 以下哪一项不是操作系统的功能?

  1. 进程管理
  2. 内存分配
  3. 网页浏览
  4. 设备管理

答案:c


3. 以下哪一项是批处理操作系统的优势?\

  1. 实时交互
  2. CPU 空闲时间增加
  3. 高效的作业处理
  4. 执行期间需要手动输入

答案:c


4. 在批处理操作系统中,一个长时间运行的作业最大的问题是什么?

  1. 速度
  2. 交互性
  3. 其他作业被饿死
  4. 内存消耗

答案:c


5. 以下哪一项是批处理操作系统的限制?

  1. 并行处理
  2. 即时响应
  3. 调试困难
  4. 高交互性

答案:c


6. 在以下几点中,多处理的优势是什么?

  1. 性能下降
  2. 成本较低
  3. 并行性
  4. 有限的资源使用

答案:c


7. 以下哪一项是多处理系统的缺点?

  1. 容错性
  2. 可扩展性
  3. 成本和复杂性
  4. 高吞吐量

答案:c


8. 网络操作系统的一个关键优势是

  1. 去中心化安全
  2. 共享资源的低维护成本
  3. 有限的用户访问
  4. 未共享的数据访问

答案:b