第一章1.17Definetheessentialpropertiesofthefollowingtypesofoperatingsystems:列出下列操作系统的基本特点:a.Batch批处理b.Interactive交互式c.Timesharing分时d.Realtime实时e.Network网络g.Distributed分布式f.并行式h.集群式i.手持式Answer:作业ch1-第四题(第六版答案)a.Batch相似需求的Job分批、成组的在计算机上执行,Job由操作员或自动Job程序装置装载;可以通过采用buffering,off-lineoperation,spooling,multiprogramming等技术使CPU和I/O不停忙来提高性能批处理适合于需要极少用户交互的Job。b.Interactive由许多短交易组成,下一次交易的结果可能不可预知需要响应时间短c.Timesharing使用CPU调度和多道程序提供对系统的经济交互式使用,CPU快速地在用户之间切换一般从终端读取控制,输出立即打印到屏幕d.Realtime在专门系统中使用,从传感器读取信息,必须在规定时间内作出响应以确保正确的执行e.Network在通用OS上添加联网、通信功能远程过程调用文件共享f.Distributed具有联网、通信功能提供远程过程调用提供多处理机的统一调度调度统一的存储管理分布式文件系统第二章第六版2.3Whatarethedifferencesbetweenatrapandaninterrupt?Whatistheuseofeachfunction?答:作业ch2-第二题(第六版答案)Aninterrupt是硬件产生的系统内的流的改变Atrap是软件产生的“中断”。interrupt可以被I/O用来产生完成的信号,从而避免CPU对设备的轮询Atrap可以用来调用OS的例程或者捕获算术错误第七版2.3讨论向操作系统传递参数的三个主要的方法。1.通过寄存器来传递参数2.寄存器传递参数块的首地址3.参数通过程序存放或压进堆栈中,并通过操作系统弹出堆栈。第三章第七版3.1论述短期,中期和长期调度之间的区别.a.短期调度:在内存作业中选择就绪执行的作业,并为他们分配CPU。b.中期调度:作为一种中等程度的调度程序,尤其被用于分时系统,一个交换方案的实施,将部分运行程序移出内存,之后,从中断处继续执行。c.长期调度(作业调度程序):确定哪些作业调入内存以执行.它们主要的不同之处是它们的执行的频率。短期调度必须经常调用一个新进程,由于在系统中,长期调度处理移动的作业时,并不频繁被调用,可能在进程离开系统时才被唤起。第七版3.2问:描述一下内核在两个进程间进行上下文功换的动作.答:总的来说,操作系统必须保存正在运行的进程的状态,恢复进程的状态。保存进程的状态主要包括CPU寄存器的值以及内存分配,上下文切换还必须执行一些确切体系结构的操作,包括刷新数据和指令缓存。(书中答案)进程关联是由进程的PCB来表示的,它包括CPU寄存器的值和内存管理信息等。当发生上下文切换时,内核会将旧进程的关联状态保存在其PCB中,然后装入经调度要执行的新进程的已保存的关联状态。第五章第七版5.4Considerthefollowingsetofprocesses,withthelengthoftheCPU-bursttimegiveninmilliseconds:(考虑下列进程集,进程占用的CPU区间长度以毫秒来计算:)错误!未指定书签。TheprocessesareassumedtohavearrivedintheorderP1,P2,P3,P4,P5,allattime0.(假设在时刻0以进程P1,P2,P3,P4,P5的顺序到达。)a.DrawfourGanttchartsillustratingtheexecutionoftheseprocessesusingFCFS,SJF,anonpreemptivepriority(asmallerprioritynumberimpliesahigherpriority),andRR(quantum=1)scheduling.(画出4个Gantt图分别演示用FCFS、SJF、非抢占优先级(数字小代表优先级高)和RR(时间片=1)算法调度时进程的执行过程。)b.Whatistheturnaroundtimeofeachprocessforeachoftheschedulingalgorithmsinparta?(在a里每个进程在每种调度算法下的周转时间是多少?)c.Whatisthewaitingtimeofeachprocessforeachoftheschedulingalgorithmsinparta?(在a里每个进程在每种调度算法下的等待时间是多少?)d.Whichoftheschedulesinpartaresultsintheminimalaveragewaitingtime(overallprocesses)?(在a里哪一种调度算法的平均等待时间对所有进程而言最小?)答:作业ch6-第三题第六章第六版6.4Supposethatthefollowingprocessesarriveforexecutionatthetimesindicated.Eachprocesswillrunthelistedamountoftime.Inansweringthequestions,usenonpreemptiveschedulingandbasealldecisionsontheinformationyouhaveatthetimethedecisionmustbemade.a.WhatistheaverageturnaroundtimefortheseprocesseswiththeFCFSschedulingalgorithm?b.WhatistheaverageturnaroundtimefortheseprocesseswiththeSJFschedulingalgorithm?c.TheSJFalgorithmissupposedtoimproveperformance,butnoticethatwechosetorunprocessP1attime0becausewedidnotknowthattwoshorterprocesseswouldarrivesoon.ComputewhattheaverageturnaroundtimewillbeiftheCPUisleftidleforthefirst1unitandthenSJFschedulingisused.RememberthatprocessesP1andP2arewaitingduringthisidletime,sotheirwaitingtimemayincrease.Thisalgorithmcouldbeknownasfuture-knowledgescheduling.答:a.((8-0)+(12-0.4)+(13-1.0))/3=10.53;b.((8-0)+(13-0.4)+(9-1.0))/3=9.53;c.((14-0)+(6-0.4)+(2-1.0))/3=6.87;第六版(理发师)第4题:TheSleeping-BarberProblem.Abarbershopconsistsofawaitingroomwithnchairsandthebarberroomcontainingthebarberchair.Iftherearenocustomerstobeserved,thebarbergoestosleep.Ifacustomerentersthebarbershopandallchairsareoccupied,thenthecustomerleavestheshop.Ifthebarberisbusybutchairsareavailable,thenthecustomersitsinoneofthefreechairs.Ifthebarberisasleep,thecustomerwakesupthebarber.Writeaprogramtocoordinatethebarberandthecustomers.答:作业ch7-第四题理发师和顾客同步,理发师必须由顾客唤醒,理发师给一个顾客理发完,要让理发完的顾客退出,让等待顾客进入,顾客互斥的占用n个位置//共享变量semaphoreScuthair,Snumchair;//Scuthair制约理发师,Snumchair制约顾客Scuthair=0;Snumchair=0;barber:do{wait(Scuthair);//检查是否有顾客,无就睡眠给某个顾客理发signal(Snumchair);//让理发完的顾客退出,让等待的一个顾客进入}while(1);Customeri:wait(Snumchair);//申请占用椅子signal(Scuthair);//给理发师发一个信号坐在椅子上等着理发//共享变量semaphoreScuthair,Mutexchair;//Scuthair给理发师,Mutexchair制约顾客对椅子的互斥占领intnumber=0;//顾客的共享变量,记录已经有的顾客数Scuthair=0;Mutexchair=1;Customeri:wait(Mutexchair);//申请对共享变量number的操作(申请占用椅子)if(number==n-1){signal(Mutexchair);exit;}number=number+1;signal(Scuthair);//给理发师发一个信号signal(Mutexchair);等待理发…理发完毕…wait(Mutexchair);//申请对共享变量number的操作number=number-1;signal(Mutexchair);离开理发店barber:do{wait(Scuthair);//检查是否有顾客,无,就睡眠给某个顾客理发}while(1);第七章第七版7.5Inarealcomputersystem,neithertheresourcesavailablenorthedemandsofprocessesforresourcesareconsistentoverlongperiods(months).Resourcesbreakorarereplaced,newprocessescomeandgo,newresourcesareboughtandaddedtothesystem.Ifdeadlockiscontrolledbythebanker’salgorithm,whichofthefollowingchangescanbemadesafely(withoutintroducingthepossibilityofdeadlock),andunderwhatcircumstances?(在一个真实的计算机系统中,无论是可用的资源还是进程命令对资源的要求都会持续很长一段时间(几个月)。资源损坏或被替换,新的进程进入和离开系统,新的资源会被购买和添加到系统中。如果用银行家算法控制死锁,下面哪些变化是安全的(不会导致可能的死锁),并且在什么情况下发生?)a.IncreaseAvailable(newresourcesadded)增加可用资源(新的资源被添加到系统)b.DecreaseAvailable(resourcepermanentlyremovedfromsystem)减少可用资源(资源被从系统中永久性地移出)c.IncreaseMaxforoneprocess(theprocessneedsmoreresourcesthanallowed,itmaywantmore)增加一个进程的Max(进程需要更多的资源,超过所允许给予的资源)d.Decrea