1.1 操作系统的形成与发展 2008 年 11 月 1 日 星期六
1.1.1 人工操作阶段
1.1.2 管理程序阶段
1.1.3 多道程序设计与操作系统的形成
1. 多道程序设计:是指允许多个作业(程序)同时进入计算机系统的主存并启动交替计算的方法;
a) 中断和通道,使得计算机体系结构由原先的以CPU为中心转变为以主存为中心;
b) 在多道程序设计中,值得注意的是道数的多少。要考虑到等待I/O的概率,此外,主存的容量和用户的响应时间等因素也会影响到多道程序的道数。
c) 实现多道程序设计必须妥善解决是3个问题:
i. 存储保护与程序浮动:
ii. 处理器的管理与分配:
iii. 资源的管理与调度:各种资源的利用率问题。
2. 操作系统的形成:中断和通道技术的出现使得硬部件具有并行工作的能力。
1.1.4 操作系统的发展与分类
嵌入式操作系统:是指运行在嵌入式应用环境中,对整个系统及所有操作的各种部件、装置等资源进行同一协调、处理、指挥和控制的系统软件。
1.2 操作系统的基本服务和用户接口
1.2.1 基本服务和用户接口
1. 基本服务:
a) 创建与执行程序;
b) 数据I/O和信息存取;
c) 通信服务;
d) 差错检测和处理;
e) 资源分配;
f) 统计;
g) 保护;
h) 等等;
2. 用户接口:
a) 程序接口:“系统调用”,获得操作系统的低层服务,访问各种软硬件资源;
b) 操作接口:为用户提供的组织和控制作业执行的手段;
1.2.2 程序接口与系统调用
1. 系统调用:一种中介角色,把用户和硬件隔离开来,应用程序只有通过系统调用才能请求系统服务并使用系统资源;是应用程序获得操作系统服务的唯一途径;
a) 访管指令,产生异常信号,中断机制,处理器由用户态转变为核心态;
2. API,库函数和系统调用:
a) API是一个函数定义,说明如何获得给定的服务,一个API的实现可能会用到一个或多个系统调用;
3. 系统调用的分类:
a) 进程管理;
b) 文件操作;
c) 设备管理;
d) 主存管理;
e) 进程通信
f) 信息维护。
4. 系统调用实现要点:
a) 实现系统调用使用陷阱或异常处理机制;
b) 由于系统调用引起处理器中断的机器指令称为:访管指令、自陷指令或中断指令。
c) 系统调用实现要点:‘
i. 编写系统调用服务函数;
ii. 设计系统调用的入口地址表;
iii. 陷阱处理机制。
5. 系统调用与函数调用直接的区别:
a) 调用形式和实现方式不同:函数调用地址不固定、系统调用提供功能号;
b) 被调用代码的位置不同;
c) 提供方式不同;
1.2.3 作业接口与操作命令
1.3 操作系统结构和运行模型
操作系统具有高度的动态性和随机性、逻辑上的并发性和物理上的并行性,操作系统的结构设计有三层含义:
1. 整体结构:功能划分、相互交换;
2. 局部结构:数据结构、控制结构;
3. 运行时组织:进程线程、系统空间用户空间等;
1.3.1 操作系统的构件和结构
1. 内核:
a) 一组程序模块,作为可信软件来提供支持进程并发执行的基本功能和基本操作,通常驻留在内核空间,运行于核心态;
b) 内核的分类:
i. 单内核:模块之间的交互直接调用其他模块中的函数来实现;
1. 整体式结构:
2. 层次式结构:把模块按照功能的调用次序排成若干层次,各层单向调用的关系。必须建立模块(进程)间的通信机制,系统花费在通信上的开销比较大。
ii. 微内核:只把应用必需的核心功能放入内核;其他功能放到内核之外,通过微内核所提供的消息传递机制完成进程之间通信;
1. 由于进程具有不同的虚拟地址空间,客户和服务器进程之间采用消息传递机制进行通信,而内核被映射到所有进程的虚拟地址空间内,它可以控制所有进程。
2. 微内核结构的优点:
a) 对进程提供一致性接口,所有服务均借助消息传递机制提供。
b) 具有较好的可扩充性和易修改性;
c) 可移植性好。
c) 内核的功能:资源抽象(屏蔽底层细节)、资源分配、资源共享
d) 内核的属性:
i. 内核由中断来驱动;
ii. 内核是不可抢占的;
iii. 内核部分程序在屏蔽中断状态下执行;
iv. 内核可使用特权指令。
e) 机制与策略分离:操作系统的系统调用抽象并实现现有特定目的和功能的函数(提供机制),至于如何使用这些函数则与内核无关,而由上层软件决定(选择策略)。
2. 进程
3. 线程:在多线程环境下,进程是系统进行保护和资源分配的单位,线程则是进程中的一条执行路径,是系统调度的独立单位。
4. 管程:是管理共享资源的一种同步机制,对管程的调用表示对共享资源的请求与释放;管程的引入使得原来分散在进程中的临界区可集中起来统一控制和管理。
5. 类程:管理私有资源,对类程的调用表示对私有资源执行操作。
1.3.2 操作系统的运行模型
1. 独立运行的内核模型:早期实现,内核要并发很难;
2. 在应用程序内执行的模型:为应用程序创建一个核心栈,形成操作系统函数在应用进程内执行的方式;
3. 作为独立进程运行的模型:把操作系统组织成一组系统进程(服务器进程),操作系统的功能就是这些系统进程集合运行的结果。操作系统的大部分功能在用户态的进程中运行。
1.3.3 Windows2003客户-服务器结构
采用基于对象的技术来设计和实现;采用客户-服务器结构,应用进程和服务器进程之间通过执行体中的消息传递机制进行通信。
1.4 流行操作系统简介
1.4.1 Windows操作系统
1.5 本章小结
三种资源管理:复用、虚化、抽象;
三种基本抽象:进程抽象、虚存抽象、文件抽象;
三个重要特征:并发、共享、随机。