操作系统(Operating System,简称 OS)是计算机系统中最基础、最核心的软件。它位于硬件与应用程序之间,负责管理计算机的所有资源,并为用户和应用程序提供服务。本章将从计算机系统服务的视角,概述操作系统的基本概念、功能与目标。
一、操作系统的定义与角色
操作系统可以被视为一个 资源管理器 和 服务提供者。从资源管理角度看,它负责高效、公平地管理计算机的硬件资源,包括:
- 处理器(CPU)管理:通过进程调度,决定哪个程序在何时使用CPU。
- 内存管理:为程序分配和回收内存空间,实现内存保护与扩充。
- 设备管理:管理各种I/O设备,提供统一的设备驱动接口。
- 文件管理:组织、存储和保护文件系统中的数据。
从用户角度看,操作系统是一个 扩展机 或 虚拟机,它屏蔽了底层硬件的复杂性和差异性,为用户提供了一个更简洁、更易用的接口。
二、操作系统提供的服务(计算机系统服务)
操作系统通过一系列服务来支撑上层应用程序和用户。这些核心服务包括:
- 用户接口(User Interface):
- 命令接口:如命令行(CLI,Windows CMD / Linux Shell)。
- 图形用户界面:如Windows、macOS的桌面环境(GUI)。
- 程序接口:即系统调用(System Call),是应用程序请求操作系统服务的唯一方式。
- 程序执行:操作系统能够将程序从外存加载到内存,并启动其运行,为其分配必要的资源,并在结束时妥善回收资源。
- 文件系统操作:提供创建、删除、读取、写入、移动文件以及管理目录结构等功能。这是操作系统最重要的服务之一。
- 设备操作:统一管理种类繁多的I/O设备(如键盘、鼠标、显示器、磁盘、打印机),应用程序无需关心具体设备的控制细节。
- 通信服务:管理进程间的通信(IPC),以及通过网络协议栈实现计算机间的通信。
- 错误检测与处理:操作系统需要时刻监控硬件和软件可能出现的错误(如内存访问越界、设备故障、除零操作),并采取相应措施(如终止程序、报告错误),以保证系统稳定运行。
- 资源分配与保护:当多个程序或用户同时请求使用资源时,操作系统负责进行协调和调度。它必须确保一个用户的进程不会非法访问或干扰另一个用户的进程或操作系统本身,这通过硬件和软件的协同保护机制实现。
三、操作系统的目标
操作系统设计追求以下几个主要目标:
- 有效性:提高系统资源的利用率和系统的吞吐量。这是早期批处理系统的主要目标。
- 方便性:使计算机更易于使用,无论是对于编程人员还是终端用户。
- 可扩展性:能够方便地添加新的功能和模块,以适应硬件和需求的变化。
- 开放性:遵循公认的标准,以便兼容不同的软硬件。
四、操作系统的特征
现代操作系统普遍具备以下四个基本特征:
- 并发(Concurrency):指在一段时间内,宏观上有多个程序同时运行。操作系统通过进程和线程的管理来实现并发。并发是操作系统最重要的特征。
- 共享(Sharing):系统中的资源(如内存、CPU、文件)可供多个并发执行的进程共同使用。共享分为互斥共享(如打印机)和同时共享(如只读文件)。
- 虚拟(Virtual):通过某种技术,将一个物理实体映射为多个逻辑上的对应物。例如,通过虚拟存储技术,让用户感觉拥有了比实际物理内存大得多的内存空间(虚拟内存)。
- 异步(Asynchronism):在多道程序环境下,进程以不可预知的速度交替执行。只要运行环境相同,操作系统必须保证程序多次执行的结果是相同的。
##
本章从计算机系统服务的角度,阐述了操作系统的核心定义、它作为资源管理者和服务提供者的双重角色,以及其提供的核心服务、设计目标与基本特征。理解这些基础概念是后续深入学习进程管理、内存管理等具体模块的基石。操作系统作为计算机的“大管家”,其核心价值在于高效、安全地管理硬件,并为上层应用提供一个稳定、统一的运行平台。