一、操作系统的定义与地位

操作系统(Operating System,OS)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。从程序集合的角度,可以将其定义为:操作系统是一组能有效组织和管理计算机硬件和软件资源、合理地对各类作业进行调度、以及方便用户使用的程序的集合。

操作系统是现代计算机系统中最基本和最重要的系统软件,其他系统软件以及大量应用软件都依赖操作系统的支持才能运行。

二、操作系统的目标

通常在计算机硬件上配置的操作系统,其目标有以下四点:

目标含义
方便性提供良好的、一致的用户接口,弥补硬件系统的类型和数量差别,使用户无需了解硬件细节即可使用计算机
有效性两层含义:①提高系统资源利用率,尽量减少资源空闲;②提高系统吞吐量
可扩充性能方便地增添新的功能和模块,以及对原有功能进行修改,以适应硬件和体系结构的发展
开放性系统遵循国际标准,使遵循标准的硬件和软件能够彼此兼容并方便地实现互联

其中,方便性和有效性是设计操作系统时最重要的两个目标。

三、操作系统的作用

操作系统的作用可以从三个角度理解:

1. 作为用户与计算机硬件系统之间的接口

用户可以通过三种方式使用计算机:命令方式(通过键盘输入联机命令)、系统调用方式(在应用程序中调用OS提供的系统调用)、图形/窗口方式(通过图标和窗口操作)。

2. 作为计算机系统资源的管理者

计算机系统中的资源可分为四类:处理机、存储器、I/O设备、文件(数据和程序) 。操作系统针对这四类资源进行有效的管理。

3. 实现对计算机资源的抽象

对于完全无软件的计算机系统(裸机),操作系统通过在其上覆盖多层软件(I/O管理软件 → 文件管理软件 → 窗口软件),逐步隐藏硬件操作细节,最终向用户提供一个便于使用的抽象模型。覆盖了软件的机器称为扩充机器或虚拟机。

四、推动操作系统发展的动力

推动OS发展的主要动力包括五个方面:

  1. 不断提高计算机系统资源的利用率

  2. 方便用户使用

  3. 器件的不断更新换代(芯片、内存、外存的发展)

  4. 计算机体系结构的不断发展(单核→多核,集中→分布式)

  5. 不断提出新的应用需求(如嵌入式OS)

五、操作系统的发展过程

5.1 未配置操作系统的计算机系统

人工操作方式:用户通过纸带或卡片输入程序,用户独占全机,CPU等待人工操作,造成严重的资源浪费和人机矛盾。

脱机输入/输出方式:引入外围机,以磁带为缓冲,先将程序和数据通过外围机输入到磁盘中,CPU需要时再从磁盘读取,减少了CPU的空闲时间。

5.2 单道批处理系统

外存中有一批作业排队等待(批处理),一次取一个作业放入内存运行(单道)。监督程序常驻内存,负责作业调度。主要特征为自动性、顺序性、单道性。优点是比人工方式高效,但存在I/O操作时CPU闲置的缺点。

5.3 多道批处理系统

允许多道程序在内存中同时准备运行。当正在运行的程序暂时不能运行时(如等待I/O),系统自动启动另一道程序运行。具有多道性、无序性、调度性。

  • 优点:资源利用率高,系统吞吐量大

  • 缺点:平均周转时间长,无交互能力

5.4 分时系统

将CPU时间划分为时间片,以时间片为单位轮流为每个终端用户服务。核心目标是实现人机交互和多用户共享主机。关键问题包括及时接收(多路卡配置)和及时处理(时间片轮转)。

5.5 实时系统

系统能及时响应外部事件的请求,在严格时限内完成事件处理。主要特点是及时性和可靠性。与批处理和分时系统的区别在于:许多实时系统是专用系统,而对响应时间的要求更为严格。

5.6 其他发展

20世纪80年代后,个人计算机操作系统快速发展;网络操作系统和分布式操作系统同期兴起;近年来移动计算时代进一步推动了操作系统的多样化发展。

六、操作系统的基本特征

现代操作系统具有四个基本特征:并发、共享、虚拟、异步。这四个特征之间存在明确的逻辑关系。

6.1 并发(Concurrence)

指两个或多个事件在同一时间间隔内发生。宏观上多个程序“同时”运行,微观上则是交替执行。

 并发与并行的区别:并发是同一时间间隔内发生(宏观同时,微观交替),并行是同一时刻发生(真正的同时执行)。

6.2 共享(Sharing)

系统中的资源可供内存中多个并发执行的进程共同使用。共享有两种方式:互斥共享(如打印机,一段时间只允许一个进程访问)和同时共享(如磁盘文件,允许多个进程同时读取)。

6.3 虚拟(Virtual)

把一个物理实体转变为若干个逻辑上的对应物。实现方式包括时分复用(如虚拟处理器,多个进程轮流使用CPU)和空分复用(如虚拟存储器,利用外存扩展内存的逻辑容量)。

6.4 异步(Asynchronism)

在多道程序环境下,进程以不可预知的速度向前推进。进程何时执行、何时暂停、何时完成都是不确定的,但操作系统需保证在相同条件下程序执行结果的一致性。

6.5 四者之间的关系

  • 并发和共享是操作系统最基本的两个特征,二者互为存在条件:没有并发,共享就失去了对象;没有共享,并发进程就无法协作。

  • 虚拟以并发和共享为前提:正是由于多进程并发和资源共享,才需要将物理资源虚拟化。

  • 异步是并发和共享的必然结果:多个进程共享有限的资源,导致每个进程的推进速度不可预知。

七、操作系统的主要功能

操作系统的主要功能可以归纳为五大管理功能,外加用户接口:

1. 处理机管理
用于分配和控制处理机,主要包括进程控制、进程同步、进程通信和调度等功能。

2. 存储器管理
负责内存的分配与回收、内存保护、地址映射和内存扩充。

3. I/O设备管理
负责I/O设备的分配(回收)与操纵,包括缓冲管理、设备分配和设备处理。

4. 文件管理
用于实现对文件的存取、共享和保护,包括文件存储空间的管理、目录管理、文件读写管理和存取控制。

5. 用户接口
操作系统为用户提供三种接口:命令接口(联机命令和脱机命令)、程序接口(系统调用)、图形接口(GUI)。

八、操作系统的结构设计

8.1 模块化结构

将操作系统按功能划分为若干个具有一定独立性的模块,各模块通过接口进行通信。优点是结构清晰、易于理解和修改;缺点是模块间的接口定义难以做到完全无歧义,模块设计缺乏有序性(被称为“无序模块法”)。

8.2 分层结构

将操作系统所有功能模块按调用次序排列成若干层,每层只能调用其底层提供的功能和服务,各层之间只有单向依赖关系。优点是易保证系统正确性,易扩充和维护;缺点是系统效率降低,因为每执行一个功能需自上而下穿越多个层次。

8.3 微内核结构

微内核结构仅将时钟管理、中断处理、原语操作等与硬件紧密相关的功能保留在内核中,其余功能(如文件系统、设备驱动)以服务器进程的形式运行在用户态。优点是可靠性和安全性更高,内核代码小、易于验证;缺点是系统调用和上下文切换频繁,性能开销较大。

8.4 客户/服务器模式

客户机发送请求,服务器接收并处理请求后返回响应。优点是支持数据的分布处理和存储、便于集中管理、灵活性和可扩充性好;缺点是单服务器故障会导致整个网络瘫痪,重负荷下响应时间延长。

九、小结

第一章“操作系统引论”是学习操作系统的起点,核心要点可以概括为:

  • 一个定义:操作系统是管理计算机软硬件资源、方便用户使用的程序集合。

  • 四大目标:方便性、有效性、可扩充性、开放性。

  • 三大作用:用户与硬件的接口、资源管理者、资源抽象层。

  • 四个特征:并发、共享、虚拟、异步,其中并发和共享互为存在条件。

  • 五大功能:处理机管理、存储器管理、设备管理、文件管理、用户接口。

  • 结构演进:模块化 → 分层 → 微内核/C-S模式,反映了操作系统设计思想从“功能优先”向“可靠性与可维护性优先”的转变。

参考来源说明:本文主要依据汤小丹、汤子瀛等编著的《计算机操作系统》(第四版)第一章内容整理,同时参考了阿里云开发者社区、腾讯云社区等平台上的公开学习笔记

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐