操作系统概述
操作系统(Operating System, OS)是我们日常接触计算机时,虽然不一定直接“看到”,但无时无刻不在依赖的核心软件。它就像一位神通广大的“大管家”,默默地管理着计算机的方方面面,确保一切井然有序。
什么是操作系统?
操作系统是一组控制和管理计算机硬件和软件资源、合理地组织计算机工作流程以及方便用户使用的程序的集合。简单来说,它是硬件与用户(及应用程序)之间的桥梁。
操作系统为何如此重要?
操作系统并非凭空出现,它的设计和存在是为了实现一系列关键目标:
操作系统的核心目标
- 方便性 (Convenience): 让用户更容易、更方便地使用计算机,无需关心底层硬件的复杂细节。
- 有效性 (Efficiency): 更高效地管理和利用计算机资源(CPU、内存、设备等),提高系统吞吐量和资源利用率。
- 可扩充性 (Extensibility): 允许在不修改现有核心代码的情况下,方便地增加新的功能和模块。
- 开放性 (Openness): 遵循标准规范,使得不同厂商的软硬件产品可以互操作。
操作系统的主要功能
为了达成上述目标,操作系统需要具备多种核心功能,就像一位多才多艺的管家,精通各项事务。
处理器管理 (CPU Management / Process Management)
CPU 是计算机的大脑,处理器管理的核心任务是合理分配和调度 CPU 时间给各个运行中的程序(即进程)。
- 进程控制: 负责进程的创建、终止、挂起、激活等生命周期管理。
- 进程调度: 采用特定算法(如先来先服务、时间片轮转)决定哪个进程何时获得 CPU 使用权。
- 进程同步与通信: 解决多个进程并发执行时可能出现的资源竞争和协作问题。
存储器管理 (Memory Management)
内存是程序运行的“舞台”,存储器管理负责高效、安全地分配和管理内存资源。
- 内存分配与回收: 为进程动态分配所需内存,并在进程结束后及时回收。
- 地址映射/重定位: 将程序使用的逻辑地址转换为物理内存地址。
- 内存保护: 防止进程越界访问,确保系统和其他进程的安全。
- 内存扩充: 利用虚拟内存技术(如分页、分段),让程序感觉拥有比实际物理内存更大的空间。
设备管理 (Device Management / I/O Management)
计算机连接着各种输入输出设备(键盘、鼠标、磁盘、打印机等),设备管理负责协调它们的工作。
- 设备分配与回收: 管理和分配设备给请求使用的进程。
- 缓冲管理: 设置缓冲区以缓解 CPU 与 I/O 设备之间速度不匹配的问题。
- 设备驱动: 提供与具体硬件交互的驱动程序,屏蔽硬件差异。
- 中断处理: 响应和处理来自硬件设备的中断请求。
文件管理 (File Management)
数据以文件的形式存储在外存(如硬盘)上,文件管理负责组织和存取这些文件。
- 文件存储空间的管理: 在外存上组织和分配空间给文件。
- 目录管理: 提供文件组织结构(如文件夹),方便用户查找和管理文件。
- 文件的读写管理和保护: 控制用户对文件的访问权限,确保数据安全。
- 文件操作: 提供创建、删除、打开、关闭、读写等基本文件操作接口。
用户接口 (User Interface)
操作系统还需要提供用户与计算机交互的途径。
- 命令接口 (CLI): 用户通过输入文本命令进行交互(如 Linux Shell, Windows CMD)。
- 图形用户接口 (GUI): 用户通过窗口、图标、菜单等图形元素进行交互(如 Windows 桌面, macOS 桌面)。
- 程序接口 (API) / 系统调用 (System Calls): 应用程序通过这些接口请求操作系统提供的服务。
操作系统的四大基本特征
操作系统的功能实现依赖于其几个基本特征:
操作系统的主要特征
- 并发 (Concurrency): 允许多个程序在同一时间间隔内“同时”运行(宏观上并行,微观上可能是交替执行)。这是操作系统提高资源利用率和系统吞吐量的核心手段。
- 共享 (Sharing): 系统中的资源(CPU、内存、设备、文件等)可以被多个并发的进程共同使用,而非被某个进程独占。共享分为互斥共享(如打印机一次只能一个进程用)和同时访问(如只读文件可以多个进程同时读)。
- 虚拟 (Virtuality): 通过技术手段将一个物理实体转变为若干个逻辑上的对应物。例如,通过虚拟内存技术,让每个程序感觉拥有独立的、远大于实际物理内存的地址空间;通过虚拟处理器技术,让每个进程感觉自己独占一个CPU。
- 异步 (Asynchrony): 由于并发和资源共享,进程的执行过程并非一气呵成,而是走走停停,其推进速度是不可预知的。操作系统需要处理这种不确定性,确保系统在各种事件发生时都能正确响应。