《现代操作系统(中文第四版)》课后习题答案第一章引论_第1页
《现代操作系统(中文第四版)》课后习题答案第一章引论_第2页
《现代操作系统(中文第四版)》课后习题答案第一章引论_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《现代操作系统(中⽂第四版)》课后习题答案第⼀章引论如有错误答案,请各位评论指出,多谢多谢1、操作系统的两⼤主要作⽤是什么?;2.管理各种软硬件资源。2、在1.4节中描述了9中不同类型的操作系统,列举每种操作系统的应⽤(每种系统⼀种应⽤)1.⼤型操作系统(Mainframeoperatingsystem):⼤型保险公司的索赔流程处理系统2.服务器操作系统(Serveroperatingsystem):⽐如苹果⼿机的Siri所提供的语⾳到⽂本的转换服务3.多处理器操作系统(Multiprocessoroperatingsystem):视频编辑与渲染4.个⼈计算机操作系统(Personalcomputeroperatingsystem):⽂字处理应⽤5.掌上计算机操作系统(Handheldcomputeroperatingsystem):上下⽂感知推荐系统6.嵌⼊式操作系统(Embeddedoperatingsystem):为DVD录像机设计的录像程序。7.传感器节点操作系统(Sensor-nodeoperatingsystem):野外温度监测8.实时操作系统(Real-timeoperatingsystem):航空管制系统9.智能卡操作系统(Smart-cardoperatingsystem):电⼦⽀付3.分时系统和多道程序系统的区别是什么?答:在分时系统中,多个⽤户可以使⽤他们⾃⼰的终端同时访问和执⾏计算系统上的计算。多道程序设计系统允许⽤户同时运⾏多个程序。所有分时系统都是多道程序设计系统,但并⾮所有多道程序设计系统都是分时系统,因为多道程序设计系统可以在只有⼀个⽤户的PC上运⾏。4.为了使⽤⾼速缓存,主存被划分为若⼲cache⾏,同城每⾏长32或64字节。每次缓存⼀整个cache⾏,每次缓存⼀整⾏⽽不是⼀个字节或⼀个字,这样的优点是什么?存位置。因此,通过缓存整个缓存⾏,接下来缓存命中的概率会增加。此外,现代的硬件可以将32或64字节块整个传输到⾼速缓存⾏,⽐单个字节读取,总共读32或64字节的速度要快得多。CPU处理(即没有DMA)。对于多到程序⽽⾔这种组织⽅式有什么含义?答:DMA(DirecMemoryAccess):直接存储器访问。多道程序设计的主要原因是在某个程序等待I/O完成时,可以让CPU做⼀些其他操作。如果没有DMA,则CPU完全占⽤I/O,因此通过多道程序设计没有任何收益增加获得(⾄少在CPU利⽤率⽅⾯)。⽆论程序执⾏多少I/O,CPU都将100%处于忙碌。这当然假设主要的延迟是数据被复制时的等待。如果由于其他原因(例如,到达串⾏线路)I/O很慢,CPU可以执⾏其他⼯作。6.与访问I/O设备相关的指令通常是特权指令,也就是说,他们能在内核态执⾏⽽在⽤户态则不⾏,说明为什么这些指令是特权指令。答:典型的例⼦,⽐如对于I/O设备(例如,打印机)的访问,通常对不同⽤户限制也不同。某些⽤户可以允许打印任意数量的页⾯,某些⽤户可能根本不允许打印,⽽⼀些⽤户可能仅限于打印⼀定数量的页⾯。这些限制由系统管理员根据某些策略设置。需要强制执⾏此类策略,以便⽤户级别的程序不会⼲扰它们。7.系列计算机的思想在20世界60年代由IBM引⼊System/360⼤型机。现在这种思想是消亡还是存活?答:依然活着。例如,英特尔使Corei3,i5和i7CPU具有各种不同的属性,包括速度和功耗。所有这些计算机都在架构上兼容。只是它们的价格和性能不同。8.缓慢采⽤GUI的⼀个原因是⽀持他的硬件的成本⾼昂,为了⽀持25⾏80列的单⾊⽂本屏幕,需要多少视频RAM?对于1024x768像素24位⾊彩图需要多少RAM?在1980年每Kb5美元,这些RAM成本是多少?现在成本多少?1.25x80x1=2000字节2.1024x768x3=2359296字节(⼀字节8位,24位就是三个字节)3.成本⾃⾏计算9.在建⽴⼀个操作系统时有⼏个设计⽬的,例如资源利⽤、及时性、健壮性等,请列举两个可能相互⽭盾的设计⽬的。考虑公平性和实时性。公平性要求每个进程都以公平的⽅式分配其资源,没有任何进程获得超过公平份额。另⼀⽅⾯,实时性需要根据不同进程必须完成执⾏的时间来分配资源。实时进程可能会获得不成⽐例的资源份额。他们就是互相⽭盾的。10.内核态和⽤户态有哪些区别?解释在设计操作系统时存在两种不同的模式有什么帮助。⼤多数现代CPU提供两种执⾏模式:内核态和⽤户态。CPU可以执⾏其指令集中的每条指令,并在内核态下执⾏时使⽤硬件的各种功能。但是⽤户态只能执⾏部分指令,执⾏时仅使⽤部分功能。拥有两种模式允许设计⼈员以⽤户态运⾏⽤户程序,从⽽拒绝他们访问关键指令。255个扇区。每个扇区512字节。这个磁盘有多少盘⽚和磁头?假设平均寻道时间为11ms,平均旋转延迟为7ms,读取速度100MB/s,计算从⼀个扇区读取400kb需要的平均时间。磁头数=255GB/(65536*255*512)=16盘⽚数量=16/2=8读取操作完成的时间是寻道时间+旋转延迟+传输时间。寻道时间为11ms,旋转延迟为7ms,传输时间为4ms,因ft平均传输时间为22ms。12、下⾯哪⼀条指令只能在内核态使⽤?a禁⽌所有的中断b读⽇期-时间时钟c设置⽇期-时间时钟d改变存储器映像选择a、c、d13、考虑⼀个有两个CPU的系统,且每⼀个CPU有两个线程(超线程)。假设有三个程序P0、P1\P2,分别以运⾏时间5ms,10ms,20ms开始,运⾏这些程序需要多少时间?假设这三个程序都是100%限于CPU,在运⾏时⽆阻赛,并且⼀旦设定就不改变CPU。答:完成这些程序的执⾏可能需要20,25或30毫秒,具体取决于操作系统如何安排它们。如果P0和P1在同⼀个CPU上进⾏调度,⽽P2在另⼀个CPU上进⾏调度,则需要20毫秒。如果P0和P2安排在同⼀个CPU上并且P1安排在另⼀个CPU上,则需要25毫秒。如果P1和P2安排在同⼀个CPU上并且P0安排在另⼀个CPU上,则需要30毫秒。如果所有三个都在同⼀个CPU上,则需要35毫秒。14、⼀台计算机有⼀个四级流⽔线,每⼀级都花费相同的时间执⾏其⼯作,即1ns,这台机器每秒可执⾏多少条指令?答:每⼀纳秒的指令都从管道中出现。这意味着机器每秒执⾏10亿条指令。根本没关系管道有多少个阶段。每级1nsec的10级流⽔线每秒也会执⾏10亿条指令。重要的是完成的指令弹出管道末端的频率。15.假设⼀个计算机系统有⾼速缓存、内存以及磁盘,操作系统⽤呼你内存。读取缓存中的⼀个词需要1ns,内存需要10ns,磁盘需要10ms。如果缓存命中率是95%,内存的是99%(缓存失效时),读取⼀个词的平均时间是多少?答:平均访问时间答:平均访问时间=0.95×1nsec(词在缓存中)+0.05×0.99×10nsec(词在RAM中,但不在缓存中)+0.05×0.01×10,000,000nsec(仅限磁盘上的词)=5001.445纳秒=5.001445µsec16.在⽤户程序进⾏⼀个系统调⽤,以读写磁盘⽂件时,该程序提供指⽰说明了所需要的⽂件,⼀个指向数据缓冲区的指针以及计数。然17.什么是陷阱指令?在操作系统中他的⽤途。陷阱指令将⼀个处理器的执⾏模式从⽤户模式切换到内核模式。该指令允许⽤户程序调⽤操作系统内核中的函数。18.分时系统中为什么需要进程表?在只有⼀个进程存在的计算机中,需要进程表吗、进程表是为了存储当前被挂起、甚或是被延迟和阻塞的进程状态。在单⼀进程的系统中是不需要,因为单⼀进程从不挂起。19、说明有没有理由在⼀个⾮空的⽬录中安装⼀个⽂件系统。如果这样做,如何做?装配点通常都是空的。然⽽,系统管理⼈员可能需要将某些位于被装配⽬录中的⾮常重要的⽂件复制到装配点,使得他们在进⾏设备检查或修理时,可以在紧急事件中的普通路径上找到这些⽂件。20、对于下列系统调⽤,给出引起失败的条件:fork,exec以及unlink.如果进程表中没有空闲的槽(或者没有内存和交换空间),fork将失败。如果所给的⽂件名不存在,或者不是⼀个有效的可执⾏⽂件,exec将失败。如果将要解除链接的⽂件不存在,或者调⽤unlink的进程没有权限,则unlink将失败。21.下列资源能使⽤哪种多路复⽤(时间、空间或者两者皆可):CPU、内存、磁盘、⽹卡、打印机、键盘以及显⽰器?时间复⽤:时间复⽤:CPU,⽹卡,打印机,键盘。空间复⽤:内存,磁盘。两者:显⽰。22.在count=write(fd,buffer,nbytes);调⽤中,是否能将函数返回值传递给count变量⽽不是nbtes变量?如果能,为什么?如果fd不正确,调⽤失败,将返回1。同样,如果磁盘满,调⽤也失败,要求写⼊的字节数和实际写⼊的字节数可能不等。在正确终⽌时,总是返回nbytes。23.有⼀个⽂件,其⽂件描述符是fd,内含下列字节序列:3,1,4,1,5,9,2,6,5,3,5。有如下系统调⽤:lseek(fd,3,SEEK_SET);read(fd,&buffer,4);其中lseek调⽤寻找⽂件中的字节3。在读操作完成之后,buffer中的内容是什么?答:1,5,9,224.假设⼀个10MB的⽂件在磁盘连续扇区的同⼀个轨道上(轨道号:50)。磁盘的磁头臂ft时位于第100号轨道。要想从磁盘上找回这个⽂件,需要多长时间?假设磁头臂从⼀个柱⾯移动到下⼀个柱⾯需要1ms,当⽂件的开始部分存储在的扇区旋转到磁头下需要5ms,并且读的速率是100MB/s。答:找到⽂件需要的时间=1*50ms505ms10/100*1000ms(读取10MB的时间)=155ms25.块特殊⽂件和字符特殊⽂件的基本差别是什么?26.在图1-7的例⼦中库调⽤称为read,⽽系统调⽤⾃⾝称为read,这两者都有相问的名字是正常的吗?如果不是,哪⼀个更重要?read陷⼊内核时,它将系统调⽤号码放⼊寄存器或者堆栈中。该号码通常⽤于⼀张表的索引。这⾥确实没有使⽤任何名称。⽽另⼀⽅⾯,库例程的名称是⼗分重要的,因为它将⽤于程序中。27、现代操作系统将进程的地址空间从机器物理内存中分离出来,列举这种设计的两个好处。这允许可执⾏程序在不同的运⾏中加载到机器内存的不同部分。ft外,它还使程序⼤⼩可以超过机器内存的⼤⼩(虚拟内存)。28、对程序员⽽⾔,系统调⽤就像对其他库过程的调⽤⼀样。有⽆必要让程序员了解哪⼀个库过程导致了系统调⽤?在什么情形下,为什么?答:就程序逻辑⽽⾔,库例程调⽤哪个系统调⽤是没有关系的。但是,如果需要考虑性能问题,⽆需系统调⽤就可以完成的任务将使程序运29、图1-23说明有⼀批UNIX的系统调⽤没有与之相等价的Win32API,对于所列出的每⼀个没有Win32等价的调⽤,若程序员要把⼀个UNIX程序转换到Windows下运⾏,会有什么后果?答:某些UNIX调⽤没有相应的Win32API:Link:Win32程序不能给⽂件另外⼀个名称,或者使某个⽂件出现在多个⽬录中。同时,试图创建链接可以便于测试,并且在⽂件上加锁。Mount和umount:Wmdows程序不能创建关于标准的路径的假定命名,因为具有多个磁盘驱动器的系统上路径名,其驱动器部分是不同的。Chmod:Windows程序员不得不假定所有的⽤户都能访问每个⽂件。Kill:Windows程序员不能kill⾏为失常的程序。30、可移植的操作系统是能从⼀个系统体系结构到另⼀个体系结构的移动不需要任何修改的操作系统。请解释为什么建⽴⼀个完全可移植性的操作系统是不可⾏的。描述⼀下在设计⼀个髙度可移植的操作系统时你设计的⾼级的两层是什么样的。以及CPU的字长(通常是32或64位)。由于硬件上的这些差异,31、请解释在建⽴基于微内核的操作系统时策略与机制的分离带来的好处。a)⼀微年是多少秒?。那么gigamicron是多长?1TB存储器中有多少字节?地球的质量是6000yottagram,换算成kilogram是多少?答:这些都可以直接转换:(a)⼀微年=10-6×365×24×3600=31.536s。(b)1000m或lkm。©有2^50字节,也就是1,099,511,627,776字节。(d)它是6×10^24kg34、写⼀个和图1-19类似的shell,但是包含⾜够的实际可⼯作的代码,这样读者可测试

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论