操作系统复习笔记
此部分内容为笔者大二下学期的复习笔记摘过来的。
Ⅰ操作系统引论
什么是操作系统
- 操作系统是一组管理计算机硬件资源的软件集合,它向计算机程序提供共性的服务。
| API(Application Programming Interface) | ABI(Application Binary Interface) | |
|---|---|---|
| 定义 | 是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需了解源码和内部实现细节。 | 目标文件格式、符号修饰标准、变量内存分布方式、函数调用方式等这些跟二进制可执行代码兼容性相关的内容称为 ABI。 |
| 描述的内容 | API 规定操作系统、硬件平台、服务组件、语言函数库等需要提供的功能函数接口; | ABI 规定了二进制文件的格式、内容、装载/卸载程序的要求、函数调用时的参数传递规则、寄存器、堆栈的使用 |
| 作用的层面 | API描述代码级层面的接口 | ABI描述二进制层面的接口 |
| 兼容的难度 | ABI的兼容程度比API更为严格,即ABI实现兼容更加困难。 |
操作系统简史
批处理系统
- 批处理系统:加载在计算机上的一个系统软件,在 它的控制下,计算机能够自动地、成批地处理一个 或多个用户的作业(这作业包括程序、数据和命令 )
- 它又分为两个阶段:联机批处理系统和脱机批处理 系统。
- 首先出现的是联机批处理系统,即作业的输入/输出 由CPU来处理。
- 为克服与缓解高速主机与慢速外设的矛盾,提高 CPU的利用率,又引入了脱机批处理系统,即输入/ 输出脱离主机控制
- 批处理技术:计算机系统对一批作业进行处理的技术。
| 联机批处理系统 | 脱机批处理系统 | |
|---|---|---|
| 工作机理 | 在主机与输入机之间增加一个存储设备——磁带, 在运行于主机上的监督程序的自动控制下,计算机 可自动完成:成批地把输入机上的用户作业读入磁 带,依次把磁带上的用户作业读入主机内存并执行 ,然后把计算结果向输出机输出。完成了上一批作 业后,监督程序又从输入机上输入另一批作业,保 存在磁带上,并按上述步骤重复处理。 | 增加一台不与主机直接相 连而专门用于与输入/输出设备打交道的卫星机。 其功能是: (1)从输入机上读取用户作业并放到输 入磁带上。(2)从输出磁带上读取执行结果并传给 输出机。 |
| 优点 | 监督程序不停地处理各个作业,从而实现了作业到 作业的自动转接,减少了作业建立时间和手工操作 时间,有效克服了人机矛盾,提高了计算机的利用 率。 | 主机不直接与慢速的输入/输出设备打交道,而是与 速度相对较快的磁带机发生关系,有效缓解了主机 与设备的矛盾。主机与卫星机可并行工作,二者分 工明确,可以发挥主机的高速计算能力 |
| 缺点 | 在作业输入和结果输出时,主机的高速CPU仍处于 空闲状态,即等待慢速的输入/输出设备完成工作: 此时主机处于“忙等”状态。 | 每次主机内存中仅存放一道作业,每当它运行期间 发出输入/输出(I/O)请求后,高速的CPU便处于 等待低速的I/O完成状态,致使CPU空闲。 |
为进一步提升CPU的利用率,又引入了多道程序系统。
多道程序系统
- 所谓多道程序设计技术,就是指允许多个程序同时 进入内存并运行。即同时把多个程序放入内存中( 前提是内存放的下),并允许它们交替在CPU中运 行,它们共享系统中的各种硬、软件资源。当一道 程序因I/O请求而暂停运行时,CPU便立即转去运 行另一道程序。
- 多道程序设计技术不仅使CPU得到充分利用,同时 也改善I/O设备和内存的利用率,从而提高了整个 系统的资源利用率和系统吞吐量(即单位时间内处 理作业(程序)的个数),最终提高了整个系统的 效率
单处理机系统中多道程序运行时的特点:
- 多道:计算机内存中同时存放几道相互独立的程序 ;
- 宏观上并行:同时进入系统的几道程序都处于运行 过程中,即它们先后开始了各自的运行,但都未运 行完毕;
- 微观上串行:实际上,各道程序轮流地用CPU,并 交替运行。
多道批处理系统:
- 多道系统内可同时容纳多个作业。这些作业放在 外存中,组成一个后备队列,系统按一定的调度原 则每次从后备作业队列中选取一个或多个作业进入 内存运行,运行作业结束、退出运行和后备作业进 入运行均由系统自动实现,从而在系统中形成一个 自动转接的、连续的作业流。
- 成批:在系统运行过程中,不允许用户与其作业发 生交互作用,即:作业一旦进入系统,用户就不能 直接干预其作业的运行。
- 优点: •系统吞吐量大 •资源利用率高
- 缺点: •平均周转时间长 •不能提供交互能力
分时系统
- What:将CPU处理时间分割为多个时间片,将时间片分给不同 程序,达到多个程序“同时”运行的效果
- Why:批处理系统一次执行一个程序,I/O过程CPU空转 ;为进一步提高CPU利用率,支持多用户、多进程
分时的含义
分时是指多个用户分享使用同一台计算机。多 个程序分时共享硬件和软件资源 。
- 多个用户分时
- 前台和后台程序(foreground & background)分时
- 时间片(time slice)
分时技术
- 把处理机的运行时间分成很短的时间片 ,按时间片轮流把处理机分配给各联机作业使用。
- 由于CPU速度不断提高和采用分时技术,一台计算 机可同时连接多个用户终端,而每个用户可在自己 的终端上联机使用计算机,好象自己独占机器一样
特点:
a)多路性。若干个用户同时使用一台计算机。微观上看是 各用户轮流使用计算机;宏观上看是各用户并行工作。
b)交互性。用户可根据系统对请求的响应结果,进一步向 系统提出新的请求。这种能使用户与系统进行人机对话 的工作方式,明显地有别于批处理系统,因而,分时系 统又被称为交互式系统。
c)独立性。用户之间可以相互独立,互不干扰。系统保证 各用户程序运行的完整性,不会发生相互混淆或破坏现 象。
d)及时性。系统可对用户的输入及时作出响应。分时系统 性能的主要指标之一是响应时间,它是指:从终端发出 命令到系统予以应答所需的时间。
影响响应时间的因素: §系统开销 §用户数目 §时间片 §对换信息量
提高响应速度的方法:§采用可重入代码 §引入虚存减少对换
分布式系统
Network Operating System网络操作系统 :在传统单机OS上加单独软件层,主要提供联网功能和资 源的远程访问,实现多机互联
Distributed Operating System分布式操作系统 :多台机器统一管理形成单一系统,相比网络操作系统, 对用户和应用高度透明
分布式操作系统的透明性体现在
- 1.数据透明:用户无需了解文件存储位置
- 2.执行透明:用户无需关心程序运行位置
- 3.保护透明:统一的身份管理和安全机制
分布式系统:在整个系统中有一个全局的操作系统称为分布式操作系统
实时系统
特点:
- 及时响应
- 高可靠性和安全性
- 系统的整体性强
- 交互会话活动较弱
- 专用系统
- 种类:实时信息处理、实时控制
计算机硬件简介
操作系统的基本实现机制
异常(exception): 陷阱(trap)和中断 (interrupt)
- 中断是异步异常,可能随时发生,与处理器正在执行的内容无关。中断主要由I/O设备、处理器时钟或定时器产生 ,可以被启用或禁用。 (Asynchronous Exceptions)
- 同步异常,它是某一特定指令执行的结果。在相同条件下 ,异常可以重现。例如内存访问错误、调试指令以及被零除。 (Synchronous exceptions)
- 系统调用也视作同步异常,或陷阱trap。
- 软件和硬件都可以产生中断,软件中断常称为陷阱trap。
- 陷阱(trap)帧:完整的线程描述表的子集,用于现场保护
- 陷阱处理程序处理少量事件,多数转交给其他的内核或执 行体模块处理
中断和异常的区别:
- 狭义的中断来源于处理器之外的中断事件,即与当前运行指令无关的中断事件,如I/O中断、时钟中断、外部信号中断等
- 异常(来源于CPU内部的中断事件,和狭义共同构成广义的中断)指当前运行指令引起的中断事件,如地址异常、算术异常、处理器硬件故障等

系统调用System Call(Windows)
- CPU执行int 0x2e,CPU运行状 态切换为系统态;
- 当前进程使用的堆栈,从用户 态切换到系统态。堆栈原先的 内容(用户态),以及用户空 间的堆栈指针,被压入系统空 间堆栈。
- 从中断向量表中(Interrupt Descriptor Table)以0x2e为中断 向量,开始执行系统空间中的 程序。
- 程序执行后,通过iret(中断返 回)指令实现上述过程的逆过程
(Linux为执行INT 0x80)
操作系统的特征
操作系统的功能
- 处理机管理
- 存储器管理(内存)
- 设备管理
- 文件管理
- 作业控制
操作系统结构
微内核结构
- 内核中只包括中断处理、进程通信(IPC)、基本 调度等
- 文件系统、网络功能、内存管理、设备管理等作 为服务在微内核上运行。
- 优点:
- 内核易于实现、可移植性好、配置灵活、适应分布 式环境(本地内核与远程内核对服务提供同样支 持)、安全性高
- 缺点:
- 速度较慢。(扩大内核减少切换;减少内核提高其 他优点)
- ↑ 频繁地在内核态和用户态之间切换。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 bush's Blog!