操作系统教程第5版部分习题标准答案
操作系统第五版答案第4章线程_对称多处理和微内核
操作系统第五版答案第4章线程_对称多处理和微内核第四章线程、对称多处理和微内核复习题:4.1表3.5列出了在一个没有线程的操作系统中进程控制块的基本元素。
对于多线程系统,这些元素中那些可能属于线程控制块,那些可能属于进程控制块?答:这对于不同的系统来说通常是不同的,但一般来说,进程是资源的所有者,而每个线程都有它自己的执行状态。
关于表3.5中的每一项的一些结论如下:进程标识:进程必须被标识,而进程中的每一个线程也必须有自己的ID。
处理器状态信息:这些信息通常只与进程有关。
进程控制信息:调度和状态信息主要处于线程级;数据结构在两级都可出现;进程间通信和线程间通信都可以得到支持;特权在两级都可以存在;存储管理通常在进程级;资源信息通常也在进程级。
4.2请列出线程间的模式切换比进程间的模式切换开销更低的原因。
答:包含的状态信息更少。
4.3在进程概念中体现出的两个独立且无关的特点是什么?答:资源所有权和调度/执行。
4.4给出在单用户多处理系统中使用线程的四个例子。
答:前台和后台操作,异步处理,加速执行和模块化程序结构。
4.5哪些资源通常被一个进程中的所有线程共享?答:例如地址空间,文件资源,执行特权等。
4.6列出用户级线程优于内核级线程的三个优点。
答:1.由于所有线程管理数据结构都在一个进程的用户地址空间中,线程切换不需要内核模式的特权,因此,进程不需要为了线程管理而切换到内核模式,这节省了在两种模式间进行切换(从用户模式到内核模式;从内核模式返回用户模式)的开销。
2.调用可以是应用程序专用的。
一个应用程序可能倾向于简单的轮询调度算法,而另一个应用程序可能倾向于基于优先级的调度算法。
调度算法可以去适应应用程序,而不会扰乱底层的操作系统调度器。
3.用户级线程可以在任何操作系统中运行,不需要对底层内核进行修改以支持用户级线程。
线程库是一组供所有应用程序共享的应用级软件包。
4.7列出用户级线程相对于内核级线程的两个缺点。
操作系统教程第五版费翔林课后答案
操作系统教程第五版费翔林课后答案本文是针对操作系统教程第五版费翔林书籍中的课后题目提供的答案解析。
在这个教程中,费翔林教授详细介绍了操作系统的基本概念、原理和实践,涵盖了进程管理、内存管理、文件系统、设备管理等各个方面。
通过对这些课后题目的解答,可以更好地理解和巩固操作系统的知识。
第一章:引论1.什么是操作系统?它的主要目标是什么?–答案:操作系统是一种控制和管理计算机硬件和软件资源的系统软件。
操作系统的主要目标是为用户提供一个方便、高效、安全的计算机环境。
2.请简要描述操作系统的角色和功能。
–答案:操作系统有几个角色和功能:•资源管理:操作系统管理计算机的各种硬件资源,包括处理器、内存、存储设备和输入输出设备。
•进程管理:操作系统创建、调度和终止进程,以及处理进程间的通信和同步。
•内存管理:操作系统分配和回收内存,管理虚拟内存,以及处理内存的保护和共享机制。
•文件系统:操作系统管理文件和目录的存储和访问,提供文件的创建、读取、写入和删除等操作。
•设备管理:操作系统管理计算机的输入输出设备,包括键盘、鼠标、显示器、打印机等。
•用户接口:操作系统提供了与计算机交互的界面,包括命令行界面和图形用户界面等。
第二章:进程管理1.什么是进程?进程的状态有哪些?–答案:进程是指在计算机中正在运行的程序的实例。
进程的状态包括:•就绪:进程已经准备好执行,但是还没有被分配到处理器。
•运行:进程正在处理器上执行。
•阻塞:进程由于某些原因不能继续执行,需要等待某个事件的发生。
•终止:进程已经完成或被终止,等待被操作系统回收。
2.请简要描述进程的创建、终止和状态切换的过程。
–答案:进程的创建是通过调用系统调用来完成的,系统为新进程分配资源,并设置进程的初始状态。
进程的终止可以是正常终止(调用系统调用进行退出)或异常终止(例如发生错误)。
进程状态之间的切换通过操作系统的调度算法来实现,例如从就绪状态切换到运行状态,或从运行状态切换到阻塞状态。
(完整版)操作系统教程第5版课后标准答案
操作系统教程第5版课后答案费祥林、骆斌编著第一章操作系统概论习题一一、思考题1.简述现代计算机系统的组成及层次结构。
答:现代计算机系统由硬件和软件两个部分组成。
是硬件和软件相互交织形成的集合体,构成一个解决计算问题的工具。
硬件层提供基本可计算的资源,包括处理器、寄存器、内存、外存及I/O设备。
软件层由包括系统软件、支撑软件和应用软件。
其中系统软件是最靠近硬件的。
2、计算机系统的资源可分成哪几类?试举例说明。
答:包括两大类,硬件资源和信息资源。
硬件资源分为处理器、I/O设备、存储器等;信息资源分为程序和数据等。
3.什么是操作系统?操作系统在计算机系统中的主要作用是什么?答:操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。
操作系统在计算机系统中主要起4个方面的作用。
(1)服务用户观点——操作系统提供用户接口和公共服务程序(2)进程交互观点——操作系统是进程执行的控制者和协调者(3)系统实现观点——操作系统作为扩展机或虚拟机(4)资源管理观点——操作系统作为资源的管理者和控制者4.操作系统如何实现计算与操作过程的自动化?答:大致可以把操作系统分为以下几类:批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。
其中批处理操作系统能按照用户预先规定好的步骤控制作业的执行,实现计算机操作的自动化。
又可分为批处理单道系统和批处理多道系统。
单道系统每次只有一个作业装入计算机系统的主存储器运行,多个作业可自动、顺序地被装入运行。
批处理多道系统则允许多个作业同时装入主存储器,中央处理器轮流地执行各个作业,各个作业可以同时使用各自所需的外围设备,这样可以充分利用计算机系统的资源,缩短作业时间,提高系统的吞吐率5.操作系统要为用户提供哪些基本的和共性的服务?答:(1)创建程序和执行程序;(2)数据I/O和信息存取;(3)通信服务;(4)差错检测和处理。
操作系统第五版费祥林-课后习题答案参考
操作系统第五版费祥林-课后习题答案参考第二章处理器管理1.下列指令中哪些只能在核心态运行?(l)读时钟日期;(2)访管指令;(3)设时钟日期;(4)加载PSW; (5)置特殊寄存器:(6)改变存储器映象图;(7)启动I/O指令。
答:( 3 ) , ( 4 ) , ( 5 ) , ( 6 ) , ( 7 ) .2 假设有一种低级调度算法是让“最近使用处理器较少的进程”运行,试解释这种算法对“I/O 繁重”型作业有利,但并不是永远不受理“处理器繁重”型作业。
答:因为I/O繁忙型作业忙于I/O,所以它CPU 用得少,按调度策略能优先执行。
同样原因一个进程等待CPU 足够久时,由于它是“最近使用处理器较少的进程”,就能被优先调度,故不会饥饿。
3 并发进程之间有什么样的相互制约关系?下列日常生活中的活动是属哪种制约关系:(1)踢足球,(2)吃自助餐,(3)图书馆借书,(4)电视机生产流水线工序。
答:并发进程之间的基本相互制约关系有互斥和同步两种。
其中(1)、(3)为互斥问题.(2)、(4)为同步问题。
4 在按动态优先数调度进程的系统中,每个进程的优先数需定时重新计算。
在处理器不断地在进程之间交替的情况下,重新计算进程优先数的时间从何而来?答:许多操作系统重新计算进程的优先数在时钟中断处理例程中进行,由于中断是随机碰到哪个进程,就插入哪个进程中运行处理程序,并把处理时间记在这个进程的账上。
5 若后备作业队列中等待运行的同时有三个作业J1 、J2、J3 ,已知它们各自的运行时间为a 、b 、c,且满足a < b <c,试证明采用短作业优先算法调度能获得最小平均作业周转时间。
答:采用短作业优先算法调度时,三个作业的总周转时间为:Tl = = a + ( a +b ) + ( a + b + c ) = 3a + 2b + c ①若不按短作业优先算法调度,不失一般性,设调度次序为:J2 、J1 、J3 。
则三个作业的总周转时间为:T2=b+(b+a ) +(b+a + c ) = 3b + 2a + c ②令②-①式得到:T2 - Tl = b- a> 0可见,采用短作业优先算法调度才能获得最小平均作业周转时间。
操作系统第五版答案第4章 线程_对称多处理和微内核
第四章线程、对称多处理和微内核复习题:4.1表3.5列出了在一个没有线程的操作系统中进程控制块的基本元素。
对于多线程系统,这些元素中那些可能属于线程控制块,那些可能属于进程控制块?答:这对于不同的系统来说通常是不同的,但一般来说,进程是资源的所有者,而每个线程都有它自己的执行状态。
关于表3.5中的每一项的一些结论如下:进程标识:进程必须被标识,而进程中的每一个线程也必须有自己的ID。
处理器状态信息:这些信息通常只与进程有关。
进程控制信息:调度和状态信息主要处于线程级;数据结构在两级都可出现;进程间通信和线程间通信都可以得到支持;特权在两级都可以存在;存储管理通常在进程级;资源信息通常也在进程级。
4.2请列出线程间的模式切换比进程间的模式切换开销更低的原因。
答:包含的状态信息更少。
4.3在进程概念中体现出的两个独立且无关的特点是什么?答:资源所有权和调度/执行。
4.4给出在单用户多处理系统中使用线程的四个例子。
答:前台和后台操作,异步处理,加速执行和模块化程序结构。
4.5哪些资源通常被一个进程中的所有线程共享?答:例如地址空间,文件资源,执行特权等。
4.6列出用户级线程优于内核级线程的三个优点。
答:1.由于所有线程管理数据结构都在一个进程的用户地址空间中,线程切换不需要内核模式的特权,因此,进程不需要为了线程管理而切换到内核模式,这节省了在两种模式间进行切换(从用户模式到内核模式;从内核模式返回用户模式)的开销。
2.调用可以是应用程序专用的。
一个应用程序可能倾向于简单的轮询调度算法,而另一个应用程序可能倾向于基于优先级的调度算法。
调度算法可以去适应应用程序,而不会扰乱底层的操作系统调度器。
3.用户级线程可以在任何操作系统中运行,不需要对底层内核进行修改以支持用户级线程。
线程库是一组供所有应用程序共享的应用级软件包。
4.7列出用户级线程相对于内核级线程的两个缺点。
答:1.在典型的操作系统中,许多系统调用都会引起阻塞。
操作系统第五版费祥林_课后习题答案解析参考
答:因为 I/O 繁忙型作业忙于 I/O ,所以它 CPU用得少,按调度策略能优先执行。
同样原因一个进程等待 CPU足够久时,由于它是“最近使用处理器较少的进程” ,
就能被优先调度,故不会饥饿。
3 并发进程之间有什么样的相互制约关系?下列日常生活中的活动是属哪种制
约关系: (1 )踢足球, (2 )吃自助餐, (3 )图书馆借书, (4 )电视机生产流水线
非抢占式共用去 180ms ,单道完成需要 260ms ,节省 80ms 。 2 )调度执行时间 1ms , 多道运行方式(抢占式) :
调度执行时间 ITns ,多道运行方式(非抢占式) :
4 在单 CPU和两台 I/O( I1 , 12 )设备的多道程序设计环境下,同时投入三个 作业运行。它们的执行轨迹如下: Jobl : I2 ( 30ms )、 CPU( 10ms )、 I1 ( 30ms )、CPU( 10ms )、I2 ( 20ms)
由于任何调度方式下, S1' + S2' + S3' +, + Sn’为一个确定的数,而当 S1 ’ ≤ S2 ’≤ , ≤ S( n - 1 ) ’≤ Sn ’时才有: 0*S1+1*S2+2*S3+, ( n-1 ) Sn 的值最大,也就是说,此时 T 值最小。所以,按短作业优先调度算法调度时, 使得平均作业周转时间最短。 7、 假定执行表中所列作业, 作业号即为到达顺序, 依次在时刻 0 按次序 1 、2 、 3 、4 、 5 进入单处理器系统。 ( 1)分别用先来先服务调度算法、时间片轮转算法、短作业优先算法及非强占 优先权调度算法算出各作业的执行先后次序(注意优先权高的数值小) ; ( 2)计算每种情况下作业的平均周转时间和平均带权周转时间。
操作系统教程第5版部分习题答案(1)
第一章:一、3、10、15、23、27、353.什么是操作系统?操作系统在计算机系统中的主要作用是什么?操作系统是管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户有效地使用计算机提供良好运行环境的一种系统软件.主要作用(1)服务用户—操作系统作为用户接口和公共服务程序(2)进程交互—操作系统作为进程执行的控制者和协调者(3)系统实现—操作系统作为扩展机或虚拟机(4)资源管理—操作系统作为资源的管理者和控制者10.试述系统调用与函数(过程)调用之间的区别。
(1)调用形式和实现方式不同;(2)被调用的代码位置不同;(3)提供方式不同15.什么是多道程序设计?多道程序设计有什么特点?多道程序设计是指允许多个作业(程序)同时进入计算机系统内存并执行交替计算的方法。
从宏观上看是并行的,从微观上看是串行的。
(1)可以提高CPU、内存和设备的利用率;(2)可以提高系统的吞吐率,使单位时间内完成的作业数目增加;(3)可以充分发挥系统的并行性,使设备和设备之间,设备和CPU之间均可并行工作。
23.现代操作系统具有哪些基本功能?请简单叙述之。
(1)处理器管理;(2)存储管理;(3)设备管理;(4)文件管理;(5)联网与通信管理。
27.什么是操作系统的内核?内核是一组程序模块,作为可信软件来提供支持进程并发执行的基本功能和基本操作,通常驻留在内核空间,运行于内核态,具有直接访问计算机系统硬件设备和所有内存空间的权限,是仅有的能够执行特权指令的程序。
35.简述操作系统资源管理的资源复用技术。
系统中相应地有多个进程竞争使用资源,由于计算机系统的物理资源是宝贵和稀有的,操作系统让众多进程共享物理资源,这种共享称为资源复用。
(1)时分复用共享资源从时间上分割成更小的单位供进程使用;(2)空分复用共享资源从空间上分割成更小的单位供进程使用。
.二、2、52、答:画出两道程序并发执行图如下:(1)两道程序运行期间,CPU存在空闲等待,时间为100至150ms之间(见图中有色部分)。
操作系统第五版答案第8章复习题及习题解答
虚拟内存8.1 简单分页与虚拟分页有什么区别?简单分页:一个程序中的所有的页都必须在主存储器中程序才能正常运行,除非使用覆盖技术。
虚拟内存分页:不是程序的每一页都必须在主存储器的帧中来使程序运行,页在需要的时候进行读取。
8.2 解释什么是抖动。
虚拟内存结构的震动现象,在这个过程中处理器大部分的时间都用于交换块,而不是执行指令。
8.3 为什么在使用虚拟内存时,局部性原理是至关重要的?可以根据局部性原理设计算法来避免抖动。
总的来说,局部性原理允许算法预测哪一个当前页在最近的未来是最少可能被使用的,并由此就决定候选的替换出的页。
8.4 哪些元素是页表项中可以找到的元素?简单定义每个元素。
帧号:用来表示主存中的页来按顺序排列的号码。
存在位(P):表示这一页是否当前在主存中。
修改位(M):表示这一页在放进主存后是否被修改过。
8.5 转移后备缓冲器的目的是什么?转移后备缓冲器(TLB)是一个包含最近经常被使用过的页表项的高速缓冲存储器。
它的目的是为了减少从磁盘中恢复一个页表项所需的时间。
8.6 简单定义两种可供选择的页读取策略。
在请求式分页中,只有当访问到某页中的一个单元时才将该页取入主存。
在预约式分页中,读取的并不是页错误请求的页。
8.7 驻留集管理和页替换策略有什么区别?驻留集管理主要关注以下两个问题:(1)给每个活动进程分配多少个页帧。
(2)被考虑替换的页集是仅限在引起页错误的进程的驻留集中选择还是在主存中所有的页帧中选择。
页替换策略关注的是以下问题:在考虑的页集中,哪一个特殊的页应该被选择替换。
8.8 FIFO和Clock页替换算法有什么区别?时钟算法与FIFO算法很接近,除了在时钟算法中,任何一个使用位为一的页被忽略。
8.9 页缓冲实现的是什么?(1)被替换出驻留集的页不久又被访问到时,仍在主存中,减少了一次磁盘读写。
(2)被修改的页以簇的方式被写回,而不是一次只写一个,这就大大减少了I/O操作的数目,从而减少了磁盘访问的时间。
操作系统教程第5版部分习题标准答案
第一章:一、3、10、15、23、27、353.什么是操作系统?操作系统在计算机系统中的主要作用是什么?操作系统是管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户有效地使用计算机提供良好运行环境的一种系统软件.主要作用(1)服务用户—操作系统作为用户接口和公共服务程序(2)进程交互—操作系统作为进程执行的控制者和协调者(3)系统实现—操作系统作为扩展机或虚拟机(4)资源管理—操作系统作为资源的管理者和控制者10.试述系统调用与函数(过程)调用之间的区别。
(1)调用形式和实现方式不同;(2)被调用的代码位置不同;(3)提供方式不同15.什么是多道程序设计?多道程序设计有什么特点?多道程序设计是指允许多个作业(程序)同时进入计算机系统内存并执行交替计算的方法。
从宏观上看是并行的,从微观上看是串行的。
(1)可以提高CPU、内存和设备的利用率;(2)可以提高系统的吞吐率,使单位时间内完成的作业数目增加;(3)可以充分发挥系统的并行性,使设备和设备之间,设备和CPU之间均可并行工作。
23.现代操作系统具有哪些基本功能?请简单叙述之。
(1)处理器管理;(2)存储管理;(3)设备管理;(4)文件管理;(5)联网与通信管理。
27.什么是操作系统的内核?内核是一组程序模块,作为可信软件来提供支持进程并发执行的基本功能和基本操作,通常驻留在内核空间,运行于内核态,具有直接访问计算机系统硬件设备和所有内存空间的权限,是仅有的能够执行特权指令的程序。
35.简述操作系统资源管理的资源复用技术。
系统中相应地有多个进程竞争使用资源,由于计算机系统的物理资源是宝贵和稀有的,操作系统让众多进程共享物理资源,这种共享称为资源复用。
(1)时分复用共享资源从时间上分割成更小的单位供进程使用;(2)空分复用共享资源从空间上分割成更小的单位供进程使用。
.二、2、52、答:画出两道程序并发执行图如下:(1)(见图中有色部分)。
操作系统教程第5版部分习题答案
操作系统教程第 5 版部分习题答案第一章:一、3、10、15、23、27、353. 什么是操作系统?操作系统在计算机系统中的主要作用是什么?操作系统是管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户有效地使用计算机提供良好运行环境的一种系统软件.主要作用(1)服务用户—操作系统作为用户接口和公共服务程序(2)进程交互—操作系统作为进程执行的控制者和协调者(3)系统实现—操作系统作为扩展机或虚拟机(4)资源管理—操作系统作为资源的管理者和控制者10. 试述系统调用与函数(过程)调用之间的区别。
1)调用形式和实现方式不同;操作系统教程第 5 版部分习题答案(2)被调用的代码位置不同;(3)提供方式不同15. 什么是多道程序设计?多道程序设计有什么特点?多道程序设计是指允许多个作业 (程序)同时进入计算机系统内存并执行交替计算的方法。
从宏观上看是并行的,从微观上看是串行的。
(1)可以提高CPU内存和设备的利用率;( 2) 可以提高系统的吞吐率,使单位时间内完成的作业数目增加;( 3) 可以充分发挥系统的并行性,使设备和设备之间,设备和CPU 之间均可并行工作。
23. 现代操作系统具有哪些基本功能?请简单叙述之。
( 1 )处理器管理;( 2)存储管理;( 3)设备管理;操作系统教程第 5 版部分习题答案(4)文件管理;(5)联网与通信管理。
27. 什么是操作系统的内核?内核是一组程序模块,作为可信软件来提供支持进程并发执行的基本功能和基本操作,通常驻留在内核空间,运行于内核态,具有直接访问计算机系统硬件设备和所有内存空间的权限,是仅有的能够执行特权指令的程序。
35. 简述操作系统资源管理的资源复用技术。
系统中相应地有多个进程竞争使用资源,由于计算机系统的物理资源是xx 和稀有的,操作系统让众多进程共享物理资源,这种共享称为资源复用。
(1)时分复用共享资源从时间上分割成更小的单位供进程使用;(2)空分复用共享资源从空间上分割成更小的单位供进程使用。
操作系统第五版1-12章课后题中文答案
复习题:1.1、列出并简要地定义计算机的四个主要组成部分。
答:主存储器,存储数据和程序;算术逻辑单元,能处理二进制数据;控制单元,解读存储器中的指令并且使他们得到执行;输入/输出设备,由控制单元管理。
1.2、定义处理器寄存器的两种主要类别。
答:用户可见寄存器:优先使用这些寄存器,可以使机器语言或者汇编语言的程序员减少对主存储器的访问次数。
对高级语言而言,由优化编译器负责决定把哪些变量应该分配给主存储器。
一些高级语言,如C语言,允许程序言建议编译器把哪些变量保存在寄存器中。
控制和状态寄存器:用以控制处理器的操作,且主要被具有特权的操作系统例程使用,以控制程序的执行。
1.3、一般而言,一条机器指令能指定的四种不同操作是什么?答:这些动作分为四类:处理器-寄存器:数据可以从处理器传送到存储器,或者从存储器传送到处理器。
处理器-I/O:通过处理器和I/O模块间的数据传送,数据可以输出到外部设备,或者从外部设备输入数据。
数据处理,处理器可以执行很多关于数据的算术操作或逻辑操作。
控制:某些指令可以改变执行顺序。
1.4、什么是中断?答:中断:其他模块(I/O,存储器)中断处理器正常处理过程的机制。
1.5、多中断的处理方式是什么?答:处理多中断有两种方法。
第一种方法是当正在处理一个中断时,禁止再发生中断。
第二种方法是定义中断优先级,允许高优先级的中断打断低优先级的中断处理器的运行。
1.6、内存层次的各个元素间的特征是什么?答:存储器的三个重要特性是:价格,容量和访问时间。
1.7、什么是高速缓冲存储器?答:高速缓冲存储器是比主存小而快的存储器,用以协调主存跟处理器,作为最近储存地址的缓冲区。
1.8、列出并简要地定义I/O操作的三种技术。
答:可编程I/O:当处理器正在执行程序并遇到与I/O相关的指令时,它给相应的I/O模块发布命令(用以执行这个指令);在进一步的动作之前,处理器处于繁忙的等待中,直到该操作已经完成。
操作系统第五版答案-费翔林
第一章操作系统概论1、有一台计算机,具有IMB 内存,操作系统占用200KB ,每个用户进程各占200KB 。
如果用户进程等待I/O 的时间为80 % ,若增加1MB 内存,则CPU 的利用率提高多少?答:设每个进程等待I/O 的百分比为P ,则n 个进程同时等待刀O 的概率是Pn ,当n 个进程同时等待I/O 期间CPU 是空闲的,故CPU 的利用率为1-Pn。
由题意可知,除去操作系统,内存还能容纳4 个用户进程,由于每个用户进程等待I/O 的时间为80 % , 故:CPU利用率=l-(80%)4 = 0.59若再增加1MB 内存,系统中可同时运行9 个用户进程,此时:cPu 利用率=l-(1-80%)9 = 0.87故增加IMB 内存使CPU 的利用率提高了47 % :87 %/59 %=147 %147 %-100 % = 47 %2 一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A 先开始做,程序B 后开始运行。
程序A 的运行轨迹为:计算50ms 、打印100ms 、再计算50ms 、打印100ms ,结束。
程序B 的运行轨迹为:计算50ms 、输入80ms 、再计算100ms ,结束。
试说明(1 )两道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会等待?( 2 )程序A 、B 有无等待CPU 的情况?若有,指出发生等待的时刻。
答:画出两道程序并发执行图如下:(1)两道程序运行期间,CPU存在空闲等待,时间为100 至150ms 之间(见图中有色部分)(2)程序A 无等待现象,但程序B 有等待。
程序B 有等待时间段为180rns 至200ms 间(见图中有色部分)3 设有三道程序,按A 、B 、C优先次序运行,其内部计算和UO操作时间由图给出。
试画出按多道运行的时间关系图(忽略调度执行时间)。
完成三道程序共花多少时间?比单道运行节省了多少时间?若处理器调度程序每次进行程序转换化时lms , 试画出各程序状态转换的时间关系图。
操作系统第五版所有课后复习题中文答案
第1章计算机系统概述1.1 列出并简要地定义计算机的四个主要组成部分。
主存储器,存储数据和程序;算术逻辑单元,能处理二进制数据;控制单元,解读存储器中的指令并且使他们得到执行;输入/输出设备,由控制单元管理。
1.2 定义处理器寄存器的两种主要类别。
用户可见寄存器:优先使用这些寄存器,可以使机器语言或者汇编语言的程序员减少对主存储器的访问次数。
对高级语言而言,由优化编译器负责决定把哪些变量应该分配给主存储器。
一些高级语言,如C语言,允许程序言建议编译器把哪些变量保存在寄存器中。
控制和状态寄存器:用以控制处理器的操作,且主要被具有特权的操作系统例程使用,以控制程序的执行。
1.3 一般而言,一条机器指令能指定的四种不同操作是什么?处理器-寄存器:数据可以从处理器传送到存储器,或者从存储器传送到处理器。
处理器-I/O:通过处理器和I/O模块间的数据传送,数据可以输出到外部设备,或者从外部设备输入数据。
数据处理:处理器可以执行很多关于数据的算术操作或逻辑操作。
控制:某些指令可以改变执行顺序。
1.4 什么是中断?中断:其他模块(I/O,存储器)中断处理器正常处理过程的机制。
1.5 多中断的处理方式是什么?处理多中断有两种方法。
第一种方法是当正在处理一个中断时,禁止再发生中断。
第二种方法是定义中断优先级,允许高优先级的中断打断低优先级的中断处理器的运行。
1.6 内存层次的各个元素间的特征是什么?存储器的三个重要特性是:价格,容量和访问时间。
1.7 什么是高速缓冲存储器?高速缓冲存储器是比主存小而快的存储器,用以协调主存跟处理器,作为最近储存地址的缓冲区。
1.8 列出并简要地定义I/O操作的三种技术。
可编程I/O:当处理器正在执行程序并遇到与I/O相关的指令时,它给相应的I/O模块发布命令(用以执行这个指令);在进一步的动作之前,处理器处于繁忙的等待中,直到该操作已经完成。
中断驱动I/O:当处理器正在执行程序并遇到与I/O相关的指令时,它给相应的I/O模块发布命令,并继续执行后续指令,直到后者完成,它将被I/O模块中断。
操作系统第五版费祥林-课后习题答案参考
第一章操作系统概论1、有一台计算机,具有IMB 内存,操作系统占用200KB ,每个用户进程各占200KB 。
如果用户进程等待I/O 的时间为80 % ,若增加1MB 内存,则CPU 的利用率提高多少?答:设每个进程等待I/O 的百分比为P ,则n 个进程同时等待刀O 的概率是Pn ,当n 个进程同时等待I/O 期间CPU 是空闲的,故CPU 的利用率为1-Pn。
由题意可知,除去操作系统,内存还能容纳4 个用户进程,由于每个用户进程等待I/O的时间为80 % , 故:CPU利用率=l-(80%)4 = 0.59若再增加1MB 内存,系统中可同时运行9 个用户进程,此时:cPu 利用率=l-(1-80%)9 = 0.87故增加IMB 内存使CPU 的利用率提高了47 % :87 %/59 %=147 %147 %-100 % = 47 %2 一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A 先开始做,程序B 后开始运行。
程序A 的运行轨迹为:计算50ms 、打印100ms 、再计算50ms 、打印100ms ,结束。
程序B 的运行轨迹为:计算50ms 、输入80ms 、再计算100ms ,结束。
试说明(1 )两道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会等待?( 2 )程序A 、B 有无等待CPU 的情况?若有,指出发生等待的时刻。
答:画出两道程序并发执行图如下:(1)两道程序运行期间,CPU存在空闲等待,时间为100 至150ms 之间(见图中有色部分)(2)程序A 无等待现象,但程序B 有等待。
程序B 有等待时间段为180rns 至200ms 间(见图中有色部分)3 设有三道程序,按A 、B 、C优先次序运行,其内部计算和UO操作时间由图给出。
试画出按多道运行的时间关系图(忽略调度执行时间)。
完成三道程序共花多少时间?比单道运行节省了多少时间?若处理器调度程序每次进行程序转换化时lms , 试画出各程序状态转换的时间关系图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章:一、3、10、15、23、27、353.什么是操作系统?操作系统在计算机系统中的主要作用是什么?操作系统是管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户有效地使用计算机提供良好运行环境的一种系统软件.主要作用(1)服务用户—操作系统作为用户接口和公共服务程序(2)进程交互—操作系统作为进程执行的控制者和协调者(3)系统实现—操作系统作为扩展机或虚拟机(4)资源管理—操作系统作为资源的管理者和控制者10.试述系统调用与函数(过程)调用之间的区别。
(1)调用形式和实现方式不同;(2)被调用的代码位置不同;(3)提供方式不同15.什么是多道程序设计?多道程序设计有什么特点?多道程序设计是指允许多个作业(程序)同时进入计算机系统内存并执行交替计算的方法。
从宏观上看是并行的,从微观上看是串行的。
(1)可以提高CPU、内存和设备的利用率;(2)可以提高系统的吞吐率,使单位时间内完成的作业数目增加;(3)可以充分发挥系统的并行性,使设备和设备之间,设备和CPU之间均可并行工作。
23.现代操作系统具有哪些基本功能?请简单叙述之。
(1)处理器管理;(2)存储管理;(3)设备管理;(4)文件管理;(5)联网与通信管理。
27.什么是操作系统的内核?内核是一组程序模块,作为可信软件来提供支持进程并发执行的基本功能和基本操作,通常驻留在内核空间,运行于内核态,具有直接访问计算机系统硬件设备和所有内存空间的权限,是仅有的能够执行特权指令的程序。
35.简述操作系统资源管理的资源复用技术。
系统中相应地有多个进程竞争使用资源,由于计算机系统的物理资源是宝贵和稀有的,操作系统让众多进程共享物理资源,这种共享称为资源复用。
(1)时分复用共享资源从时间上分割成更小的单位供进程使用;(2)空分复用共享资源从空间上分割成更小的单位供进程使用。
.二、2、52、答:画出两道程序并发执行图如下:(1)(见图中有色部分)。
(2)程序A无等待现象,但程序B有等待。
程序B有等待时间段为180ms至200ms间(见图中有色部分)。
5、答:画出三个作业并行工作图如下(图中着色部分为作业等待时间):(1)Job1从投入到运行完成需80ms,Job2从投入到运行完成需90ms,Job3从投入到运行完成需90ms。
(2)CPU空闲时间段为:60ms至70ms,80ms至90ms。
所以CPU利用率为(90-20)/90=77.78%。
(3)设备I1空闲时间段为:20ms至40ms,故I1的利用率为(90-20)/90=77.78%。
设备I2空闲时间段为:30ms至50ms,故I2的利用率为(90-20)/90=77.78%。
第二章:一、9、18、20、26、489.什么是系统调用?试述API、库函数和系统调用之间的关系.叙述系统调用执行流程. 18.什么是进程?计算机操作系统为什么要引入进程?进程是具有独立功能的程序在某个数据集合上的一次运行活动,是计算机操作系统进行资源分配和保护的基本单位.(1)刻画程序的并发性。
(2)解决资源的共享性.20.进程的最基本状态有哪些?哪些事件可以引起不同状态间的转换?运行态就绪态阻塞态26.何谓进程控制块(PCB)?它包含哪些基本信息?进程控制块是进程存在的唯一标识,是操作系统用来记录和刻画进程状态及环境信息的数据结构,是进程动态特征的汇集,也是操作系统掌握进程的唯一资料结构和管理进程的主要依据。
(1)标识信息;(2)现场信息;(3)控制信息。
48.处理器调度分为哪几种类型?简述各类调度的主要任务。
高级调度,中级调度,低级调度。
高级调度,创建就绪进程和做进程完成后的善后工作。
中级调度,根据内存资源情况决定内存中所能容纳进程的数目,并完成内存和外存中进程的对换。
低级调度,根据某种原则决定就绪队列中哪个进程/线程获得处理器,并将处理器出让给它使用。
二、5、10、12、16、20、21、25、285、答:采用短作业优先算法调度时,三个作业的总周转时间为:T1=a+(a+b)+(a+b+c)=3a+2b+c ①若不按短作业优先算法调度,不失一般性,设调度次序为:J2、J1、J3。
则三个作业的总周转时间为:T2=b+(b+a)+(b+a+c)=3b+2a+c ②令②-①式得到:T2-T1=b-a>0可见,采用短作业优先算法调度才能获得最小平均作业周转时间。
10、答:5个待运行的作业同时到达,按照最短作业优先的算法可以使平均响应时间最短。
X取值不定,按照以下情况讨论:1)x≤3 次序为:x,3,5,6,92)3<x≤5 次序为:3,x,5,6,93)5<x≤6 次序为:3,5,x,6,94)6<x≤9 次序为:3,5,6,x,95)9<x 次序为:3,5,6,9,x12、答:(1)FCFS调度算法(3)优先级调度算法(3)时间片轮转法(每个作业获得相同的2分钟长的时间片)按次序A B C D E A B D E A B E A E A轮转执行。
16、答:20、答:注意,J1被调度运行后,直到它执行结束,才会引出作业调度程序工作。
所以,J2至J6虽在J1执行期间进入,但未被调度,均在等待。
当J1撤离后,作业调度程序工作,按SJF算法,显然有执行次序:J5、J6、J3、J4、和J2。
答:如下表所示平均周转时间=(160+30+80+130+80+50)/6=88.88平均带权周转时间=(4+1+4/3+13/2+4+5)/6=3.6425、答:每个作业运行将经过两个阶段:作业调度(SJF算法)和进程调度(优先数抢占式)。
另外,批处理最多容纳2道作业,更多的作业将在后备队列等待。
(1)10:00,作业A到达并投入运行。
(2)10:20,作业B到达且优先权高于作业A,故作业B投入运行而作业A在就绪队列等待。
(3)10:30,作业C到达,因内存中已有两道作业,故作业C进入作业后备队列等待。
(4)10:50,作业B运行结束,作业D到达,按SJF短作业优先算法,作业D被装入内存进入就绪队列。
而由于作业A的优先级高于作业D,故作业A投入运行。
(5)11:10,作业A运行结束,作业C被调入内存,且作业C的优先级高于作业D,故作业C投入运行。
(6)12:00,作业C运行结束,作业D投入运行。
(7)12:20,作业D运行结束。
各作业周转时间为:作业A 70,作业B 30,作业C 90,作业D 90。
平均作业周转时间为70分钟。
28、答:(1) FIFO算法选中作业执行的次序为:A、B、D、C和E。
作业平均周转时间为63分钟。
(2) SJF算法选中作业执行的次序为:A、B、D、E和C。
作业平均周转时间为58分钟。
第三章:一、9、13、15、259.什么是临界区和临界资源?临界区管理的基本原则是什么?并发进程中与共享变量有关的程序段称为临界区。
共享变量所代表的资源叫做临界资源,即一次仅供一个进程使用的资源。
(1)一次至多有一个进程进入临界区内执行;(2)如果已有进程在临界区内,试图进入此临界区的其它进程应等待;(3)进入临界区的进程应在有限时间内退出,以便让进程等待队列中的一个进程进入。
13.什么是信号量?如何对其进行分类?信号量是物理资源的实体,它是一个与队列有关的整型变量。
按用途分(1)公用信号量;(2)私有信号量。
按取值分(1)二值信号量;(2)一般信号量。
15.何谓管程?它有哪些属性?管程是由局部于自己的若干公共变量及其声明和所有访问这些公共变量的过程所组成的软件模块,它提供一种互斥机制,进程可以互斥地调用管程的过程。
(1)共享性;(2)安全性;(3)互斥性。
25.试述产生死锁的必要条件、死锁产生的原因及预防死锁的方法。
(1)互斥条件;(2)占有和等待条件;(3)不剥夺条件;(4)循环等待条件。
进程推进顺序不当、PV操作使用不妥、同类资源分配不均或对某些资源的使用未加限制等,不仅与系统拥有的资源数量有关,而且与资源分配策略、进程对资源的使用要求以及并发进程的推进顺序有关。
(1)破坏条件1(互斥条件);(2)破坏条件2(占有和等待条件);(3)破坏条件3(不剥夺条件);(4)破坏条件4(循环等待条件)。
二、2、答:不同(1):初值为1,范围为[-n+1,1];(2):初值为m,范围为[-n+m,m]。
5、答:1)使用信号量和P、V操作:var name: array[1..100] of A。
A=recordnumber:integer。
name:string。
endfor i:=1 to 100 do {A[i].number:=i。
A[i].name:=null。
}mutex,seatcount:semaphore。
i:integer。
mutex:=1。
seatcount:=100。
cobegin{process readeri(varreadername:string)(i=1,2,…){P(seatcount)。
P(mutex)。
for i:=1 to 100 do i++if A[i].name=null then A[i].name:=readername。
reader get the seat number =i。
/*A[i].numberV(mutex)进入阅览室,座位号i,座下读书。
P(mutex)。
A[i] name:=null。
V(mutex)。
V(seatcount)。
离开阅览室。
}}coend.2) 使用管程操作:TYPE readbook=monitorVAR R:condition。
Interface Module IM。
i,seatcount:integer。
name:array[1..100] of string。
DEFINE readercome,readerleave。
USE check,wait,signal,release。
procedure readercome(readername)begincheck(IM)。
if seatcount≥100 wait(R,IM)seatcount:=seatcount+1。
for i=1 to 100 do i++if name[i]==null then name[i]:=readername。
get the seat number=i。
release(IM)。
endprocedure readerleave(readername)begincheck(IM)。
seatcount--。
for i=1 to 100 do i++if name[i]==readername then name[i]:=null。
release(IM)。
endbeginseatcount:=100。