第一章 操作系统引论
1.1 操作系统的概念与目标
操作系统(Operating System,OS)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。其主要目标是:
- 方便性:为用户提供友好的交互界面,使计算机更易于使用。
- 有效性:提高系统资源的利用率和系统的吞吐量。
- 可扩充性:便于增加新功能和模块,适应硬件与体系结构的发展。
- 开放性:遵循国际标准,支持软硬件兼容与互操作。
1.2 操作系统的发展历程
- 手工操作阶段(无操作系统):用户独占全机,CPU等待人工操作,资源利用率极低。
- 批处理系统:通过监督程序实现作业的自动过渡,分为单道批处理(顺序执行)和多道批处理(多程序并发,显著提高资源利用率)。
- 分时系统:采用时间片轮转方式,使多个用户通过终端共享主机资源,提供交互能力,例如UNIX系统。
- 实时系统:能够及时响应外部事件,在规定时间内完成处理,分为实时控制系统(如工业控制)和实时信息处理系统(如订票系统)。
- 现代操作系统发展:随着网络化和分布式计算的需求,出现了网络操作系统(如Windows Server)和分布式操作系统(如谷歌的分布式架构),强调资源共享、通信与协同。
1.3 操作系统的基本特性
- 并发性:多个事件在同一时间间隔内发生。操作系统通过进程管理实现并发执行。
- 共享性:系统资源可供多个并发执行的进程共同使用,包括互斥共享(如打印机)和同时访问(如只读文件)。
- 虚拟性:通过技术将一个物理实体映射为多个逻辑实体,如虚拟存储器(利用硬盘扩展内存)和虚拟处理器(多道程序分时使用CPU)。
- 异步性:进程的执行以不可预知的速度推进,但操作系统必须保证在相同环境下运行结果的一致性。
1.4 操作系统的主要功能
- 处理机管理:包括进程控制、同步、通信和调度,核心是多道程序环境下CPU的高效分配。
- 存储器管理:负责内存分配与回收、地址映射、内存保护与扩充(虚拟内存技术)。
- 设备管理:完成I/O请求,实现设备分配、缓冲管理和虚拟设备功能(如SPOOLing技术)。
- 文件管理:管理外存信息,提供文件存储、检索、共享和保护机制。
- 用户接口:提供命令接口(CLI)、图形用户界面(GUI)和程序接口(API),方便用户与系统交互。
1.5 操作系统的体系结构
- 传统的模块化结构:将功能划分为模块,接口复杂,维护困难。
- 分层式结构:将系统分为若干层,每层基于下层服务,结构清晰但效率可能降低。
- 微内核结构:将核心功能(如进程通信、低级存储管理)置于微内核,其他功能作为服务进程运行,提高了可扩展性和可靠性,代表如Mach和Windows NT。
1.6 计算机系统集成中的操作系统角色
在计算机系统集成中,操作系统处于核心地位,承上启下:
- 硬件抽象层:隐藏硬件细节,为上层软件提供统一的调用接口。
- 资源管理者:集成CPU、内存、I/O设备等硬件资源,实现高效、公平的分配与调度。
- 系统服务提供者:通过系统调用为应用程序提供文件、网络、安全等基础服务。
- 协同与扩展平台:支持多任务并发、网络通信和分布式计算,是构建复杂应用系统(如数据库、Web服务器)的基础平台。
本章小结
第一章奠定了操作系统学习的基础,明确了其作为计算机系统核心软件的地位。从发展历程理解其演进的驱动力,从四大特性把握其本质,从五大功能掌握其核心任务。在计算机系统集成中,操作系统是连接硬件与应用的关键枢纽,其设计与性能直接影响整个系统的效率、稳定性和可扩展性。后续章节将深入探讨进程管理、内存管理等具体功能的实现原理。