跳转到内容

操作系统设计/导论

来自维基教科书,开放的书籍,为开放的世界

操作系统,通常缩写为OS,是直接与平台硬件交互并为用户应用程序提供运行环境的基础软件。

操作系统必须提供一些功能。

硬件控制

[编辑 | 编辑源代码]
另请参见:操作系统设计/进程/调度操作系统设计/内存管理

现代计算机的硬件种类繁多,无法通过硬编码来控制机制。在过去,每个应用程序都需要提供自己的驱动程序才能使用硬件。由于当今硬件的多样性,大多数操作系统将实现细节从应用程序中抽象出来,使用硬件。因此,操作系统需要一种机制来可靠地处理底层平台的各种需求。这是通过驱动程序机制提供的,通过这种机制,操作系统可以控制硬件。

此外,如果没有操作系统来管理竞争应用程序之间共享资源,多任务处理将是不切实际的,甚至是不可能的。每个应用程序都必须自己访问和控制资源,同时偶尔自愿放弃对硬件的控制(如过去常见的那样,称为协作式多任务处理)。这种情况在安全性 and 稳定性方面有明显的影响,因为通常不能信任第三方应用程序直接访问硬件。因此,操作系统必须调度应用程序进程(称为抢占式调度)来访问处理器,根据一种算法,该算法可能受多种因素的影响。

软件环境

[编辑 | 编辑源代码]

应用程序需要一种安全 and 简单的访问硬件的方式。无论是分配内存、将文件写入永久存储、播放声音文件还是显示电影,应用程序最终都需要调用操作系统提供的函数。这是通过 API 或应用程序编程接口提供的。一个完善的 API 将防止代码重复,从而使应用程序开发人员无需费心就能实现所需的行为。

用户界面

[编辑 | 编辑源代码]

大多数操作系统都需要某种方式让用户在日常生活中操作它们。界面通常应该对高级用户来说效率高,同时还要为技术水平较低的用户提供帮助。界面可以是 图形化 的或 基于文本的

操作系统通常由几个部分组成。主要部分包括

  1. 内核,它是 OS 的“核心”。
  2. 库,它为应用程序提供一系列函数。
  3. 驱动程序,用于与外部硬件交互 and 控制。

此外,操作系统还将附带

  1. 引导机制,它将内核加载到内存中。
  2. 命令解释器或“shell”,它接收用户的输入。

OS 还可以实现文件系统来存储数据。

一些 OS 每次只允许运行一个程序,但许多新的 OS 允许多个应用程序几乎同时运行。此类操作系统称为“多任务操作系统”。有些 OS 非常庞大,依赖于用户输入,但其他 OS 非常小,预计在没有人工干预的情况下完成工作。第一种类型是桌面操作系统,第二种类型是“实时”操作系统。

进一步阅读

[编辑 | 编辑源代码]


上一页: 前言 下一页: 案例研究

华夏公益教科书