第一章 计算机操作系统概述
1.1 引言
计算机操作系统(Operating System, OS)是计算机系统中最核心、最基础的系统软件。它直接运行在计算机硬件之上,管理计算机的所有硬件资源和软件资源,并为用户和其他软件提供一个高效、稳定、安全的运行环境。可以将其理解为计算机系统的“大管家”或“总调度师”。
1.2 计算机系统服务
操作系统为计算机系统提供了多层次的服务,这些服务构成了其核心功能。这些服务主要面向两类用户:普通用户和应用程序开发者。
1.2.1 面向用户的服务
- 用户界面(User Interface, UI):这是用户与计算机系统交互的窗口。操作系统通常提供两种主要界面:
- 命令行界面(Command-Line Interface, CLI):用户通过输入特定的文本命令来操作计算机,如Linux/Unix的Shell、Windows的CMD/PowerShell。其特点是功能强大、效率高,但需要记忆命令。
- 图形用户界面(Graphical User Interface, GUI):用户通过窗口、图标、菜单和指针(WIMP)等图形元素与系统交互,如Windows的桌面、macOS的Finder。其特点是直观、易用,是个人计算机的主流界面。
- 程序执行:操作系统负责将用户指定的程序(如Word、浏览器)从存储设备(如硬盘)加载到内存中,并使其运行。它处理程序启动、运行和终止的整个过程。
- 文件系统操作:操作系统提供了一套统一的接口,允许用户和程序方便地创建、删除、读取、写入、重命名、搜索和管理存储在磁盘等设备上的文件与目录,而无需关心底层硬件的具体细节。
- 通信服务:现代操作系统支持进程(运行中的程序)之间、不同计算机之间通过网络进行通信。操作系统负责管理通信连接、数据传输和错误处理。
- 错误检测与处理:操作系统需要持续监控系统的运行状态,能够检测和处理硬件或软件可能出现的各种错误(如内存访问错误、设备故障、程序异常等),以保护系统稳定性和数据完整性。
1.2.2 面向系统本身和程序开发者的服务
- 资源管理:这是操作系统最核心的职能。计算机的硬件资源(CPU、内存、I/O设备等)是有限的,而需求是多个且并发的。操作系统就像一个高效的资源管理器,其核心任务包括:
- 处理器(CPU)管理:通过进程调度算法,决定在任一时刻哪个进程可以获得CPU使用权,以实现多任务并发执行,提高CPU利用率。
- 内存管理:记录内存的分配与释放情况,为每个进程分配必要的内存空间,并在物理内存不足时利用虚拟内存技术(如页面置换)扩展可用内存,同时保护各进程的内存空间互不干扰。
- 设备管理:通过设备驱动程序,管理和控制所有的输入/输出设备(如键盘、鼠标、显示器、打印机、磁盘),处理设备的I/O请求,并为用户和应用程序提供一个简洁、统一的设备使用接口,屏蔽设备差异。
- 文件管理:如前所述,管理磁盘上的文件系统,包括存储空间分配、文件存取权限控制、数据备份等。
- 保护与安全:在多用户系统或网络环境中,操作系统必须确保系统资源不被未授权访问或恶意破坏。这包括:
- 访问控制:通过用户账户、权限设置等手段,确保用户只能访问其被授权的资源。
- 安全机制:防御病毒、木马、黑客攻击等安全威胁,保护系统数据和用户隐私。
- 为应用程序提供接口(API):操作系统通过一系列预定义的系统调用(System Calls)或应用程序编程接口(API),向软件开发人员提供服务。开发者无需直接与复杂的硬件打交道,只需调用这些接口,即可实现文件操作、网络通信、内存申请等功能,极大地提高了开发效率和程序的可移植性。
1.3 小结
计算机操作系统通过提供上述核心服务,在用户/应用程序与计算机硬件之间架起了一座桥梁。它抽象了复杂的硬件操作,管理着所有系统资源,并为上层提供了稳定、高效、安全的运行平台。理解这些基础服务,是深入学习进程管理、内存管理、文件系统等后续核心机制的重要基石。
关键词:操作系统(OS), 资源管理, 用户界面(UI), 系统调用(API), 进程, 内存管理, 文件系统。