本资料集包含了详细的操作系统设计原理与实践内容,涵盖进程管理、内存分配、文件系统及I/O处理等方面的知识和案例分析。适合深入学习操作系统的工程师或学生使用。
操作系统定义为一组控制与管理计算机软硬件资源的程序集合,旨在使用户能够方便地使用计算机。
操作系统的五大基本功能包括:进程管理、存储管理、文件管理、设备管理和作业管理。
其主要组成部分如下:
1. 驱动程序是直接控制和监视各类硬件的部分。它们隐藏了具体细节,并向其他部分提供抽象的通用接口。
2. 内核,位于操作系统的核心位置并运行在最高权限级别上,负责提供基础性和结构性的功能。
3. 支持库(或称“接口库”)是一系列特殊的程序库,职责在于将系统提供的基本服务包装成应用程序能够使用的编程接口。这是最接近应用层的部分。
4. 外围部分是操作系统中除上述三类之外的所有其他组成部分,通常用于提供特定高级功能的服务部件。
操作系统的分类包括:批处理系统、分时操作系统、实时操作系统、分布式操作系统、网络操作系统和嵌入式操作系统。
特点:
1. 并发性:在计算机系统中同时存在多个程序,并且从宏观上看这些程序是同步推进的。实际单CPU上,它们是在交替运行。
2. 共享性:操作系统的资源被其自身以及众多用户使用的特性。
3. 随机性:操作系统在一个不可预测的环境中工作,设备可能随时向处理器发送中断请求,并且系统无法预知当前程序将如何运作或何时结束。
4. 虚拟化(virtual)是通过技术手段实现物理实体到逻辑对应物转变的过程。在操作系统中,虚拟化的实施主要依靠分时策略来达成多个用户同时使用同一资源的效果。
5. 异步性:即不确定性。同一个程序和数据的多次运行可能会产生不同的结果;程序执行的时间、顺序也具有不可预测性;外部请求或故障的发生时间也无法准确估计。