OS课后题整理版

上传人:ji****72 文档编号:37532820 上传时间:2018-04-18 格式:DOC 页数:11 大小:224.50KB
返回 下载 相关 举报
OS课后题整理版_第1页
第1页 / 共11页
OS课后题整理版_第2页
第2页 / 共11页
OS课后题整理版_第3页
第3页 / 共11页
OS课后题整理版_第4页
第4页 / 共11页
OS课后题整理版_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《OS课后题整理版》由会员分享,可在线阅读,更多相关《OS课后题整理版(11页珍藏版)》请在金锄头文库上搜索。

1、1第一章第一章 1 1设计现代设计现代 OSOS 的主要目标是什么?的主要目标是什么?有效性,方便性,可扩充性,开放性 2 2OSOS 的作用可表现在哪几个方面?的作用可表现在哪几个方面?OS 作为用户与计算机硬件系统之间的接口;OS 作为计 算机系统资源的管理;OS 实现了对计算机资源的抽象 1313OSOS 有哪几大特征?其最基本的特征是什么?有哪几大特征?其最基本的特征是什么? 并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。 1414处理机管理有哪些主要功能?它们的主要任务是什么?处理机管理有哪些主要功能?它们的主要任务是什么? 处理机管理的主要功能是:进程管理、进程

2、同步、进程通信和处理机调度; 进程管理进程管理:为作业创建进程,撤销已结束进程,控制进程在运行过程中的状态转换。进程进程 同步同步:为多个进程(含线程)的运行进行协调。通信通信:用来实现在相互合作的进程之间的 信息交换。处理机调度处理机调度:(1)作业调度。从后备队里按照一定的算法,选出若干个作业, 为他们分配运行所需的资源(首选是分配内存) 。 (2)进程调度:从进程的就绪队列中,按 照一定算法选出一个进程,把处理机分配给它,并设置运行现场,使进程投入执行。 1515内存管理有哪些主要功能内存管理有哪些主要功能? ?他们的主要任务是什么?他们的主要任务是什么? 内存管理的主要功能有:内存分配

3、、内存保护、地址映射和内存扩充。 内存分配内存分配:为每道程序分配内存。内存保护内存保护:确保每道用户程序都只在自己的内存空间运 行,彼此互不干扰。地址映射地址映射:将地址空间的逻辑地址转换为内存空间与对应的物理地址。 内存扩充内存扩充:用于实现请求调用功能,置换功能等。 1818是什么原因使操作系统具有异步性特征?是什么原因使操作系统具有异步性特征? 操作系统的异步性体现在三个方面:一是进程的异步性,进程以人们不可预知的速度向 前推进,二是程序的不可再现性,即程序执行的结果有时是不确定的,三是程序执行时间 的 不可预知性,即每个程序何时执行,执行顺序以及完成时间是不确定的。 2424微内核操

4、作系统具有哪些优点?它为何能有这些优点?微内核操作系统具有哪些优点?它为何能有这些优点?1)提高了系统的可扩展性 2) 增强了系统的可靠性 3)可移植性 4)提供了对分布式系统的支持 5)融入了面向对象技术 第二章第二章 2.2. 画出下面四条语句的前趋图画出下面四条语句的前趋图: : S1=a:=x+y; S2=b:=z+1; S3=c:=a b; S4=w:=c+1;答:其前趋图为:4 4程序并发执行时为什么会失去封闭性和可再现性?程序并发执行时为什么会失去封闭性和可再现性?程序并发执行时,多个程序共享系统 中的各种资源,因而这些资源的状态由多个程序改变,致使程序运行失去了封闭性,也会 导

5、致其失去可再现性。 6 6试从动态性,并发性和独立性上比较进程和程序试从动态性,并发性和独立性上比较进程和程序. .(1)动态性是进程最基本的特性,表现 为由创建而产生,由调度而执行,因得不到资源而暂停执行,由撤销而消亡。进程有一定 的生命期,而程序只是一组有序的指令集合,是静态实体。(2)并发性是进程的重要特征, 同时也是 OS 的重要特征。引入进程的目的正是为了使其程序能和其它进程的程序并发执 行,而程序是不能并发执行的。(3)独立性是指进程实体是一个能独立运行的基本单位,也 是系统中独立获得资源和独立调度的基本单位。对于未建立任何进程的程序,不能作为独 立单位参加运行。27 7试说明试说

6、明 PCBPCB 的作用,为什么说的作用,为什么说 PCBPCB 是进程存在的惟一标志?是进程存在的惟一标志?PCB 是进程实体的一部分, 是操作系统中最重要的记录型数据结构。作用是使一个在多道程序环境下不能独立运行的 程序,成为一个能独立运行的基本单位,成为能与其它进程并发执行的进程。OS 是根据 PCB 对并发执行的进程进行控制和管理的。 1010在进行进程切换时,所要保存的处理机状态信息有哪些?在进行进程切换时,所要保存的处理机状态信息有哪些?进程当前暂存信息;下一指 令地址信息;进程状态信息;过程和系统调用参数及调用地址信息。 1717为什么进程在进入临界区之前应先执行为什么进程在进入

7、临界区之前应先执行“进入区进入区”代码?而在退出前又要执行代码?而在退出前又要执行“退出退出 区区”代码?代码?为了实现多个进程对临界资源的互斥访问,必须在临界区前面增加一段用于检 查欲访问的临界资源是否正被访问的代码,如果未被访问,该进程便可进入临界区对资源 进行访问,并设置正被访问标志,如果正被访问,则本进程不能进入临界区,实现这一功 能的代码为“进入区“代码;在退出临界区后,必须执行“退出区“代码,用于恢复未被访问 标志,使其它进程能再访问此临界资源。 19.19. 试从物理概念上说明记录型信号量试从物理概念上说明记录型信号量 waitwait 和和 signalsignal。 wait

8、(S):当 S.value0 时,表示目前系统中这类资源还有可用的。执行一次 wait 操 作,意味着进程请求一个单位的该类资源,使系统中可供分配的该类资源减少一个,因此 描 述为 S.value:=S.value-1;当 S.value1) then block(W, L) unlock(W): W:=W-1; if(W0) then wakeup(W, L) 例子: Var W:semaphore:=0;begin repeat lock(W); critical section unlock(W); remainder section4until false; end 2626试修改下面

9、生产者消费者问题解法中的错误试修改下面生产者消费者问题解法中的错误: : 答: producer:begin repeat producer an item in nextp; wait(mutex); wait(full); /* 应为 wait(empty),而且还应该在 wait(mutex)的前面 */buffer(in):=nextp; /* 缓冲池数组游标应前移: in:=(in+1) mod n; */signal(mutex); /* signal(full); */ until false; end consumer: begin repeat wait(mutex); wa

10、it(empty); /* 应为 wait(full),而且还应该在 wait(mutex)的前面 */nextc:=buffer(out); out:=out+1; /* 考虑循环,应改为: out:=(out+1) mod n; */signal(mutex);/* signal(empty); */ consumer item in nextc; until false; end 2828在测量控制系统中的数据采集任务,把所采集的数据送一单缓冲区;计算任务从该单在测量控制系统中的数据采集任务,把所采集的数据送一单缓冲区;计算任务从该单 缓冲中取出数据进行计算缓冲中取出数据进行计算. .试

11、写出利用信号量机制实现两者共享单缓冲的同步算法。试写出利用信号量机制实现两者共享单缓冲的同步算法。 答:a. Var mutex, empty, full: semaphore:=1, 1, 0; gather: begin repeat gather data in nextp; wait(empty); wait(mutex); buffer:=nextp; signal(mutex); signal(full); until false; end compute:5begin repeat wait(full); wait(mutex); nextc:=buffer; signal(mu

12、tex); signal(empty); compute data in nextc; until false; end b. Var empty, full: semaphore:=1, 0; gather: begin repeat gather data in nextp; wait(empty); buffer:=nextp; signal(full); until false; end compute: begin repeat wait(full); nextc:=buffer; signal(empty); compute data in nextc; until false;

13、end 3333试比较进程间的低级与高级通信工具。试比较进程间的低级与高级通信工具。用户用低级通信工具实现进程通信很不方便, 效率低,通信对用户不透明,所有操作都必须由程序员来实现,而高级通信工具弥补了这 些缺陷,用户直接利用操作系统提供的一组通信命令,高效地传送大量的数据。 3636为什么要在为什么要在 OSOS 中引入线程?中引入线程?在操作系统中引入线程,则是为了减少程序在并发执行 时所付出的时空开销,使 OS 具有更好的并发性,提高 CPU 的利用率。进程是分配资源的基 本单位,而线程则是系统调度的基本单位。 38.38. 试从调度性,并发性,拥有资源及系统开销方面对进程和线程进行比较

14、。试从调度性,并发性,拥有资源及系统开销方面对进程和线程进行比较。 (1)调度性。线程在 OS 中作为调度和分派的基本单位,进程只作为资源拥有的基本单位。(2)并发性。进程可以并发执行,一个进程的多个线程也可并发执行。 (3)拥有资源。进程始终是拥有资源的基本单位,线程只拥有运行时必不可少的资源,本 身基本不拥有系统资源,但可以访问隶属进程的资源。6(4)系统开销。操作系统在创建、撤消和切换进程时付出的开销显著大于线程。 4141何谓用户级线程和内核支持线程?何谓用户级线程和内核支持线程?(1)用户级线程:仅存在于用户空间中的线程,无 须内核支持。这种线程的创建、撤销、线程间的同步与通信等功能

15、,都无需利用系统调用 实现。用户级线程的切换通常发生在一个应用进程的诸多线程之间,同样无需内核支持。 (2)内核支持线程:在内核支持下运行的线程。无论是用户进程中的线程,还是系统线程 中的线 程,其创建、撤销和切换等都是依靠内核,在内核空间中实现的。在内核空间里还 为每个内核支持线程设置了线程控制块,内核根据该控制块感知某线程的存在并实施控制。第三章处理机调度与死锁第三章处理机调度与死锁 1 1高级调度与低级调度的主要任务是什么?为什么要引入中级调度?高级调度与低级调度的主要任务是什么?为什么要引入中级调度? 高级调度的主要任务是根据某种算法,把外存上处于后备队列中的那些作业调入内存。 低级调

16、度是保存处理机的现场信息,按某种算法先取进程,再把处理器分配给进程。 引入中级调度的主要目的是为了提高内存利用率和系统吞吐量。使那些暂时不能运行的进 程不再占用内存资源,将它们调至外存等待,把进程状态改为就绪驻外存状态或挂起状态。7 7在选择调度方式和调度算法时,应遵循的准则是什么?在选择调度方式和调度算法时,应遵循的准则是什么? (1)面向用户的准则:周转时间短、响应时间快、截止时间的保证、优先权准则。 (2)面向系统的准则:系统吞吐量高、处理机利用率好、各类资源的平衡利用。 8 8在批处理系统、分时系统和实时系统中,各采用哪几种进程(作业)调度算法?在批处理系统、分时系统和实时系统中,各采用哪几种进程(作业)调度算法? 批处理系统的调度算法:短作业优先、优先权、高响应比优先、多级反馈队列调度算法。 分时系统的调度算法:时间片轮转法。 实时系统的调度算法:最早截止时间优先即 EDF、最低松弛度优先即 LLF 算法。 1010试比较试比较

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号