1、 1 操作系统 作业参考答案及其知识点 第一章 思考题: 10、试叙述系统调用与过程调用的主要区别? 答: ( 一 ) 、调用形式不同 ( 二 ) 、被调用代码的位置不同 ( 三 ) 、提供方式不同 ( 四 ) 、调用的实现不同 提示:每个都需要进一步解释,否则不是完全答案 13、为什么对作业进程批处理可以提高系统效率? 答:批处理时提交程序、数据和作业说明书,由系统操作员把作业按照调度策略,整理为一批,按照作业说明书来运行程序,没有用户与计算机系统的交互;采用多道程序设计,可以使 CPU 和外设并行工作,当一个运行完毕时系统自动装载下一 个作业,减少操作员人工干预时间,提高了系统的效率。 1
2、8、什么是实时操作系统?叙述实时操作系统的分类。 答: 实时操作系统( Real Time Operating System)指当外界事件或数据产生时,能接收并以足够快的速度予以处理,处理的结果又能在规定时间内来控制监控的生产过程或对处理系统做出快速响应,并控制所有实时任务协调一致运行的操作系统。 有三种典型的实时系统 : 1、 过程控制系统 (生产过程控制 ) 2、 信息查询系统 (情报检索 ) 3、 事务处理系统 (银行业务 ) 19、分时系统中,什么是响应时间 ?它与哪些因素有关? 答:响应时间是用户提交的请求后得到系统响应的时间(系统运行或者运行完毕)。它与计算机 CPU 的处理速度、
3、用户的多少、时间片的长短有关系。 应用题: 1、有一台计算机,具有 1MB 内存,操作系统占用 200KB,每个用户进程占用 200KB。如果用户进程等待 I/0 的时间为 80,若增加 1MB 内存,则 CPU 的利用率提高多少? 答: CPU 的利用率 =1-Pn,其中 P 为 程序等待 I/O 操作的时间占其运行时间的比例 1MB 内存时,系统中存放 4 道程序, CPU 的利用率 =1( 0.8) 4 59 2MB 内存 时,系统中存放 9 道程序, CPU 的利用率 =1( 0.8) 9 87 所以系统 CPU 的利用率提高了 28 2、一个计算机系统,有一台输入机和一台打印机,现有
4、两道程序投入运行,且程序 A 先开始做,程序 B 后开始运行。程序 A 的运行轨迹为:计算 50ms,打印 100ms,再计算 50ms,打印 100ms,结束。程序 B 的运行轨迹为:计算 50ms,输入 80ms,再计算 100ms,结束。2 试说明( 1)两道程序运行时, CPU 有无空闲等待?若有,在哪段时间内等待?为什么会等待?( 2)程序 A、 B 有无等待 CPU 的情况?若有,指出发生等待 的时刻。 答:单处理机 A、 B 程序执行的时序图如下所示 在 100-150 毫秒期间,打印机和输入机同时工作, CPU 等待。 在 180-200 毫秒期间,程序 A 在 150 毫秒处
5、开始执行, 180 毫秒处程序 B 要执行,但是不得不等待到程序 A 执行完毕。知识点: 1、操作系统的概念 2、操作系统的目标、层次结构 3、操作系统的作用与功能、主要特性 4、多道程序设计中 CPU 利用率的计算 5、操作系统提供的接口:程序接口与系统调用 第二章 思考题: 5、为什么要把机器指 令分成特权指令和非特权指令? 答:当前计算机中都采用操作系统来管理资源,控制系统的执行流程,操作系统核心程序能够使用全部指令,但用户程序只能使用机器指令系统的一个子集,即非特权指令。因为用户程序如何使用有关资源管理的特权指令很容易造成系统的混乱,造成系统或用户信息的破坏。 28、进程最基本的状态有
6、哪些?哪些事件可能引起不同状态之间的转换? 答:进程有三个最基本的状态: 运行态( running) 、 就绪态( ready) 、 等待态( blocked) 。 50 处理器 输入机 100 150 180 200 250 300 时 间 A 打印机 A A A B B B 3 35、何谓进程控制块?它包含哪些基本信息? 答: 进程控制块 PCB,是操作系统用于记录和刻画进程状态及有关信息的数据结构。也是操作系统掌握进程的唯一资料结构,它包括了进程执行时的情况,以及进程让出处理器后所处的状态、断点等信息。 包含三类基本信息: ( 1) 标识信息 PID 用于唯一地标识一个进程,分由用户使用
7、的外部标识符和被系统使用内部标识号。 常用的标识信息有进程标识符、父进程的标识符、用户进程名、用户组名等。 ( 2)现场信息 保留进程运行时存放在处理器现场中的各种信息,进程让出处理器时必须把处 理器现场信息保存到 PCB 中,当该进程重新恢复运行时也应恢复处理器现场。 现场信息包括通用寄存器内容、控制寄存器内容、用户堆栈指针、系统堆栈指针等。 ( 3)控制信息 进程调度相关信息 进程组成信息 进程间通信相关信息 进程在二级存储器内的地址信息 CPU 资源的占用和使用信息 进程特权信息 资源清单,包括进程所需全部资源、已经分得资源等 40、什么叫模式切换?它与进程切换有何主要区别? 答:模式切
8、换:为了提高系统资源利用率, 当中断发生时,暂时中断正在执行的用户进程,把进程从用户状态切换到内 核状态,去执行操作系统例行程序以获得服务,这就是一次模式切换 。 模式切换不同于进程切换,它并不引起进程状态变化,也不一定引起进程的切换,在完成了中断调用之后,完全可以再通过一次逆向的模式切换来继续执行用户进程。 有效合理使用它们可以提高 OS 效率和安全性 76、解释:( 1)作业周转时间;( 2)作业带权周转时间;( 3)响应时间;( 4)吞吐率。 答: 作业周转时间: 批处理用户从作业提交给系统开始,到作业完成为止的时间间隔 。 作业带权周转时间: 如果作业 i 的周转时间为 ti,所需运行
9、时间为 tk,则称 wi=ti /tk 为该作业的带权周转时间 , n 个作业的带权周转时间的平均值为作业带权周转时间。 响应时间 : 互式进程从提交一个请求 (命令 )到接收到响应之间的时间间隔。 4 吞吐率: 单位时间内处理的作业数 。 89、叙述典型的实时调度算法。 答: 1)单比率调度算法 基本思想:为每个进程分配一个与事件发生频率成正比的优先数。例如,周期为 20ms 的进程优先数为 50,周期为 100ms 的进程优先数为 10,运行时调度程序总是调度优先数最高的就绪进程,并采取抢占式分配策略。 2)限期调度算法 基本思想:当一个事件发生时,对应的进程就按照 截止期限被加入就绪进程
10、队列。对于一个周期性事件,其截止期限即为事件下一次发生的时间。该调度算法首先运行队首进程,即截止时间最近的那个进程 3)最少裕度法 基本思想:首先计算各个进程的富裕时间,即裕度( laxity),然后选择裕度最少的进程执行。裕度 =截止时间 -(就绪时间 +计算时间 ) 90、试述典型的多 CPU 调度算法。 答: 1)负载共享调度算法 基本思想:进程并不分配给一个特定处理器,系统维护一个全局性就绪线程队列,当一个处理器空闲时,就选择一个就绪线程占有处理器运行。 2)群调度算法 基本思想:把一 组进程在同一时间一次性调度到一组处理器上运行。 3)处理器专派调度算法 基本思想:给一个应用指派一组
11、处理器,一旦一个应用被调度,它的每个线程被分配一个处理器并一直占有处理器运行直到整个应用运行结束。 4)动态调度算法 基本思想:由操作系统和应用进程共同完成调度。 应用题: 15、单道批处理系统中,下列三个作业采用 FIFO 调度算法和最高响应比优先算法进行调度,哪一种算法性能好?请完成下表: FIFO 调度算法 作业 提交时间 运行时间 开始时间 完成时间 周转时间 带权周转时间 1 10:00 2:00 10:00 12:00 2:00 1 2 10:10 1:00 12:00 13:00 2:50 17/6=2.83 3 10:25 0:25 13:00 13:25 3:00 7.2 平
12、均作业周转时间: 2:37 平均作业带权周转时间 W 3.68 最高响应比优先算法 作业 提交时间 运行时间 开始时间 完成时间 周转时间 带权周转时间 1 10:00 2:00 10:00 12:00 2:00 1 2 10:10 1:00 12:25 13:25 3:15 3.15 5 3 10:25 0:25 12:00 12:25 2:00 4.8 平均作业周转时间: 2:25 平均作业带权周转时间 W 3.13 通过平均作业周转时间和平均作业带权周转时间比较,最高响应比优先算法比 FIFO 调度算法性能好。 知识点: 1、单处理器与多处理器的概念 2、处理器的状态分类及其执行的指令分
13、类 3、中断的概念、过程 4、进程的定义和属性 、三种基本状态及其转化事件 5、进程包含的三大类基本信息、进程的创建、阻塞、唤醒、撤销、挂起、激活的基本过程 6、处理器调度 的分类及其常见的调度算法 (HRRF 算法 ) 7、平均周转时间的计算 8、 周转时间、响应时间、等待时间、执行时间的概念 9、作业的四种状态 第三章 思考题: 10、什么是临界区和临界资源?对临界区管理的基本原则是什么? 答:临界区: 并发进程中与共享变量有关的程序段 。 临界资源:在临界区中 共享变量代表的资源 。 一次至多允许一个进程进入临界区内 一个进程不能无限地停留在临界区内 一个进程不能无限地等待进入临界区 1
14、4、什么是信号量?如何对它们进行分类? 答:信号量, 一个进程在某一特殊点上被迫停止执行直到接收到一 个对应的特殊变量值,这种特殊变量 。 信号量按其用途分为 :公用信号量和私有信号量。 信号量按其取值分为 :二元信号量和一般信号量。 17、何谓管程?它有哪些属性? 答:管程, 是由局部于自己的若干公共变量及其说明和所有访问这些公共变量的过程所组成的软件模块 。 共享性 安全性 互斥性 25、什么是消息队列机制?叙述其工作原理。 答:消息队列机制,通过 OS 统一管理一组用于通信的消息缓冲存储区 ,来实现通信双方相互传递消息的机制,接收方的缓冲区采用队列进行管理,这就是消息队列机制 。 6 基
15、本工作原理: 当一个进程要发 送消息时,先在自己的消息发送区里生成发送的消息;然后向系统申请一个消息缓冲区,把消息从发送区复制到消息缓冲区中;随后该消息缓冲区被挂到接收消息的进程的消息队列上,供接近者在需要时从消息队列中摘下并复制到消息接近区去使用,同时释放消息缓冲区 29、叙述产生死锁的必要条件。 答: 互斥条件:进程互斥使用资源 占有和等待条件:申请新资源时得不到满足等待,不释放已占有资源 不剥夺条件:一个进程不能抢夺其他进程占有的资源 循环等待条件:存在一组进程循环等待资 源的 31、何谓银行家算法?叙述其基本原理。 答: 银行家算法是资源分配时的保守算法, 系统掌握资源动态申请和使用情
16、况,每次资源申请时用某种分配算法测试安全性,以避免死锁发生 。 银行家算法进行计算时必须知道要管理的全部资源信息,包括多少种资源,每种资源的数量,当前有多少个进程,每个进程需要资源的最大数量,要求每个进程获取最大的资源后应该有限时间内释放所有所占的资源。每次资源分配时,新的状态要求必须时安全的,也就是能够找到一个安全序列使所有的进程能获取其申请的最大资源数量,这是此次分配是可行的,如果不能找到一 个安全序列则拒绝此次分配。这就是银行家算法的基本原理。 应用题: 3、有两个优先级相同的进程 P1 和 P2,各自执行的操作如下,信号量 S1 和 S2 初值均为 0。试问 P1、 P2 并发执行后,
17、 x、 y、 z 的值各为多少? P1: P2: 7 begin begin y:=1; x:=1; y:=y+3; x:=x+5; V(S1); P(S1); z:=y+1; x:=x+y; P(S2); V(S2); y:=z+y; z:=z+x; end; end; 答: P1 和 P2 两个进程的头两句是可以并行执行的,而且不是数据相关的。后去语句可根据PV 操作原理可知, P1 必定先执行,直到 P(S2);暂停,此时 P2 执行,过了 V(S2);语句, P1才能继续执行,此时 x 10, y 4, z 5。 P1 和 P2 进程的最后两个语句执行的顺序关系非常大,因为是数据相关的
18、。 如果 P1 先执行,则最后的值为 x 10, y 9, z 15 如果 P2 先执行,则最后的值为 x 10, y 19, z 15 4、有一阅览室,读者进入时必须先在一张登记表上登记,该表为每一个座位列出一个表目,包括座号、性命、读 者离开时要注销登记信息;假如阅览室有 100 个座位。试用信号量和P/V 操作。 答: (一)定义两个信号量并初始化 mutex:semaphor; empty:semaphor; empty=100;mutex=1; 信号量和 P/V 操作的实现 过程 Process Pi /每个读者的进程 Begin p(empty); p(mutex); 进入 登记
19、v(mutex); 进入阅览室阅读; p(mutex); 退出 登记 v(mutex); 离开阅览室 v(empty); End; (二)定义三个信号量并初始化 mutex:semaphor; empty,full:semaphor; 8 empty=100,full=0;mutex=1; 信号量和 P/V 操作的实现 过程 Process Pi /每个读者的进入阅览室进程 Begin p(empty); p(mutex); 进入 登记 v(mutex); 进入阅览室阅读; v(full); End; Process Pi /每个读 者的退出阅览室进程 Begin p(full); p(mut
20、ex); 退出 登记 v(mutex); 离开阅览室 v(empty); End; 知识点: 1、顺序程序设计的特性 2、 PV 操作来实现正确的临界区访问 (读者写者问题等) 及 PV 操作的过程 3、进程通信的方式 及高级通信方式的分类 4、死锁产生的四个必要条件 5、死锁预防的方法(银行家算法) 6、 死锁的检测算法 7、进程相互制约的分类 第四章 思考题: 3、什么是逻辑地址(空间)和物理地址(空间) ? 答: 把目标模块中的地址称为相对地址(或称为“逻辑地址”),而把相对地址的集合称为“相对 (逻辑 )地址空间”或简称为“地址空间”。 存中一系列存储信息的物理单元集合为内存地址。内存
21、中物理单元的编号称为物理地址或绝对地址,相应的也称为物理地址空间。 9、什么是虚拟存储器?列举采用虚拟技术的必要性和可能性。 9 答: 虚拟存储器的定义:在具有层次结构存储器的计算机系统中,采用自动实现部分装入和部分对换功能,为用户提供一个比物理主存容量大得多的,可寻址的一种“主存储器”。 程序的局部性原理 是虚拟存储器存在的可能性,它是指 程序 在执行过程中的一个较短时间内,所执行的指令地址或操作数地址分别局限于一定的存储区域中。又可细分时间局部性和空间局部性。 多道程序设计需要大的物理空间;内存相对于硬盘来说比较贵;当前越来越多的程序及其处理的数据比较大,需要更多的物理空间,这些是虚拟存储
22、的必要性。 10、试述请求分页虚拟存储管理的实现原理。 答: 分页式虚拟存储系统是将作业信息的副本存放在磁盘中,当作业被调度投入运行时,不把作业的程序和数据全部装入主存,而仅装入立即使用的页面,在执行过程中访问到不在主存的页面时(比如产生缺页中断)再把它们动态装 入 。 采用扩充页表的内容,增加驻留标志位和页面辅存的地址等信息,实现页面是否在内存。 13、试比较分页式存储管理和分段式存储管理。 答: 分段是信息的逻辑单位,由源程序的逻辑结构所决定,用户可见 段长可根据用户需要来规定,段起始地址可从任何主存地址开始 分段方式中,源程序 (段号,段内位移 )经连结装配后地址仍保持二维结构 分页是信
23、息的物理单位,与源程序的逻辑结构无关,用户不可见 页长由系统确定,页面只能以页大小的整倍数地址开始 分页方式中,源程序 (页号,页内位移 )经连结装配后地址变成了一维结构 30、分 页式存储管理中,试分析大页面与小页面各自的优点。 答: 从三个方面进行比较 1) 从页表大小考虑 其占内存多少 2) 从主存利用率考虑 片内碎片 3) 从读写一个页面所需时间考虑一次读写占的比例 最佳页面尺寸: 512B 4KB 之间 应用题: 1、一个请求分页虚拟存储管理系统中,一个程序运行的页面走向是: 1、 2、 3、 4、 2、 1、 5、 6、 2、 1、 2、 3、 7、 6、 3、 2、 1、 2、
24、3、 6. 分别用 FIFO、 OPT 和 LRU 算法,对分配给程序 3、 4、 5、 6 个页框的情况下,分别求出缺页次数和缺页中断率。 答:以 3、 4 个页框为 例 页面数分别为 3 的 FIFO 1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 6 1 2 3 4 4 1 5 6 2 1 1 3 7 6 6 2 1 1 3 6 1 2 3 3 4 1 5 6 2 2 1 3 7 7 6 2 2 1 3 1 2 2 3 4 1 5 6 6 2 1 3 3 7 6 6 2 1 缺 缺 缺 缺 缺 缺 缺 缺 缺 缺 缺 缺 缺 缺 缺 缺 缺页次数 16 缺页率
25、为 16/20 页面数分别为 4 的 FIFO 10 1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 6 1 2 3 4 4 4 5 6 2 1 1 3 7 6 6 2 1 1 3 3 1 2 3 3 3 4 5 6 2 2 1 3 7 7 6 2 2 1 1 1 2 2 2 3 4 5 6 6 2 1 3 3 7 6 6 2 2 1 1 1 2 3 4 5 5 6 2 1 1 3 7 7 6 6 缺 缺 缺 缺 缺 缺 缺 缺 缺 缺 缺 缺 缺 缺 缺页次数 14 缺页率为 14/20 页面数分别为 3 的 OPT 1 2 3 4 2 1 5 6 2 1 2 3
26、 7 6 3 2 1 2 3 6 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 6 2 2 2 2 2 2 2 2 2 2 2 7 7 7 2 2 2 2 2 3 4 4 4 5 6 6 6 6 6 6 6 6 6 1 1 1 1 缺 缺 缺 缺 缺 缺 缺 缺 缺 缺 缺 缺页次数 11 缺页率为 11/20 页面数分别为 4 的 OPT 1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 6 1 1 1 1 1 1 1 1 1 1 1 1 7 7 7 7 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
27、 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 6 6 6 6 6 6 6 6 6 6 6 6 6 缺 缺 缺 缺 缺 缺 缺 缺 缺页次数 8 缺页率为 8/20 页面数分别为 3 的 LRU 1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 6 1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 6 1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 1 2 3 4 2 1 5 6 6 1 2 3 7 6 3 3 1 2 缺 缺 缺 缺 缺 缺 缺 缺 缺 缺 缺 缺 缺 缺 缺 缺页次数 15 缺页率为 15/20 页面数分别为 4 的 LRU 1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 6 1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 6 1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 1 2 3 4 2 1 5 6 6 1 2 3 7 6 3 3 1 2 1 1 3 4 2 1 5 5 6 1 2 2 7 6 6 6 1 缺 缺 缺 缺 缺 缺 缺 缺 缺 缺 缺页次数 10 缺页率为 10/20 知识点: