《操作系统》作业参考答案2017_69107246

合集下载

操作系统课后作业参考答案

操作系统课后作业参考答案

操作系统课后作业参考答案第⼀章1、设计现代OS的主要⽬标是什么?答:设计现代操作系统的主要⽬标有⽅便性:帮助⽤户更简单的完成预定⼯作有效性:更有效的利⽤各类软硬件资源,同时提⾼系统吞吐量可扩充性:OS应采⽤层次化结构,便于未来根据功能对各层次和模块进⾏增删、修改开放性:不同的OS具有统⼀的开放环境,便于其移植和互操作其中,⽅便性和可靠性是设计OS时最重要的⽬标。

8、试在交互性、及时性及可靠性⽅⾯,将分时系统与实时系统进⾏⽐较。

答:交互性:实时系统的交互性仅限于允许⽤户访问系统中某些特定的专⽤服务程序,分时系统可以向⽤户提供全⾯的服务;及时性:实时信息系统和分时系统以⼈能忍受的等待时间来确定,⽽实时控制系统则以被控制对象所要求的截⾄时间来确定;可靠性:分时系统对可靠性的要求⽐实时系统低,要求⾼度可靠的实时系统需要有多级容错措施保障系统和数据安全性。

9、OS有哪⼏⼤特征?其最基本的特征是什么?答:OS具有以下四个特征并发:OS中的两个或多个程序要能够在同⼀时间间隔内发⽣,以提⾼系统资源利⽤率和系统吞吐量,改善系统性能共享:系统中的资源可供内存中多个并发执⾏的进程(线程)共同使⽤虚拟:通过某种技术把⼀个物理实体变为若⼲个逻辑上的对应物异步:进程以不可预知的速度向前推进其中并发性是OS最重要的特征。

14、是什么原因使操作系统具有异步性特征?答:由于操作系统具有并发性特征,即多个进程并发执⾏,⽽各进程在共享资源时获取和释放资源的顺序与时间都是不确定的,因此其推进速度和总完成时间不能唯⼀确定,即OS系统具有异步性,但在相同运⾏环境下,作业多次运⾏结果应是⼀致的。

第⼆章6、试从动态性、并发性和独⽴性上⽐较进程和程序。

答:见课本P30。

7、试说明PCB的作⽤,为什么说PCB是进程存在的唯⼀标识?答:见课本p32进程控制块的作⽤。

8、试说明进程在三个基本状态间转换的典型原因。

答:见课本P31 图2-518、同步机构应遵循哪些基本准则?为什么?答:见课本P4122、试写出相应的程序来描述图2-15所⽰的前趋图。

操作系统作业标准答案

操作系统作业标准答案

作业答案1、什么是操作系统?操作系统的主要特点?操作系统是管理和控制计算机系统中的所有硬件和软件资源,合理的组织计算机工作流程,并为用户提供一个良好的工作环境和友好的接口。

现代操作系统的主要特点是:1)并发性2)共享性3)虚拟性4)不确定性2、多道程序设计系统和多重处理系统有什么区别?多道程序是作业之间自动调度执行、共享系统资源,并不真正同时执行多个程序,在宏观上是并行操作,微观上是串行操作。

多重处理系统必须配置多个CPU,可以真正实现同时并行执行多道程序。

3、作业调度的四种状态?提交、后备、执行、完成4、用户与操作系统之间的接口有哪两种?命令接口和系统调用5、一个作业8:00到达,估计运行时间为1小时,10:00开始执行该作业,响应比是多少?Td=10-8=2Tz=1作业相应比:HRN=1+Td/Tz=36、比较进程和程序的区别1)进程是动态的,程序是静态的概念2)进程具有并行特征3)一个程序可以包含多个进程7、比较作业和进程的区别一个进程是程序对某个数据集的执行过程,是分配资源的基本单位。

作业是用户需要计算机完成某项任务,而要求计算机所做工作的集合。

作业周期:提交、后备、执行、完成。

进程是作业执行过程的体现。

区别:1)作业是用户向计算机提交任务的实体。

进程是完成用户任务的实体。

2)一个作业可以由多个进程组成,必须至少由一个进程组成。

3)作业主要用于批处理系统,进程则用在多道程序系统8、什么是线程?比较线程和进程的区别?线程是在进程内用于调度和占有处理机的基本单位,线程可以分为用户线程、系统线程。

进程线程独立资源分配与进程共享资源独立地址空间共享同一地址空间调度开销较大调度开销较小9、什么是临界区?举例说明临界区?临界区是指不允许多个并发进程交叉执行的一段程序。

它是由于不同并发进程的程序段共享公用数据或公用数据变量而引起的。

如:getAddr:begin:local gg=stack[top]top=top+1endreleaseAddr(ad)begin:top=top+1stack[top]+1stack[top]=adend10、试比较P、V原语法和加锁法实现进程互斥的区别?加锁法信号量法1、加锁过程可以中断采用P、V原语2、循环检测锁,系统开销大,系统开销小3、未进入临界区的进程无等待机制未进入临界区的进程必须在等待队列中等待11、死锁的四个必要条件?1)互斥2)不可剥夺条件3)部分分配4)环路条件12、进程通信的四种方式?1)主从式2)对话式3)消息或邮箱4)共享内存13、作业调度和进程调度的区别作业调度的主要任务是:1)记录系统中作业的状况2)从后备作业队列中挑选一批作业进入执行状态3)被选中的作业分配资源建立进程4)作业执行结束后释放所占用的资源进程调度的主要任务是:1)记录系统中所有进程的执行情况2)选择占有处理机的进程3)进行进程上下文切换14、以下调度算法的区别a)FCFSb)SJFc)RRd)HRNe)SRRa)FCFS:先请求CPU的进程被首先分配到CPUb)SJF:将每个进程与其下一个CUP区间段相关联,当CPU可用时,它会赋给具有最短后续CPU区间的进程c)RR:系统给每个进程分配若干个时间片,被调度的进程运行完时间片后,系统就发生调度d)HRN:每当要进行作业调度的时候,系统选择响应比最大的作业投入执行e)SRR:进程的优先级随时间的增加而增加,当新创建进程队列的头一个进程的优先权与享受服务队列中最后一个进程的优先权相等时或享受队列为空进行进程调度。

(完整版)操作系统课后题答案(可编辑修改word版)

(完整版)操作系统课后题答案(可编辑修改word版)

第一章1.设计现代OS的主要目标是什么?答:(1)有效性(2)方便性(3)可扩充性(4)开放性2.OS的作用可表现在哪几个方面?答:(1)OS作为用户与计算机硬件系统之间的接口(2)OS作为计算机系统资源的管理者(3)OS实现了对计算机资源的抽象3.为什么说OS实现了对计算机资源的抽象?答:OS首先在裸机上覆盖一层I/O设备管理软件,实现了对计算机硬件操作的第一层次抽象;在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。

OS 通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。

4.试说明推动多道批处理系统形成和发展的主要动力是什么?答:主要动力来源于四个方面的社会需求与技术发展:(1)不断提高计算机资源的利用率;(2)方便用户;(3)器件的不断更新换代;(4)计算机体系结构的不断发展。

5.何谓脱机I/O和联机I/O?答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。

该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。

而联机I/O方式是指程序和数据的输入输出都是在主机的直接控制下进行的。

6.试说明推动分时系统形成和发展的主要动力是什么?答:推动分时系统形成和发展的主要动力是更好地满足用户的需要。

主要表现在:CPU 的分时使用缩短了作业的平均周转时间;人机交互能力使用户能直接控制自己的作业;主机的共享使多用户能同时使用同一台计算机,独立地处理自己的作业。

7.实现分时系统的关键问题是什么?应如何解决?答:关键问题是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,在用户能接受的时延内将结果返回给用户。

解决方法:针对及时接收问题,可以在系统中设置多路卡,使主机能同时接收用户从各个终端上输入的数据;为每个终端配置缓冲区,暂存用户键入的命令或数据。

《操作系统》练习册及答案

《操作系统》练习册及答案

《操作系统》练习册及答案操作系统练习册参考答案第⼀部分选择题答案1.操作系统是A 。

(A.系统软件,B.⾼级语⾔)2.操作系统的本⾝就具有A 。

(A.并发性、共享性。

B. 并发性、⾮共享性。

C.⼀次性、共享性。

)3. 操作系统的本⾝就A 并发性、共享性。

(A.具有。

B.不具有。

)4.操作系统发展主要动⼒是A 。

(A.硬件技术的发展.B.计算机系统使⽤⽅便的承诺。

)5.⽤户交给计算机做的⼯作称为 C 。

(A.进程。

B.线程。

C.作业。

)6.⼀般情况下,作业由 C 、数据、作业说明书三部分组成。

(A.代码段.B.堆栈.C. 程序。

)7.操作系统⼀般为⽤户提供了 B 种界⾯。

(A.⼀种。

B,三种。

C.七层。

)8.操作系统凭借 C 对作业进⾏调度。

(A.FCB.B.SDB.C.JCB)9.作业被全部输⼊到输⼊井后, A 负责为作业建⽴JCB.(A. 作业登录程序.B.作业撤离程序.C.进程调度程序。

)10.作业进⼊计算机系统之前处在 C 空间中。

(A 扩⼤B.内存C. .虚拟.)11.虚拟空间的⼤⼩是由计算机系统的 B 确定的。

(A.操作系统B.地址结构和寻址⽅式C.⽤户需要。

)12.在进程执⾏之前完成的地址变换称为静态重定位,它 C 硬件⽀持.(A. 需要B.可要也可不要.C.不需要.)13.固定分区管理 B 动态重定位。

(A.可以做B.不能做)14.所谓程序的局部性是指程序在⼀段时间内的执⾏只涉及到程序的局部,⽽整个程序的执⾏是从⼀个局部到另⼀个局部。

从这个观点出发 B 进⾏虚拟内存管理。

(A.不可以B.可以)15.程序在并发环境中的⼀次执⾏叫 C 。

(A.程序.B.原语.C.进程)16.把分散在各进程中的同类的同步与互斥段集中起来,为每类资源设⽴⼀个专门机构来统⼀管理进程对资源的访问。

这组程序的每个过程被称为⼀个 B 。

(A.进程B.管程C.中断)17.进程的基本特征是 A .(A.ⅰ.动态性。

ⅱ.并发性。

操作系统习题及答案

操作系统习题及答案

操作系统习题与答案(经典型)第一章引言(一)单项选择题1操作系统是计算机系统的一种( B )。

A.应用软件B.系统软件c.通用软件D.工具软件2.操作系统目的是提供一个供其他程序执行的良好环境,因此它必须使计算机(D ) A.使用方便B.高效工作 C.合理使用资源D.使用方便并高效工作3.允许多个用户以交互方式使用计算机的操作系统是( A )。

A.分时操作系统B.批处理单道系统C.实时操作系统D.批处理多道系统4.下列系统中( C )是实时系统。

A.计算机激光照排系统B.办公自动化系统 C.化学反应堆控制系统D.计算机辅助设计系统5.操作系统是一种系统软件,它( D )。

A.控制程序的执行B.管理计算机系统的资源C.方便用户使用计算机D.管理计算机系统的资源和控制程序的执行6.计算机系统把进行( C )和控制程序执行的功能集中组成一种软件,称为操作系统A.CPU管理B.作业管理C.资源管理D.设备管理7.批处理操作系统提高了计算机系统的工作效率,但( D )。

A.不能自动选择作业执行B.无法协调资源分配c.不能缩短作业执行时间D在作业执行时用户不能直接干预8.分时操作系统适用于( B)。

A.控制生产流水线B.调试运行程序c.大量的数据处理D.多个计算机资源共享9.在混合型操作系统中,“前台”作业往往是指( C )。

A.由批量单道系统控制的作业B.由批量多道系统控制的作业c.由分时系统控制的作业D.由实时系统控制的作业10.在批处理兼分时的系统中,对( B)应该及时响应,使用户满意。

A.批量作业B.前台作业c.后台作业D.网络通信11.实时操作系统对可靠性和安全性要求极高,它( C )。

A.十分注重系统资源的利用率B.不强调响应速度c.不强求系统资源的利用率D.不必向用户反馈信息12.分布式操作系统与网络操作系统本质上的不同之处在于( D )。

A.实现各台计算机之间的通信B.共享网络个的资源c.满足较大规模的应用D.系统中若干台计算机相互协作完成同一任务13.SPOOL技术用于( B)。

操作系统习题及参考答案

 操作系统习题及参考答案

操作系统习题集参考教材:汤小丹等编著,计算机操作系统(第三版),西安电子科技大学出版社,2007年版;何炎祥等编著,计算机操作系统,清华大学出版社,2005年版;邹恒明著,计算机的心智操作系统之哲学原理,机械工业出版社,2009年4月。

第一章操作系统引论1.1 选择题1.下列哪一条是在操作系统设计中引入多道程序技术的好处?AA. 使并发执行成为可能B. 简化操作系统的实现C. 减少对内存容量的需求D. 便于实施存储保护2.Windows XP属于下列哪一类操作系统?BA. 单用户单任务B. 单用户多任务C. 多用户D. 批处理3.下列哪一条不是批处理系统的优点?DA. 吞吐量大B. 资源利用率高C. 系统开销小D. 响应及时4.能及时处理由过程控制反馈的数据并作出响应的操作系统是( C )A、分时系统B、网络系统C、实时系统D、批处理系统5.UNIX系统是一个____C______操作系统。

A、单用户B、单用户多任务C、多用户多任务D、多用户单任务6.在分时系统中,当用户数一定时,影响响应时间的主要因素是_B_。

A、时间片B、调度算法C、存储分配方式D、作业的大小7.Windows NT属于哪一类操作系统?BA、单用户单任务B、单用户多任务C、单道批处理D、多用户8.多道程序设计技术是指:多道程序可同时进入A ,在A 的位置B ,为使多道进程并发执行必须为每个用户作业创建进程,批处理系统由C 创建,而分时系统由D 创建。

选择答案:(1)内存(2)系统(3)固定(4)不定(5)进程调度(6)中级调度(7)作业调度(8)输入进程(9)系统调用(10)命令解释进程1.2 填空题1.在手工操作阶段,操作员在进行装卸卡片或磁带等手工操作时,CPU处于空闲等待,我们称这种现象为人机矛盾。

2.多道批处理系统的特征为并发•、共享、虚拟和异步。

3.批量处理系统的缺点为周转时间长;缺乏人工干预(人机交互)。

4.多道批处理系统的出现,标志着操作系统的形成。

操作系统习题及参考答案

操作系统习题及参考答案

操作系统习题及参考答案一、选择题1. 操作系统的主要功能是什么?A. 提供用户接口B. 管理和分配计算机的资源C. 控制和管理硬件设备D. 执行用户程序参考答案:B. 管理和分配计算机的资源2. 下列哪项不属于操作系统的资源管理功能?A. 内存管理B. 磁盘管理C. 进程管理D. 数据库管理参考答案:D. 数据库管理3. 在进程调度算法中,哪种调度算法能够保证所有进程公平获得CPU时间片?A. 先来先服务(FCFS)B. 短作业优先(SJF)C. 轮转调度(RR)D. 优先级调度参考答案:C. 轮转调度(RR)4. 下列哪个不是进程状态之一?A. 运行态B. 就绪态C. 阻塞态D. 结束态参考答案:D. 结束态5. 现代操作系统采用的存储管理方式是?A. 分页式存储管理B. 段式存储管理C. 段页式存储管理D. 段和页混合存储管理参考答案:C. 段页式存储管理二、填空题1. 在分页式存储管理中,操作系统将内存和磁盘划分为固定大小的______________。

参考答案:页(page)2. 进程在执行过程中如果发生了某些事件而无法继续执行,则进程会进入阻塞态,也被称为______________。

参考答案:等待态3. 进程管理的主要任务之一是实现进程的______________,即从一个进程的执行转到另一个进程的执行。

参考答案:切换(调度)4. 虚拟内存的实现需要使用到的硬件机制是______________。

参考答案:页表5. 一般而言,操作系统的中断处理程序都是使用______________的方式实现的。

参考答案:中断向量表三、简答题1. 请简要说明操作系统的作用及其主要功能。

操作系统是计算机系统中的一个重要组成部分,起着控制和协调计算机硬件与软件资源,为用户提供接口的作用。

操作系统主要功能包括:- 资源管理:负责管理和分配计算机的各种资源,如 CPU、内存、磁盘等,以满足不同进程的需求。

计算机操作系统作业参考答案

计算机操作系统作业参考答案

《计算机操作系统》作业参考答案作业1第一章一、1 (C)2(D) 3(A)4(B)5(C)6(C)7(B)8(C) 9(A) 10(C)。

二、1.系统软件。

2.批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统。

3.作业管理、文件管理、存储管理、设备管理、进程管理。

三、1(对) 2(错)3(对)4(错)5(错)四、1 操作系统相当于计算机的“管家”,它负责管理计算机的硬软资源,在整个计算机系统中起极其重要的作用。

2.分时系统通用性强,交互能力强、响应速度要求一般,追求的是尽量为更多的用户服务;实时系统是一种专用系统,它的交互能力要求一般,追求的是非常快的响应速度和非常高的可靠性。

3.DOS具有良好的兼容性;较好的开放性;使用方便;功能丰富。

Windows具有优良的图形界面;多任务操作环境;有效地利用主存;支持多媒体技术。

UNIX/Linux内核和核外程序的有机结合;移植性好;多用户多任务;较好的用户界面。

第二章一、1(D) 2(A) 3(B)4(C) 5(A) 6(C)7(B)8(A) 9(B)10(A)二、1程序、数据、作业说明书2脱机、联机加脱机3操作命令、系统调用三、1 (错)2(错)3(对)4(错) 5 (错)四、1作业调度也称高级调度进程调度也称低级调度。

一个作业被调度,那么这个作业有资格获得CPU;而一个进程被调度,说明这个进程已经分配了CPU。

作业调度的次数少频率低,作业只调度一次就可以完成;而进程调度的次数多频率高,一个进程反复被调度多次才完成。

2运行的状态不同。

一般过程调用其调用的过程核被调用的过程都是用户的程序,CPU一直在用户态下运行。

系统调用其调用的过程是用户程序,被调用的程序是操作系统的核心程序,执行调用过程CPU处于用户态,执行被调用的系统核心程序时CPU处于核心态。

进入方式不同。

一般过程调用可以通过过程调用语句调用用户过程。

系统调用必须通过系统调用指令(访管指令)调用系统的核心程序。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

重要说明:1. 仅供复习时参考,请勿扩散。

2. 做这份参考答案时重译了部分题目,所以题目文字可能与教材有所不同。

第1讲作业参考答案(第1章)1. 什么是多道程序设计?答:多道程序设计是指在内存中装入多个不同的进程,当一个进程等待I/O操作完成时,可以快速地将CPU切换到另一个进程,从而提高CPU的利用率。

4. 系列计算机思想是1960年代由IBM System/360大型主机引入的。

现在这一思想是消亡了还是继续活跃着?答:系列机思想今天仍然活跃着。

事实上,正是IBM System/360促进了计算机体系结构概念的产生。

相同体系结构的计算机只是在速度、性能等方面存在差异,但是软件是兼容的,例如今天的X86体系结构、ARM体系结构、MIPS体系结构等,这正是系列机思想的体现。

5. GUI在最初缓慢地被人们接受的一个原因是支持它的硬件成本高昂。

为了支持25行⨯80列字符的单色文本屏幕,需要多少视频RAM?为了支持1024⨯768像素24位彩色位图需要多少视频RAM?以1980年代的价格($5/KB)这些RAM的成本是多少?现在的成本是多少?答:假设每个字符占用1B,那么支持25行⨯80列字符的单色文本屏幕,需要25⨯80⨯1B=2000B 的视频RAM。

支持1024⨯768像素24位彩色位图,需要1024⨯768⨯3B=2359296B视频RAM。

1980年代支持25行⨯80列字符的单色文本屏幕的视频RAM的成本是2000⨯5/1024=$9.77。

支持1024⨯768像素24位彩色位图的视频RAM的成本是2359296⨯5/1024=$11520。

按照2017年$15/GB的RAM价格,上述文本屏幕视频RAM的成本是2000⨯15/(1024)3=$0.000028,GUI屏幕视频RAM的成本是2359296⨯35/(1024)3=$0.033。

7. 下面的哪条指令应该只在内核态中使用?(a) 禁止所有中断(b) 读取日历时钟(c) 设置日历时钟(d) 改变内存映射答:(a)、(c)、(d)。

8. 考虑一个有两个CPU的系统,并且每一个CPU有两个线程(超线程)。

假设有三个程序P0、P1、P2开始运行,运行时间分别为5ms、10ms、20ms。

完成这些程序的执行需要多少时间?假设这三个程序100%受限于CPU,在执行时无阻塞,并且一旦分配了CPU就不改变CPU。

答:先解释一下什么是超线程。

这是Intel公司提出的一种技术,它允许单个CPU具有多个不同的线程状态,线程间的切换速度是与CPU的工作频率相匹配的。

例如,如果超线程CPU具有两个线程,那么可以有两个线程在其上运行,当其中一个线程需要读内存时(相对于CPU 的工作速度,这一操作需要很长时间),就可以切换到另一个线程运行。

换句话说,超线程CPU线程间的切换速度很快,但是并不具有线程间并行工作能力,任一时刻只能有一个线程在运行。

就本题而言,有两个CPU,每个CPU有两个线程。

现在有三个程序P0、P1、P2要运行,于是不同的处理器调度结果可能会有不同的运行时间。

a) P0、P1、P2调度到同一个CPU上运行,完成这些程序的执行需要5+10+20=35ms。

b) P0、P1调度到同一个CPU上运行,P2调度到了一个CPU上运行,完成执行P0、P1需要时间15ms,完成执行P2需要时间20ms,而两个CPU可以并行工作,所以完成这些程序的执行需要20ms。

c) P0、P2调度到同一个CPU上运行,P1调度到了一个CPU上运行,完成执行P0、P2需要时间25ms,完成执行P1需要时间10ms,而两个CPU可以并行工作,所以完成这些程序的执行需要25ms。

d) P1、P2调度到同一个CPU上运行,P0调度到了一个CPU上运行,完成执行P1、P2需要时间30ms,完成执行P0需要时间5ms,而两个CPU可以并行工作,所以完成这些程序的执行需要30ms。

9. 一台计算机具有四级流水线,每一级都花费相同的时间执行其工作,即1ns。

这台计算机每秒可执行多少条指令?答:不考虑由于指令相关导致的流水线停顿,假设流水线是满负荷工作的。

于是每1ns有一条指令完成执行,所以这台计算机每秒可执行109条指令。

第2讲作业参考答案(第1章)12. 当用户程序发出一个系统调用读或者写磁盘文件时,该程序会提供所需文件的标识、指向数据缓冲区的指针、以及计数。

然后,控制权转交给操作系统,操作系统则调用适当的驱动程序。

假设驱动程序启动磁盘,并且直到中断发生后才终止。

在从磁盘读的情况下,调用者很显然必须被阻塞(因为没有数据供它使用)。

向磁盘写的情况如何?需要调用者被阻塞以等待磁盘传送完成吗?答:如果驱动程序从应用程序的缓冲区把要写的数据复制到私有的缓冲区,那么调用者不需要被阻塞,控制权可以立即返回应用程序。

如果驱动程序没有私有的数据缓冲区,那么应用程序必须被阻塞,否则在驱动程序尚未完成将数据写入磁盘之前,应用程序有可能改变缓冲区中的数据。

14. 陷阱和中断的关键区别是什么?答:陷阱是指令执行的结果,是同步事件。

陷阱在相同的条件下可以重现。

中断是异步的,由外部事件导致,与当前程序的执行无关。

中断不可重现。

17. 操作系统中系统调用的目的是什么?答:系统调用是用户程序与操作系统内核的接口,它使得用户程序可以调用操作系统提供的服务。

23. 在图1-17给出的例子中,库过程称为read,系统调用本身也称为read。

两者具有相同的名字是必须的吗?如果不是,哪一个更重要?答:两者不必具有相同的名字,事实上系统调用可以没有名字。

当库过程调用系统调用时,它将系统调用号作为参数传递给操作系统内核,操作系统内核将系统调用号用作索引查找系统调用表,从而得到系统调用的入口地址。

库过程的名字更为重要,用户程序要通过该名字调用系统调用。

25. 对程序员而言,系统调用看起来就像是其它库过程调用一样。

程序员了解哪个库过程导致系统调用很重要吗?在什么情况下重要?为什么?答:仅就程序的功能而言,程序员不必了解哪个库过程导致系统调用。

考虑到程序的性能,程序员有必要了解哪个库过程导致系统调用。

因为系统调用需要从用户态切换到核心态,从而存在额外的开销。

因此,不导致系统调用的库过程比导致系统调用的库过程执行得更快。

在多进程环境下,系统调用有可能导致CPU切换到另外的进程,进而使得导致系统调用的库过程执行得更慢。

27. 可移植操作系统是指不用修改就能够从一个系统体系结构移植到另一个系统体系结构导操作系统。

请解释为什么建立一个完全可移植到操作系统是不可行的。

描述一下在设计一个高度可移植到操作系统时要有哪两个层次。

答:操作系统虽然是硬件裸机之上的最底层的软件,但毕竟是软件。

而硬件和软件之间的接口是ISA(指令集体系结构)。

在不同的ISA之间,软件不可能是完全可移植的,操作系统也不会例外。

在设计一个高度可移植到操作系统时,可以把操作系统设计成两个层次:依赖于ISA的层次和独立于ISA的层次。

依赖于ISA的层次处理各种不同体系结构之间的差异,向独立于ISA 的层次提供一个统一的和一致的虚拟硬件。

独立于ISA的层次不再处理底层硬件的差异,是完全可移植的。

第3讲作业参考答案(第2章)1. 图2-2显示了三个进程状态。

理论上,三个状态有六种转换,每个状态两种。

然而,图中只显示了四种状态转换。

是否存在发生图中缺失的状态转换的情形?答:从阻塞到运行是可能的。

假设某个进程阻塞在某个事件上,并且该事件发生了,如果此时CPU是空闲的,则该进程可以直接从阻塞转为运行。

或者在采用抢先式调度算法的系统中,如果某个进程阻塞在某个事件上,该事件发生了,并且该进程的优先级最高,则可以抢先低优先级进程占用的CPU,从而该进程从阻塞直接转为运行。

从就绪到阻塞是不可能的。

因为处于就绪态的进程已经具备运行的条件,只是因为CPU被其它进程占用而暂时不能运行。

所以,处于就绪态的进程不可能做出导致其被阻塞的任何操作。

2. 假设你要设计一种先进的计算机体系结构,使用硬件而不是中断来完成进程切换。

CPU需要什么信息?请描述硬件进程切换是如何工作的。

答:先回顾常规的进程切换过程。

常规的进程切换是中断驱动的。

当某个进程正在运行时,中断发生,硬件会将PC、程序状态字、有时还可能将通用寄存器等压入栈中,然后利用中断号查询中断向量表,找到中断服务例程的入口地址,转而执行中断服务。

之后是软件处理过程。

中断服务例程首先将当前进程的状态保存在当前进程的PCB中,删除中断硬件机制在进程的栈中保存的信息,设置栈指针指向中断处理所使用的内核栈,然后执行与特定的中断有关的处理(不同的中断源处理起来可能有所不同)。

完成中断处理之后,将某些进程的状态置为就绪(例如正等待中断所代表的事件的进程),接着调用调度程序,选择接下来要运行的进程,然后完成为新进程装入寄存器等操作,于是新进程就可以运行了。

如果采用硬件完成进程切换,所要做的只是把原来由中断服务例程软件所做的处理转为硬件处理即可。

为此,需要有一个保存当前进程PCB地址的特殊寄存器,不妨称其为PCB指针寄存器。

当某个进程正在运行时,中断发生,硬件将当前进程的状态存入PCB指针寄存器所指向的PCB中,然后执行中断服务例程(同样要利用中断向量表)。

完成中断处理之后,调用调度程序,选择新进程,将新进程PCB的地址存入PCB指针寄存器,之后新进程就可以运行了。

3. 在所有当代计算机中,中断处理程序至少有一部分代码是用汇编语言编写的,为什么?答:这样做的原因有两个:(1)中断处理程序中诸如开中断、关中断、保存寄存器的值、以及设置栈指针等操作无法用高级语言描述,(2)中断处理程序的执行应该尽可能快,而汇编语言代码比高级语言代码执行效率可能更高。

4. 当中断或者系统调用把控制权交给操作系统时,一般要使用与被中断的进程的栈相分离的内核栈区域,为什么?答:当中断或者系统调用把控制权交给操作系统时,如果使用被中断的进程在用户空间中的栈,而不是单独的内核栈,存在两个主要的问题:(1)如果用户程序编写的不好,未留下足够的栈空间,那么操作系统可能会崩溃,(2)当控制权从中断或者系统调用返回时,内核可能会在用户空间中留下内核使用的数据,存在安全隐患。

5. 多个作业能够并发执行比顺序执行完成得要快。

假设两个作业同时开始执行,每个作业需要10分钟CPU时间。

如果顺序执行,最后一个作业需要多长时间完成?如果并发执行,需要多长时间完成?假设I/O等待占50%。

答:顺序执行时,后一个作业要在前一个作业执行完才能开始执行,因此最后一个作业完成执行需要40分钟时间。

并发执行时,多个作业在宏观上可以同时执行,当一个作业等待I/O操作完成时,另一个作业可以在CPU上执行。

相关文档
最新文档