操作系统第一章:计算机系统概述
本文基于王道考研复习指导,系统梳理了操作系统的核心知识。首先阐述了操作系统的本质,包括资源管理、用户接口和系统扩展三大核心角色。其次详细分析了操作系统的四大基本特征:并发、共享、虚拟和异步。文章还梳理了操作系统的发展历程,从手工操作到分布式系统的演进过程。此外,介绍了操作系统的运行环境、引导流程、结构设计以及虚拟机技术,重点对比了分层式、模块化、宏内核和微内核等架构的优缺点。全文内容将根据读者反馈
这个专栏基于王道考研复习指导,文章内容会根据博主做题与复盘不断优化完善,也肯定广大读者对专栏内容积极勘误。
一、操作系统的本质
操作系统是管理计算机硬件与软件资源的系统软件,在整个计算机体系中扮演三大核心角色:
- 资源管理者:统筹处理机、存储器、I/O 设备、文件四大核心资源,负责分配、调度与回收,解决资源竞争与高效利用的问题。
- 用户与硬件的接口:提供三种交互方式 —— 命令接口(如 Shell 命令)、程序接口(系统调用)、图形用户接口(GUI),让用户无需直接操作硬件即可使用计算机。
- 系统扩展器:通过虚拟技术将裸机抽象为功能更强的 “虚拟机”,扩展硬件的能力边界,比如让单 CPU 支持多任务并行,让硬盘空间充当内存使用。
二、操作系统的四大基本特征
这四个特征是操作系统运行的底层逻辑,彼此关联、缺一不可,是理解多任务处理的关键:
-
并发
多个程序在同一时间间隔内交替执行,宏观上呈现 “同时运行” 的效果,微观上 CPU 在不同程序间快速切换。它是操作系统最核心的特征,也是多任务处理的基础,即使单 CPU 也能通过并发实现多程序运行。
-
共享
系统资源可供多个并发程序共同使用,分为两种形式:
-
互斥共享:同一时间只能有一个程序占用资源,如打印机、键盘等独占设备。
-
同时共享:同一时间多个程序可同时访问资源,如磁盘、内存等存储设备。
核心联系:并发与共享互为存在条件 —— 没有并发,资源无需共享;没有共享,并发程序无法正常执行。
-
-
虚拟
通过技术手段将物理资源抽象为多个逻辑资源,实现资源复用。常见方式包括:
-
时分复用:将时间划分为时间片,多个程序轮流使用资源,如虚拟 CPU、分时系统。
-
空分复用:将物理空间划分为多个逻辑空间,如虚拟内存、虚拟磁盘。
高阶应用:虚拟机技术,通过虚拟机管理程序(VMM)将一台物理机虚拟为多台独立的逻辑计算机,每台虚拟机可安装独立的操作系统与应用。
-
-
异步
程序的执行过程是 “走走停停” 的,由于资源竞争或等待 I/O,程序会被暂停,后续再由操作系统调度继续执行。虽然执行速度不可预知,但操作系统会通过调度机制保证程序最终完成运行。
三、操作系统的发展历程
操作系统的发展,本质是不断提升资源利用率与用户体验的过程,每个阶段都有其标志性技术、核心特点及优缺点:
- 手工操作阶段
- 特点:无操作系统,程序员直接操作硬件,独占计算机资源。
- 优点:无软件层开销,硬件操作直接可控。
- 缺点:人机矛盾突出,CPU 等待 I/O 设备时间过长,资源利用率极低,仅适用于单程序、小规模计算场景。
- 批处理系统
- 单道批处理:引入监督程序,批量处理作业,减少手工操作时间,内存仅存一道程序。
- 多道批处理:核心技术为多道程序设计,内存同时存放多道程序,CPU 在程序等待 I/O 时切换执行,实现 CPU 与 I/O 设备并行工作。
- 优点:大幅提升 CPU 与内存利用率,减少人工干预,提高系统吞吐量。
- 缺点:用户无交互能力,无法中途修改或控制程序;作业周转时间长,适合计算密集型、无需实时响应的任务。
- 分时操作系统
- 特点:采用时间片轮转机制,将 CPU 时间划分为固定片长,多个用户通过终端轮流使用 CPU,实现多用户同时交互。典型代表:UNIX 系统。
- 优点:同时性、交互性、独立性、及时性,用户可实时控制程序运行,大幅提升用户体验。
- 缺点:系统资源开销较大,对硬实时场景支持不足,无法满足工业控制等低延迟需求。
- 实时操作系统
- 特点:针对工业控制、航天、医疗等场景设计,要求在严格时间内响应外部事件,分为硬实时(必须严格遵守时间限制,否则系统失效)与软实时(允许少量时间延迟,不影响整体功能)。
- 优点:高可靠性、强及时性,能保障关键任务的优先执行,适用于对时间敏感的场景。
- 缺点:交互性较弱,资源调度策略固化,灵活性不足,不适用于普通多用户交互场景。
- 分布式与网络操作系统
- 网络操作系统:管理网络中多台独立计算机,实现资源共享与通信,各计算机保持独立性。
- 分布式操作系统:将多台物理机通过网络连接成统一系统,协同完成任务,用户感知不到多台机器的存在,核心是 “分布式协同”。
- 优点:资源利用率高、系统扩展性强,支撑云计算、大数据等大规模计算场景,具备容错能力。
- 缺点:系统复杂度高,需要解决网络延迟、分布式一致性、数据同步等问题,开发与维护成本高。
四、操作系统的运行环境
为了保障系统安全与稳定,CPU 设计了两种运行状态,配合中断、异常与系统调用机制,实现资源的安全管理:
-
CPU 的两种运行状态
- 内核态:运行操作系统内核程序,拥有最高权限,可执行特权指令(如 I/O 操作、修改程序状态字),能访问所有内存地址。
- 用户态:运行普通应用程序,权限受限,只能执行非特权指令,仅能访问用户空间的内存区域。
-
核心机制

- 中断:来自 CPU 外部的事件(如键盘输入、I/O 完成),是操作系统实现并发的基础。中断发生时,CPU 暂停当前程序,转而去执行中断处理程序,处理完成后返回原程序继续执行。
- 异常:来自 CPU 内部的错误(如非法指令、内存越界、除数为 0),无法被屏蔽,一旦发生必须立即处理,否则会导致程序崩溃。
- 系统调用:用户程序请求操作系统服务的唯一合法途径。当程序需要执行特权操作时,通过执行 “陷入” 指令触发异常,从用户态切换到内核态,由内核完成操作后,再返回用户态继续执行。常见的系统调用包括进程控制、文件操作、内存管理等。
五、操作系统的引导
按下电源键后,计算机通过以下步骤完成启动,实现从硬件到操作系统的接管:
- 硬件自检(POST):BIOS 或 UEFI 程序首先运行,检查 CPU、内存、显卡等核心硬件是否正常,确保硬件满足启动条件。
- 加载引导程序:自检通过后,BIOS/UEFI 读取硬盘的主引导记录(MBR)或 EFI 分区中的引导加载程序(如 GRUB),该程序是连接硬件与操作系统的桥梁。
- 加载内核:引导加载程序根据配置文件找到操作系统内核文件,将其加载到内存并执行,内核开始接管系统资源。
- 系统初始化:内核初始化硬件驱动、进程管理、内存管理等核心模块,创建第一个用户进程(如
init或systemd),启动各类系统服务。 - 启动用户环境:系统服务启动完成后,加载登录管理器,用户登录后进入桌面环境或命令行界面,此时操作系统完全启动,等待用户操作。
六、操作系统的结构设计
操作系统的结构设计直接影响其性能、可靠性、可扩展性与维护成本,主流结构包括以下四种,各有优劣:
-
分层式结构

- 核心思想:将系统按功能划分为多个层次,层间单向依赖,上层只能调用下层的功能,底层为硬件,顶层为用户接口。
- 优点:结构清晰,模块独立性强,便于调试与验证(下层错误不会影响上层),系统维护与扩展简单。
- 缺点:分层难度大,合理划分层次需要大量设计经验;层间调用会带来额外性能开销,系统效率较低。
-
模块化结构

- 核心思想:按功能将系统划分为若干独立的模块,每个模块实现特定功能,模块间通过预先定义的接口通信,无需了解彼此内部实现。
- 优点:结构灵活,可维护性强,便于模块的替换与升级;支持并行开发,缩短开发周期。
- 缺点:接口定义复杂,模块间的依赖关系难以梳理;缺乏统一的调度与管理机制,系统整体协调性较弱。
-
宏内核(大内核)
- 核心思想:将所有核心功能(进程管理、内存管理、设备管理、文件管理等)集成在一个内核中,全部运行在内核态。典型代表:Linux、Windows。
- 优点:模块间通信无需状态切换,效率高,系统整体性能强;功能集成度高,便于资源的统一调度与管理。
- 缺点:内核体积庞大,结构复杂,维护难度大;耦合度高,一处模块错误可能导致整个系统崩溃,可靠性较低。
-
微内核

- 核心思想:仅保留最基础的功能(如进程通信、中断处理、内存管理的核心部分)在内核态,其余功能(如文件管理、设备驱动、网络协议)移至用户态的服务进程中,通过消息传递实现通信。典型代表:QNX、Minix。
- 优点:内核体积小,结构简单,易于维护与移植;可靠性高,服务进程崩溃不会影响内核,可实现故障隔离;扩展性强,新增功能只需添加新的服务进程。
- 缺点:内核态与用户态之间的消息传递频繁,带来较大的性能开销;系统整体效率低于宏内核。
七、虚拟机
虚拟机是虚拟特征的典型应用,通过虚拟机管理程序(VMM,又称 Hypervisor),在一台物理机上虚拟出多台逻辑独立的计算机,每台虚拟机拥有独立的 CPU、内存、I/O 设备等资源,可安装独立的操作系统。
根据 VMM 的运行位置,虚拟机分为两类:
- 第一类 VMM(裸金属架构):直接运行在物理硬件上,如 VMware ESXi、KVM,性能高,适合企业级虚拟化场景。
- 第二类 VMM(寄居架构):运行在宿主操作系统之上,如 VMware Workstation、VirtualBox,易用性强,无需额外硬件配置,适合个人学习与开发。
一类 VMM(裸金属架构)**:直接运行在物理硬件上,如 VMware ESXi、KVM,性能高,适合企业级虚拟化场景。
- 第二类 VMM(寄居架构):运行在宿主操作系统之上,如 VMware Workstation、VirtualBox,易用性强,无需额外硬件配置,适合个人学习与开发。
虚拟机技术实现了硬件资源的高效复用,是云计算、大数据等技术的核心支撑,也为跨平台开发与测试提供了便利。
更多推荐



所有评论(0)