操作系统(Operating System,OS)是配置在计算机硬件上的第一层软件,其主要作用是管理好这些设备,提高它们的利用率和系统的吞吐量,并为用户和应用程序提供一个简单的接口,便于用户使用软硬件资源。
操作系统的目标和作用
操作系统的目标
方便性
有效性
- 提高系统资源的利用率
- 提高系统的吞吐量
可扩充性
开放性
- 系统能够遵循世界标准规范
操作系统的作用
OS作为用户与计算机硬件系统之间的接口
OS 作为用户与计算机硬件系统之间接口的含义是:OS 处于用户与计算机硬件系统之
间,用户通过 OS 来使用计算机系统。
用户可通过以下三种方式使用计算机
- 命令方式
- 系统调用方式
- 图形、窗口方式

OS作为计算机系统资源的管理者
资源归纳起来分为四类:处理器、存储器、I/O 设备以及信息(数据和程序)
- 处理器管理:用于分配和控制处理机
- 存储器管理:负责内存的分配和回收
- I/O设备管理:负责I/O设备的分配与操纵;文件管理,负责文件的存取、共享和保护
OS实现了对计算机资源的抽象

操作系统的发展过程
无操作系统的计算机系统
人工操作方式
缺点:
- 用户独占
- CPU等待人工操作
脱机输入/输出方式

优点:
- 减少了CPU的空闲时间
- 提高了I/O速度
单道批处理系统
单道批处理系统(Simple Batch Processing System)
处理流程

特征
- 自动性
- 顺序性
- 单道性
多道批处理系统
概念
多道批处理系统(Multiprogrammed Batch Processing System),用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列”;然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享 CPU 和系统中的各种资源。
好处:
- 提高CPU的利用率

- 提高内存和I/O设备利用率
- 增加系统吞吐量
优缺点
- 资源利用率高
- 系统吞吐量大
- 平均周转时间长
- 无交互能力
需要解决的问题
- 处理机管理问题
- 内存管理问题
- I/O设备管理问题
- 文件管理问题
- 作业管理问题
分时系统
分时系统(Time Sharing System)
分时系统的产生
- 人机交互
- 共享主机
- 便于用户上机
第一台真正的分时操作系统(CTSS,Compatable Time Sharing System)是由麻省理工学院开发成功的。
关键问题
- 及时回收
- 及时处理
特征
- 多路性
- 独立性
- 及时性
- 交互性
实时系统
实时系统(Real Time System)
应用需求
- 实时控制
- 实时信息处理
实时任务
- 按任务执行时是否呈现周期性来划分
- 周期性任务
- 非周期性任务
- 根据截止时间的要求来划分
- 硬实时任务
- 软实时任务
操作系统基本特征
并发性
并行与并发
并行性和并发性(Concurrence)。并行性是指两个或多个事件在同一时刻发生;而并发性是指两个或多个事件在同一时间间隔内发生。
引入进程
进程是操作系统中可以拥有资源并作为独立运行的基本单位。
引入线程
线程作为独立运行和独立调度的基本单位。
共享性
互斥共享方式
同时访问方式
虚拟技术
时分复用技术
- 虚拟处理机技术
- 虚拟设备技术
空分复用技术
- 虚拟磁盘技术
- 虚拟存储器技术
异步性
操作系统的主要功能
处理机管理功能
进程控制
进程同步
- 进程互斥方式
- 进程同步方式
进程通信
调度
- 作业调度
- 进程调度
存储器管理功能
内存分配
为了实现内存分配,在内存分配的机制中应具有这样的结构和功能:
- 内存分配数据结构
- 内存分配功能
- 内存回收功能
内存保护
地址映射
内存扩充
- 请求调入功能
- 置换功能
设备管理功能
设备管理应具有缓冲管理、设备分配和设备处理以及虚拟设备等功能。
缓冲管理
最常见的几种缓冲区机制:单缓冲机制,能实现双向传送数据的双缓冲机制,提供多个设备同时使用的公共缓冲池机制。
设备分配
根据用户进程的I/O请求、系统的现有资源情况以及按照某种设备的分配策略,为之分配其所需的设备。
设备处理
设备处理程序又称设备驱动程序。基本任务是实现CPU和设备控制器之间的通信。
文件管理功能
文件存储空间的管理
系统设置相应的数据结构,用于记录文件存储空间的使用情况,以供分配存储空间时参考;系统还具有对存储空间进行分配和回收的功能。
目录管理
文件的读/写管理和保护
- 文件的读/写管理
- 文件保护
- 防止未经核准的用户存取文件
- 防止冒名顶替存取文件
- 防止以不正确的方式使用文件
操作系统与用户之间的接口
- 用户接口
它是提供给用户使用的接口,用户可通过该接口取得操作系统的服务 - 程序接口
它是提供给程序员在编程时使用的接口,是用户程序取得操作系统服务的唯一途径
用户接口
- 联机用户接口
- 脱机用户接口
- 图形用户接口
程序接口
OS结构设计
传统操作系统结构
无结构操作系统
模块化结构OS
概念

模块独立性
- 内聚性,指模块内部各部分间联系的紧密程度。内聚性越高,模块的独立性越强。
- 耦合度,指模块间相互联系和相互影响的程度。显然,耦合度越低,模块的独立性越好。
模块接口法的优缺点
利用模块―接口法开发的 OS,较之无结构 OS 具有以下明显的优点:
- 提高 OS 设计的正确性、可理解性和可维护性;
- 增强 OS 的适应性;
- 加速 OS 的开发过程。
模块化结构设计仍存在下述问题:
- 在 OS 设计时,对各模块间的接口规定很难满足在模块完成后对接口的实际需求。
- 在 OS 设计阶段,设计者必须做出一系列的决定(决策),每一个决定必须建立在上一个决定的基础上。但在模块化结构设计中,各模块的设计齐头并进,无法寻找到一个可靠的决定顺序,造成各种决定的“无序性”,这将使程序设计人员很难做到“设计中的每一步决定都是建立在可靠的基础上”,因此模块―接口法又被称为“无序模块法”。
分层式结构OS
将一个操作系统分为若干个层次,每层又由若干个模块组成,各层之间只存在着单向的依赖关系,即高层仅依赖于紧邻它的低层。
优缺点
优点:
- 易保证系统的正确性
- 易扩充和易维护
缺点:
- 系统效率降低了
客户/服务器模式
客户/服务器(Client/Server)模式可简称为 C/S 模式。