操作系统的组成


操作系统有各种组件来执行明确定义的任务。尽管大多数操作系统在结构上有所不同,但逻辑上它们具有相似的组件。每个组件必须是系统中定义明确的部分,能够适当地描述功能、输入和输出。

操作系统有以下 8 个组件:

  1. 流程管理
  2. 输入/输出设备管理
  3. 文件管理
  4. 网络管理
  5. 主内存管理
  6. 二级存储管理
  7. 安全管理
  8. 命令解释系统

以下部分更详细地解释了上述所有组件:

流程管理

进程是加载到主存储器中的程序或程序的一部分。进程需要某些资源(包括 CPU 时间、内存、文件和 I/O 设备)来完成其任务。进程管理组件管理操作系统上同时运行的多个进程。

处于运行状态的程序称为进程。

操作系统负责与进程管理相关的以下活动:

  • 创建、加载、执行、挂起、恢复和终止进程。
  • 在主存中的多个进程之间切换系统。
  • 提供通信机制,以便进程之间可以进行通信
  • 提供同步机制控制共享数据的并发访问,保持共享数据的一致性。
  • 正确分配/取消分配资源以防止或避免死锁情况。

输入/输出设备管理

操作系统的目的之一是向用户隐藏特定硬件设备的特性。I/O设备管理提供了H/W设备的抽象层次,并保留了应用程序的详细信息,以确保设备的正确使用,防止错误,并为用户提供方便高效的编程环境。

以下是 I/O 设备管理组件的任务:

  • 隐藏硬件设备的详细信息
  • 使用高速缓存、缓冲区和假脱机管理设备的主内存
  • 为每个设备维护并提供自定义驱动程序。

文件管理

文件管理是操作系统最明显的服务之一。计算机可以以多种不同的物理形式存储信息;磁带、磁盘和鼓是最常见的形式。

文件被定义为一组相关信息,由文件的创建者定义。大多数文件表示数据、源和对象形式以及程序。数据文件可以是任何类型,如字母、数字和字母数字。

文件是位、字节、行或记录的序列,其含义由其创建者和用户定义。

操作系统通过管理类型和磁盘等海量存储设备来实现文件的抽象概念。此外,文件通常被组织到目录中以方便使用。这些目录可能包含文件和其他目录等等。

操作系统负责以下与文件管理相关的活动:

  • 文件创建和删除
  • 目录的创建和删除
  • 支持操作文件和目录的原语
  • 将文件映射到辅助存储
  • 稳定(非易失性)存储介质上的文件备份

网络管理

网络管理的定义通常很广泛,因为网络管理涉及多个不同的组件。网络管理是管理和管理计算机网络的过程。计算机网络是相互连接的各种类型的计算机的集合。

网络管理包括故障分析、维护服务质量、网络配置和性能管理。

网络管理是保持网络健康以实现不同计算机之间有效通信的过程。

网络管理的特点如下:

  • 网络管理
  • 网络维护
  • 网络运营
  • 网络配置
  • 网络安全

主内存管理

内存是一个大的字或字节数组,每个字或字节都有自己的地址。它是由 CPU 和 I/O 设备共享的可快速访问的数据存储库。

主存储器是一种易失性存储设备,这意味着在系统故障或系统电源关闭时它会丢失其内容。

内存管理背后的主要动机是最大化计算机系统上的内存利用率。

操作系统负责与内存管理相关的以下活动:

  • 跟踪内存的哪些部分当前正在使用以及由谁使用。
  • 决定当内存空间可用时加载哪些进程。
  • 根据需要分配和释放内存空间。

二级存储管理

计算机系统的主要目的是执行程序。这些程序及其访问的数据在执行期间必须位于主内存中。由于主存太小,无法永久容纳所有数据和程序,因此计算机系统必须提供辅助存储来备份主存。

大多数现代计算机系统都使用磁盘作为程序和数据的主要在线存储介质。大多数程序(如编译器、汇编器、排序例程、编辑器、格式化程序等)在加载到内存之前都存储在磁盘上,然后使用磁盘作为其处理的源和目标。

操作系统负责以下与磁盘管理相关的活动:

  • 可用空间管理
  • 存储分配
  • 磁盘调度

安全管理

操作系统主要负责计算机系统中发生的所有任务和活动。必须保护操作系统中的各个进程免受彼此活动的影响。为此,可以使用各种机制来确保文件、内存段、CPU 和其他资源只能由那些已从操作系统获得适当授权的进程进行操作。

安全管理是指一种控制程序、进程或用户对计算机控制定义的资源的访问的机制,以及一些强制执行手段。

例如,内存寻址硬件确保进程只能在其自己的地址空间内执行。计时器确保任何进程都无法在不放弃 CPU 的情况下获得对 CPU 的控制。最后,不允许任何进程执行自己的 I/O,以保护各种外围设备的完整性。

命令解释系统

操作系统最重要的组件之一是它的命令解释器。命令解释器是用户和系统其余部分之间的主要接口。

命令解释器系统通过调用一个或多个底层系统程序或系统调用来执行用户命令。

命令解释器系统允许人类用户与操作系统交互,并为用户提供方便的编程环境。

许多命令是通过控制语句向操作系统发出的。自动执行读取和解释控制语句的程序。该程序称为 shell,少数例子有 Windows DOS 命令窗口、Unix/Linux 的 Bash 或 Unix/Linux 的 C-Shell。

其他重要活动

操作系统是一个复杂的软件系统。除了上述组件和职责之外,操作系统还执行许多其他活动。下面列出了其中一些:

  • 安全性- 通过密码和类似的其他技术,它可以防止对程序和数据的未经授权的访问。

  • 控制系统性能- 记录服务请求和系统响应之间的延迟。

  • 工作统计- 跟踪各种工作和用户使用的时间和资源。

  • 错误检测辅助工具- 生成转储、跟踪、错误消息以及其他调试和错误检测辅助工具。

  • 其他软件和用户之间的协调- 编译器、解释器、汇编器和其他软件向计算机系统的各个用户的协调和分配。