第一章
1.1.1操作系统的定义和目标
操作系统概论
定义:管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户方便而有效地使用计算机提供良好运行环境的最基本的系统软件。 主要目标:(1)、方便用户使用 (2)、扩充机器功能 (3)、管理各类资源 (4)、提高系统效率 (5)、构筑开放环境 1.1.2操作系统的资源管理技术P6页
1、 操作系统通过共享硬件资源的方式来实现虚拟机抽象,所利用的资源管理技术如下; (1)、资源复用 (2)、资源虚化 (3)、资源抽象
2、操作系统中的基础抽象
(1)、进程抽象(2)、虚存抽象(3)、文件抽象 3、虚拟计算机。 P9页
基本组成部分:虚处理器、虚主存(又称虚拟主存)、虚辅存(又称虚拟辅存)和虚设备 1.1.3操作系统的作用与功能P9页
作用:(1)、操作系统作为用户接口和公共服务程序
(2)、操作系统作为程序执行的控制者和协调者 (3)、操作系统作为扩展机或虚拟机 (4)、操作系统作为资源的管理者和控制者
功能:(1)、处理器管理(2)、存储管理(3)、设备管理(4)、文件管理(5)、网络与通信管理(6)、用户接口
1.1.4操作系统的主要特性
1、并发症:是指两个或两个以上的活动或事件唉同一时间间隔内发生。 1.2.3多道程序设计与操作系统的形成
1、多道程序设计:是指允许多个作业(程序)同时进入计算机系统的主存并启动交替计算的方法。 2、操作系统中引入多道程序设计的优点:一是提高CPU、主存和设备的利用率;二是提高系统的吞吐率,使单位时间内完成的作业数增加;三是充分发挥系统的并行性,设备与设备之间、CPU与设备之间均可并行工作。其主要缺点是延长作业的周转时间。 1.2.4操作系统的发展与分类 1、批处理操作系统 2、分时操作系统
3、实时操作系统:有三种典型的(1)、过程控制系统(2)、信息查询系统(3)、事物处理系统 1.3.2程序接口与系统调用 1、系统调用的分类P30页
(1)、进程管理(2)、文件操作(3)、设备管理(4)、主存管理(5)、进程通信(6)、信息维护 2、系统调用与函数调用之间的区别
(1)、调用形式和实现方式不同(2)、被调用代码的位置不同(3)、提供方式不同 1.4.1操作系统的构件和结构
通常把组成操作系统的基本单位称作构件。剖析现代操作系统,其基本单位除了内核之外,还有进程、线程、管程和类程。
1、 内核:是一组程序模块,作为可信软件来提供支持进程并发执行的基本功能和基本操作,
通常驻留在内核空间,运行于核心态,具有访问硬件设备和所有主存空间的权限,是仅有的能够执行特权指令的程序。
2、 内核的功能:(1)、资源抽象(2)、资源分配(3)、资源共享
3、 内核的属性:(1)、内核是由中断驱动的。(2)、内核是不可抢占的。(3)、内核部分程序在屏蔽中断状
态下执行。(4)、内核可使用特权指令。 1.6本章小结P55页 习题一 一、 思考题
1、什么是操作系统?计算机系统配置操作系统的主要目标是什么?
定义:管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户方便而有效地使用计算机提供良好运行环境的最基本的系统软件。 主要目标:(1)、方便用户使用 (2)、扩充机器功能 (3)、管理各类资源 (4)、提高系统效率
(5) 、构筑开放环境
2、什么是系统调用?可分为哪些类型?
系统调用是一种中介角色,把用户和硬件隔离开来,应用程序只有通过系统调用才能请求系统服务并使用系统资源。
分类:(1)、进程管理(2)、文件操作(3)、设备管理(4)、主存管理(5)、进程通信(6)、信息维护 3、什么是多道程序设计?多道程序设计技术有什么特点?
多道程序设计:是指允许多个作业(程序)同时进入计算机系统的主存并启动交替计算的方法。 操作系统中引入多道程序设计的优点:一是提高CPU、主存和设备的利用率;二是提高系统的吞吐率,使单位时间内完成的作业数增加;三是充分发挥系统的并行性,设备与设备之间、CPU与设备之间均可并行工作。其主要缺点是延长作业的周转时间。 4、简述实现多道程序设计锁必须解决的基本问题。 5、什么是虚拟计算机?分析其组成。
虚拟计算机是一台抽象计算机,它在硬件的基础上由软件来实现,并且与物理机器一样,具有指令集及可用的存储空间。
基本组成部分:虚处理器、虚主存(又称虚拟主存)、虚辅存(又称虚拟辅存)和虚设备 二、 应用题P59页
第二章
2.1.1处理器 1、寄存器P63页
不同类型的处理器由不同种类和数目的寄存器组成,在此以Intel x86为例,介绍各种寄存器。(1)、通用寄存器(2)、指针及变址寄存器(3)、段选择符寄存器(4)、指令指针寄存器和标志寄存器(5)、控制寄存器(6)、外部设备使用的寄存器
2、指令分类:(1)、数据处理类(2)、转移类(3)、数据传送类(4)、移位与字符串类型(5)、I/O类 2、处理器状态:核心态和用户态
3、有两类情况会导致处理器从用户态向核心态转换。一是程序请求操作系统服务,执行系统调用;二是在程序运行时,产生中断或异常事件,运行程序被中断,转向中断处理程序或异常处理程序工作。 从用户模式转向内核模式,不存在类似指令或其他方法 4、 如何实现核心态到用户态的转换呢?
处理器管理
计算机通常提供一条称作加载程序状态字的特权指令(IBM 370为LOAD PSW指令,Intel x86 为IRET指令),用来实现从系统(核心态)返回用户态,将控制权转交给应用进程。
2.2.1中断概念:是指在程序执行过程中,遇到急需处理的事件时,暂时中止现行程序在CPU上的运行,转而执行相应的事件处理程序,待处理完成后再返会断点或调度其他程序执行。 2.2.2中断源分类
1、按中断事件的性质和激活方式划分 两类:强迫性中断和自愿性中断
强迫性中断事件有以下几种:(1)、机器故障中断(2)、程序性中断(3)、外部中断(4)、输入输出中断 2、按中断事件的来源和实现手段划分
(1)、硬中断:外中断和内中断(2)、软中断:信号和软件中断 2.2.3中断和异常的响应及服务
一般来说,中断/异常的响应需要顺序做4件事:(1)、发现中断源(2)、保护现场(3)、转向中断/异常事件的处理程序(4)、恢复现场 2.2.5中断优先级和多重中断
1、多重中断事件的处理:(1)、串行处理(2)、嵌套处理(3)、即时处理 2.3.1进程的定义和属性
1、定义:进程是既能描述程序的并发执行状态、又能共享资源的一个基本单位,当然操作系统也要为引入进程而付出(进程占用的)空间和(调度进程的)时间代价。
2、属性:(1)、结构性(2)、共享性(3)、动态性(4)、独立性(5)、制约性(6)、并发性 2.3.2进程的状态和转换 1、三态模型
(1)、运行态:进程占用处理器运行的状态。
(2)、就绪态:进程具备运行条件,等待系统分配处理器以便其运行的状态。
(3)、等待态:又称阻塞态或睡眠态,是指进程不具备运行条件,正在等待某个事件完成的状态。 挂起进程等同于不在主存的进程,因此,挂起进程不会参与第几调度知道它们被对换进主存。挂起进程具有以下特征:此进程不能立即执行;此进程可能会等待某事件发生,所等待的事件独立于挂起条件,事件结束并不能导致进程具备可执行条件;此进程进入挂起状态是由于操作系统、父进程或进程自身阻止其运行;进程挂起状态的结束命令只能通过操作系统或父进程出发。 2.3.3进程的描述和组成 1、进程映像
(1)、进程控制块(2)、进程程序块(3)、进程核心块(4)、进程数据块
2、进程上下文由以下三部分组成:(1)、用户级上下文(2)、寄存器上下文(3)、系统级上下文 2.4.3线程的实现
多线程的实现分为三类:用户级线程,内核级线程,某些系统童工混合方式,同时支持ULT和KLT两种线程。
2.7.1处理器调度的层次
处理器调度按照层次可分为三级:高级调度、中级调度和低级调度 2.7.2选择调度算法的原则
1、面向系统的性能指标:(1)、资源利用率(2)、吞吐率(3)、公平性 2、面向用户的性能指标:(1)、响应时间(2)、周转时间 2.8.1低级调度的功能和类型
1、低级调度的主要功能:操作系统的调度程序担负两项任务:调度和分派
2、调度机制由3个逻辑功能程序模块组成:(1)、队列管理程序(2)、上下文切换程序(3)、分派程序 3、低级调度的基本类型:(1)、剥夺式又称抢先式(2)、非剥夺式又称非抢先式
2.8.2作业调度和低级调度算法 1、先来先服务算法 2、最短作业优先算法 3、最短剩余时间优先算法 4、响应比最高者优先算法 习题二
1、进程最基本的状态有哪些?哪些事件可能引起不同状态之间的转换? 运行态:进程占用处理器运行的状态。
就绪态:进程具备运行条件,等待系统分配处理器以便其运行的状态。
等待态:又称阻塞态或睡眠态,是指进程不具备运行条件,正在等待某个事件完成的状态。 2、五态模型的进程中,新建态和终止态的主要作用是什么? 3、什么是进程的挂起状态?列出挂起进程的主要特征。
挂起进程等同于不在主存的进程,因此,挂起进程不会参与第几调度知道它们被对换进主存。挂起进程具有以下特征:此进程不能立即执行;此进程可能会等待某事件发生,所等待的事件独立于挂起条件,事件结束并不能导致进程具备可执行条件;此进程进入挂起状态是由于操作系统、父进程或进程自身阻止其运行;进程挂起状态的结束命令只能通过操作系统或父进程出发。
第三章
3.1.2进程的并发性
1、采用并发程序设计的好处是:(1)、若为单处理器系统,可以有效的利用资源,让处理器和设备、设备和设备同时工作,充分发挥硬部件的并行工作能力;
(2)、若为多处理器系统,可让进程在不同的处理器上物理地并行工作,加快计算速度; (3)、简化程序设计任务,一般来说,编制并发执行的小程序进度快,容易保证正确性。 3.1.3进程的交互:协作和竞争 两种基本关系:竞争和协作 1、 竞争关系:又称互斥关系
2、 自愿竞争会引发两个控制问题:一是死锁,一组进程如果都获得部分资源,还想要得到其他进程所占
有的资源,最终所有进程将陷入永远等待的状态:二是饥饿,一个可运行进程由于其他进程总是优先于它,而被调度程序无限期的拖延而不能被执行。
3、 进程互斥:是指若干进程因相互争夺独占型资源而产生的竞争制约关系。
4、 进程同步:是指为完成共同任务的并发进程基于某个条件来协调其活动,因为需要在某些位置上排定
执行的先后次序而等待、传递信号或消息所产生的协作制约关系。 3.2.1互斥和临界区
1、临界区:是指并发进程中与共享变量有关的程序段 2、临界资源:共享变量所代表的资源
3、共享变量的并发进程应遵守临界区调度的三个原则: (1)、一次之多有一个进程进入临界区内执行;
(2)、如果已有进程在临界区中,试图进入此临界区的其他进程应等待;
(3)、进入临界区内的进程应在有限时间内退出,以便让等待队列中的一个进程进入。 3.2.4实现临界区管理的硬件设施 1、关中断
2、测试并建立指令 3.6.2死锁防止 1、死锁产生的条件
(1)、互斥条件:系统中存在临界资源,进程应互斥地使用这些资源。
同步、通信与死锁
(2)、占有和等待条件:进程在请求资源得不到满足而等待时。不释放已占有的资源 (3)不剥夺条件:已被占用的资源只能由属主释放,不允许被其他进程剥夺
(4)循环等待条件:存在循环等待链,其中,每个进程都在链中等待下一个进程所持有的资源,造成这组进程处于永远等待状态 2、死锁防止策略
(1)、破坏条件1(互斥条件) 3、死锁的检测和解除方法
资源剥夺法、进程回退法、进程撤销法和系统重启法。 习题三
1、 解释并发性与并行性
2、什么是临界区和临界资源?临界区管理的基本原则是什么? 临界区:是指并发进程中与共享变量有关的程序段 临界资源:共享变量所代表的资源
共享变量的并发进程应遵守临界区调度的三个原则: (1)、一次之多有一个进程进入临界区内执行;
(2)、如果已有进程在临界区中,试图进入此临界区的其他进程应等待;
(3) 、进入临界区内的进程应在有限时间内退出,以便让等待队列中的一个进程进入。 3、试述产生死锁的必要条件。
(1)、互斥条件:系统中存在临界资源,进程应互斥地使用这些资源。
(2)、占有和等待条件:进程在请求资源得不到满足而等待时。不释放已占有的资源 (3)不剥夺条件:已被占用的资源只能由属主释放,不允许被其他进程剥夺
(4)循环等待条件:存在循环等待链,其中,每个进程都在链中等待下一个进程所持有的资源,造成这组进程处于永远等待状态
第四章
4.2.1固定分区存储管理
固定分区存储管理的基本思想是:主存空间被划分成数目固定不变的分区,各分区的大小不等,每个分区只装入一个作业,若多个分区中都装有作业,则它们可以并发执行,这是支持多道程序设计的最简单的存储管理技术。
4.2.2可变分区存储管理
1、可变分区存储管理又称动态分区模式 2、常用的可变分区分配算法有以下5种: (1)、最先适应分配算法 (2)、下次适应分配算法 (3)、最优适应分配算法 (4)、最坏适应分配算法 (5)、快速适应分配算法 4.2.4主存不足的存储管理技术 1、移动技术 2、对换技术 3、覆盖技术
4.4.4分段和分页的比较
分段是信息的逻辑单位由源程序的逻辑结构及含义所决定,是用户可见的,段长由用户根据需要来确定,
存储管理
储存管理包含以下一些功能:(1)、分配和去配(2)、抽象和映射(3)、隔离和共享(4)、存储扩充