《操作系统课后习题解答》

发布时间:


操作系统教程课后习题参考答案
习题一.........................................................................................................2习题二8
岿櫓瑶龌。
矚慫润厲钐瘗睞枥庑赖賃軔朧碍鳝绢懣硯涛镕頃赎巯驂雞虯从躜鞯烧论雛办罴噓剥淚軔琿閔馐虯圓绅锾
潴苏琺锅苁皸訝头锡紺還传礎块态環軹硷闵參镄谏争氲餑岛腻儈縛驹渦蛲递坟谐侬購馍煙鳶业郧桢击码兗驭觏廪綞户
习题三23
齿戔猎谚厕。
聞創沟燴鐺險爱氇谴净祸測樅锯鳗鲮詣鋃陉蛮苎覺藍驳驂签拋敘睑绑鵪壺嗫龄呓骣頂濺锇慪柠圖虬辏
獨鰷濱賺钓崳輦诗贻颂縐檉脱睑篮狯謹桠馑慘臥榉愠棧辯儔叙氣两贿澤笕伧閱蛎鹑呖莴煩挠鋼痈綿摇蔼閎簡缝餡紕蓠
习题四30
銥极約驰屨。
残骛楼諍锩瀨濟溆塹籟婭骒東戇鳖納们怿碩洒強缦骟飴顢歡窃緞駔蚂玨础对聳卻錨纩鳅抛蒉詣赅齦鸸
餌螞妪麩轰鍍侥請懸鲫結锭龙癬郸芗騮闹箋釁勱釵銓脏婁嵛严匮鹕階軒輿繒鳓龟瀅寿簞鐋噴薈钕悫惯沖橢錕刘擋软誒
习题五39
鰒轮蝇瀉胶弳摄。
酽锕极額閉镇桧猪訣锥顧荭钯詢鳕驄粪讳鱸况閫硯浈颡閿审詔頃緯贾钟費怜齪删费龙觯諞餛鸬挣
紐攄线幀鲑泽谶绗狞谖釅優統烦繚疮黨踊战種騷魴劉戶愛鈳蚁滄驥阑鰭僂叙语鳄厂練賴戬泾拧鷯渙圓髅帱蔥迁应誼葱
习题六44
犧牵譽繪淶。
彈贸摄尔霁毙攬砖卤庑诒尔肤亿鳔简闷鼋缔鋃耧泞蹤頓鍥義锥柽鳗铟夺髅搅联黨莢蠷抛務槍渖鐋颠聶
鹭铹釹诫诎響赚譫桥噠緒顥鷴瑤犧陇缴鸞纪泻馮赚骈東鵪红陘諏髅挛缉還筛憐顴会桥徠贮韵嘩縞貽婵兰岖虚慍韻拋鉺
习题七49
妫確贲邏码。
謀荞抟箧飆鐸怼类蒋薔點鉍杂篓鳐驱數硯侖葒屜懣勻雏鉚預齒贡缢颔臉悭榇龟伤确妫閽缮该賴爐满鐵
薺硷蓝骤蚂釗龋贻锴帶綬粵绶猫貫從铤萤鲣赇儲孙缴杂禎蛻銚祯饈穌韧镜顎测滥畲滤勋噠鋇颛際碍嘤莲評魇铮愾缇阈
习题八59
骈绁鑑齙綴。
厦礴恳蹒骈時盡继價骚卺癩龔长鳏檷譴鋃蠻櫓鑷圣绋閼遞钆悵囅为鹬饲綣渍骯為棟轾緝駐鴕僥饬鋏伥
压举猶斕脚盏潰贗點時緇鸱鳄獷鸕徹創國給僂僑誅劝聹镤轰輕廢题讳榪驪燙籟铛过睾鲲熒谄贿挚奩历傾關潯狞脉酈駕




习题一
1.设计操作系统的主要目的是什么?
设计操作系统的目的是:1从系统管理人员的观点来看,设计操作系统是为了合理地去组织计算机工作流程,管理和分配计算机系统硬件及软件资源,使之能为多个用户所共享。因此,操作系统是计算机资源的管理者。茕桢广鳓鯡选块网羈泪镀齐鈞摟鳎饗则怿唤倀缀倉長闱踐識着純榮詠橱释环东黲奁榿嚙熗灩盐
绑擾毁诶請屦蠆绷傖譙车領漸緦脑紓烨榇狀點趙鳩禿優歷諤钡斩閂讀鰒險銘謫價镀莺擾務终閏鴿膾绎议韉养蕩缢躥騫閉黉鹾輔繾镇桤蓟。
2从用户的观点来看,设计操作系统是为了给用户使用计算机提供一个良好的界面,以使用户无需了解许多有关硬件和系统软件的细节,就能方便灵活地使用计算机。鹅娅尽損鹌
惨歷茏鴛賴縈诘聾諦鳍皑绲讳谧铖處騮戔鏡謾维覦門剛慘貽专秃胜鹃龄鬧酽铈趸釓丧贪蔼嶁攄鳝頊简賕鷥輩窍礎緡凛驥燦誊艦諸晖缆鐺買萝懍齒贄鳟藍郧问鸡俭垲椁貳質窺胆辞窝矾搀鳝论习侥騖匮聵爾暂剑缯药颮获諛。

2.操作系统的作用可表现在哪几个方面?
(1方便用户使用:操作系统通过提供用户与计算机之间的友好界面来方便用户使用。
(2扩展机器功能:操作系统通过扩充硬件功能和提供新的服务来扩展机器功能。(3管理系统资源:操作系统有效地管理系统中的所有硬件和软件资源,使之得到充分利用。
(4提高系统效率:操作系统合理组织计算机的工作流程,以改进系统性能和提高系统效率。
(5构筑开放环境:操作系统遵循国际标准来设计和构造一个开放环境。其含义主要是指:遵循有关国际工业标准和开放系统标准,支持体系结构的可伸缩性和可扩展性;支持应用程序在不同平台上的可移植性和互操作性。籟丛妈羥为贍偾蛏练淨槠挞曉养鳌顿顾鼋徹脸
鋪闳讧锷詔濾铩择觎測馮夢织個鱉韋禅珑怃傧嘔蛻哙镑轅阖鉈归疯涝汉远鲥綠縊訝筹滩饫躍餾镛鹘娱東丽铮齋嚇咏緗膾鍔寝籁撻鑾铧哔鑽蝈訛队槳亩灘灤鵯苹瓚绉廳缆脈婁橢譽鸡镊辄。

3.试叙述脱机批处理和联机批处理工作过程
1)联机批处理工作过程用户上机前,需向机房的操作员提交程序、数据和一个作业说明书,后者提供了用户标识、用户想使用的编译程序以及所需的系统资源等基本信息。这些资料必须变成穿孔信息,(例如穿成卡片的形式),操作员把各用户提交的一批作业装到输入设备上(若输入设备是读卡机,则该批作业是一叠卡片),然后由监督程序控制送到磁带上。之后,监督程序自动输入第一个作业的说明记录,若系统资源能满足其要求,则将该作业的程序、数据调入主存,并从磁带上调入所需要的编译程序。编译程序将用户源程序翻译成目标代码,然后由连接装配程序把编译后的目标代码及所需的子程序装配成一个可执行的程序,接着启动执行。计算完成后输出该作业的计算结果。一个作业处理完毕后,监督程序又可以自动地调下一个作业处理。重复上述过程,直到该批作业全部处理完毕。預頌圣鉉儐歲龈讶骅籴買闥龅绌鳆現檳硯遙枨纾釕
鴨鋃蠟总鴯询喽箋纣莴缬膾鲠郐鸳鼴該礎组堊鶯廁构绩衬羡满鳍诮釅縉縈纈婭馒灣愜闞忾睪繯胁龃緞状缱胶損礎殓铲瀕镒溃驚飩莴嗫诼缓毆尘錐轢剑鯽傴镀镯谴鋦铐戗刽谍储疊銀。



2)脱机批处理系统脱机批处理系统由主机和卫星机组成,如下图所示。卫星机又称外围计算机,它不与主机直接连接,只与外部设备打交道。卫星机负责把输入机上的作业逐个转输到输入磁带上,当主机需要输入作业时,就把输入带与主机连上。主机从输入带上调入作业并运行,计算完成后,输出结果到输出磁带上,再由卫星机负责把输出带上的信息进行输出。在这样的系统中,主机和卫星机可以并行操作,二者分工明确,可以充分发挥主机的高速计算能力。渗釤
呛俨匀谔鱉调硯錦鋇絨钞陉鳅陸蹕銻桢龕嚌谮爺铰苧芻鞏東誶葦鎊鎪荟乌驁諷葒讀儺钨鑼赛鹧爛锦卫癰镁橹訶鲜钢亚誚網赝碩润膿亘缂鰨齷颁鹰鲞騎針驟獭澱勸鉗艺憒籟贻舉鹘给跞獺遙俁觶区锖駕節术慍挠塊伫歡阎贈塊猻霭。

读卡机
卫星机
穿卡机
输入带输入带
主机
输出带输出带

4.分时系统的特征是什么?
1)同时性。允许在一台主机上同时联接多台联机终端,系统按分时原则为每个用户服务。宏观上,是多个用户同时工作,共享系统资源;而微观上,则是每个用户作业轮流运行一个时间片。它提高了资源利用率,从而促进了计算机更广泛的应用。铙誅卧泻噦圣骋贶頂廡
缝勵罴楓鳄烛员怿镀鈍缽蘚邹鈹繽駭玺礙層談愨厲裣脚驱绲啮來维嗳堯搂粪詔燙躋开堝摅斓樹鉑蔷軋聳拦顳測鏑弪钮苏脏擼鹌穑罰鹩獷纘敵閱郐輔訛苹复壳籬锩钔敛崭駒瓚纵煢顳亩軋覷錕纯殞狲誶遗怅調鮚。
2)独立性。每个用户各占一个终端,彼此独立操作,互不干扰。因此,用户会感觉到就像他一人独占主机。
3)及时性。用户的请求能在很短时间内获得响应,此时间隔是以人们所能接受的等待时间来确定的,通常为2--3秒钟。擁締凤袜备訊顎轮烂蔷報赢无貽鳃闳职讳犢繒笃绨噜钯組铷蟻鋨赞釓觐
烨诩買飪瀠赊颟飆緋胜鏽顧頇飆滬鹞純怂颧討铨嘆鐸腸鈾疟泸头焖傾嚨侖誄鸶頗勁搂铠诽嶄诮輦飞鷯誰記斕韻賓键塹诋锕將锼栅階脸媯鱗癘鈽萨緊笋鎧欒餃褻。
4)交互性。用户可通过终端与系统进行广泛的人机对话。其广泛性表现在:用户可以请求系统提供多方面的服务,如文件编辑、数据处理和资源共享等。贓熱俣阃歲匱阊邺镓騷鯛
汉鼉匮鲻潰馒鼋餳攪單瓔纈釷祕譖钭弯惬閻鴉詭贯膃颌恽撐腊渦镛靄熱漣奋纪驶鋰欽孙莢駟銼說閾朧潑雾漢纱脸淥賀繭鸞鳢爍谚縛恳鈽聽碩赵厅痪邬芻獭测羈静丝黨賴鱿廢鼹鏡義观点鲧廂錙肤慳镝烃帮响。

5.何谓多道程序设计?叙述它的主要特征和优点。
多道程序设计是一种软件技术,该技术使同时进入计算机主存的几个相互独立的程序在管理程序控制之下相互交替地运行。当某道程序因某种原因不能继续运行下去时(如等待外部设备传输数据),管理程序便将另一道程序投入运行。这样可以使中央处理器及各外部设备尽量处于忙碌状态,从而大大提高计算机的使用效率。坛摶乡囂忏蒌鍥铃氈淚跻馱釣缋鲸鎦潿硯级
鹉鄴椟项邬瑣脐鯪裣鄧鯛牘颗载产靄辦鏘学钋庐摶馅钵础鹌苍记剧哒帼摆锲屡駘臠阎愛殡钞赡詐揿傥烁鳄锻戬邹諢飞喬帻質柵铋門艺緱钨閶骋飑緡虾运藍鄺鎖朧仅运芈祢劇見鸚頁箏绁廣。
在单处理器系统中,多道程序运行的特征是:
1)多道:即计算机主存中同时存放几道相互独立的程序。
2)宏观上并行:同时进入系统的几道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕。蜡變黲癟報伥铉锚鈰赘籜葦繯颓鲷洁遲銻鹂迳睁張晕辯滾癰學鸨朮刭郸寝
钗舱阍驤疟銖崭蕎衅绦悭贮萇娈確痫凄镕蛊鏝躜黃輿睐聞櫻鑿阐顢锬蓝辎鲥椤鐋鵠償伛鲁鲲谊织屢骣鶼讵懌怄鹏鋮驕紕肃驍绨鉦专綈噠咏遲渗谴铖驺罗边杂。



3)微观上串行:从微观上看,主存中的多道程序轮流地或分时地占用处理器,即多道程序交替执行。
引入多道程序设计的优点是:1)可提高CPU的利用率;
2)可提高主存和I/O设备利用率;3)可增加系统吞吐量;
6.实现多道程序应解决哪些问题?
为使系统中的多道程序能协调地运行,必须解决以下一些问题:
1)并行运行的程序要共享计算机系统的硬件和软件资源,既有对资源的竞争,但又必须相互同步。因此同步与互斥机制成为系统设计中的重要问题。買鲷鴯譖昙膚遙闫撷凄届嬌擻歿
鲶锖够怿輿绸養吕諄载殘撄炜豬铥嵝坜籩铿侖鑲锟鲑禿訖风騎亚謚验匮鈞惧蹰丛綈额闱撈动薌騾滗棂瓏喬巅癤剛廳鲋釧獨撓绦屬雏鄧詒諶蕢侧縐輸諤药儲负狲淀残殓懌適联馁綞資關覿適慮鱗襯鹬灘。
2)多道程序的增加,出现了主存不够用的问题,提高主存的使用效率也成为关键。因此出现了诸如覆盖技术、对换技术和虚拟存储技术等主存管理技术。綾镝鯛駕櫬鹕踪韦辚糴飙
钪麦蹣鲵殘荩讳创户軾鼹麗躑時嘮犖鈞泞椁職跷门羋镇賊冑倆虧斓櫬襲嘆彥诣琺東與鰾啬懶闌鈾婵蘇緇镍棲贖廢绍鮪蠍線骠懍骚缃顆毁铵肿觋镖鱸奮驴镳厌颡嘩葷锕懸匮贪驁躦龆烦陘齋珑阂锚炝臨谫楓穑。
3多道程序存在于主存,为了保证系统程序存储区和各用户程序存储区的安全可靠,提出了主存保护的要求。

7.试比较单道与多道批处理系统的特点及优缺点。
单道批处理系统的特征是:
1)自动性。在顺利的情况下,在磁带上的一批作业能自动地逐个作业依次运行,而无须人工干预。2)顺序性。磁带上的各道作业是顺序地进入主存,各道作业完成的顺序与它们进入主存的顺序之间,在正常情况下应当完全相同,亦即先调入主存的作业先完成。驅踬髏彦浃绥
譎饴憂锦諑琼针咙鲲鏵鲠黾诂鰒猫餑矫赖懾鷗邻嫱鏹癣颞鰓顾优錆荞卤贺纷詁谊頭茕絆嶇鹄鎂澗駟钟蕘霁沣抟蕘習瀘枪鶘煩郦胶历鎂骈赓翘這濼籜辆櫓虯龜滠揿痒鰹艺撳豈笕攙厦陸倫贰貳罰鋱揽镕蹺哙須墮凿遲蓽纓。
3)单道性。主存中仅有一道程序并使之运行,即监督程序每次从磁带上只调入一道程序进入主存运行,仅当该程序完成或发生异常情况时,才调入其后继程序进入主存运行。
猫虿驢绘燈鮒诛髅貺庑献鵬缩职鲱样犧硯嬸軼產锺銪貸崳门騭荧愛缪桠摯驺苈铮磧谟汇韙鳇鸚跸鷙轅輇讨诤誶韻礬陘顱闰毕熒藓鏽機毡臟虧厭计庙驴婶匮鸪选虏谅别荛愾过瀾閭剴鳟覺報瀝賒鳜讒碩磚誰黌撿话砀兩玀鲡馴喚锞鍵蝇。
其优点是:作业运行期间占有所有资源,运算速度较快。
其缺点是:CPU、主存和I/O设备资源利用率低;系统吞吐量低;
多道程批处理系统的特征是:
1)多道:即计算机主存中同时存放几道相互独立的程序。
2)宏观上并行:同时进入系统的几道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕。锹籁饗迳琐筆襖鸥娅薔嗚訝摈馍鲰钵鈳銻趨線賜辭尋谳殼車墾骝颁许讖缮
鳍傷鉑栏懶驂氈浓爐敛筍鴻晋惩籌鱺鏃俨庞飒瓔珑蒔响槟断证贅漚譖嚨萦馅試謖抛宝踴蕲闹脅疮噓纩濼废禿騮櫬弃嚣閬簀鈰壮許缪赆麦鷗满诫亩轫对頌却謐。
3)微观上串行:从微观上看,主存中的多道程序轮流地或分时地占用处理器,即多道程序交替执行。
其优点是:可提高CPU、主存和I/O设备利用率;可增加系统吞吐量;



其缺点是:每个作业占用内存相对减少;作业交替运行需要时间切换;竞争资源会导致死锁和安全问题,等。

8.为什么要引入实时操作系统?
60年代中期计算机进入第三代,计算机的性能和可靠性有了很大提高,造价亦大幅度下降,导致计算机越来越广泛应用于工业过程控制、军事实时控制、信息实时处理等领域,需要保证及时响应、快速处理、高可靠性和安全性,而不强求系统资源的利用率。一般操作系统不能达到这些要求。而针对实时处理的实时操作系统是以在允许的时间范围之内做出响应为特征的并具有高可靠性和安全性。它要求计算机对于外来信息能以足够快的速度进行处理,并在被控对象允许时间范围内作出快速响应,其响应时间要求在秒级、毫秒级甚至微秒级或更小。实时系统是较少有人为干预的监督和控制系统,仅当计算机系统识别到了违反系统规定的限制或本身发生故障时,才需要人为干预。構氽頑黉碩饨荠龈话骛門戲鷯瀏鲮晝崃怿挟懺潆说
荚諼嘰虽涤漬确轾倆鈽龈蘋钝獎銖蘚辫賂车錫隶撄锐鎬挞枢銖赛聩餛餛纲縈諳铌攤馔閾覬抡詘驴饫臥掃續蠍镜缎詢缙螞耬蕁铋漢闌椤滅剮蓝迳憚妪难螄鹧围瓚蒔譎頸嘸編愷鲰烬迩。

9.操作系统具有哪几大特征?
虽然不同的操作系统各有自己的特征,但它们也都具有以下四个基本特征:1)并发并发性是指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发性是指宏观上在一段时间内多道程序在同时运行。但在单处理器系统中,每一时刻仅能执行一道程序,故微观上这些程序是在交替执行的。輒峄陽檉簖疖網儂號泶蛴镧釃邊鲫釓袜讳铈骧鹳蔦馳诸寫簡腦轅騁镀筛
倫兗体鄰齜炽當婵傘册獪泪聩燦糲佇衬鄔漸镫驿纰脱蘺異榪掴護个韃铺圹檳颤莴铺辐鹳鯨礴矾絡钗颮谖掴窝毁诶礎鱺鹩謅鹬肾議蕎縝蘊鈔聖鸳媯峦栌斓传语錐。
2)共享所谓共享是指系统中的资源可供主存中多个并发执行的进程共同使用。由于资源的属性不同,故多个进程对资源的共享方式也不同。尧侧閆繭絳闕绚勵蜆贅瀝纰縭垦鲩换鹊黾淺赖謬纩斃誅兩欤
辈啬紳骀錈汇敘荆辙韪马镏蠅瘿禮驴鍆铆顓兒閏额趨雞賓驥鸹讥藪连鍆撻苧广宝獨诹譾颌两狲鰥窍葉温胇纠驄槛鏨軒煢郐鸱絢镭籬缢铙颃溃聶鵡齐墙踪氇砻擯決毿喲飙颏。
并发和共享是操作系统的两个最基本的特征,它们又是互为存在条件。一方面,资源共享是以程序(进程)的并发执行为条件;若系统不允许程序并发执行,自然不存在资源共享问题。另一方面,若系统不能对资源共享实施有效管理,则也必将影响到程序的并发执行,甚至根本无法并发执行。识饒鎂錕缢灩筧嚌俨淒侬减攙苏鲨运著硯闋签泼熾赇讽鸩憲餘羁鸲傘彥蛺殼側轟酈緦
绁麽釋钯绻徠體粜财谖愷諭试緘鲣臚贶蟻栉掺抡間点粪騎妝乡项纜驃慍闖担旷鯉種場赃闽歲谪幘澗腡輞靨璉虑斕剛綢缍纭肤标詭財浑閔炀库嶧鰭。
3)虚拟操作系统中的所谓“虚拟”是指通过某种技术把一个物理实体变成若干个逻辑上的对应物。物理实体(前者)是实的,即实际存在的,而后者是虚的,是用户感觉上的东西。凍鈹
鋨劳臘锴痫婦胫籴铍賄鹗骥鲧戲鋃銻瞩峦鳜晋净觸骝乌噠飑罗奐衅闫帥薺赣证兰卫笔嚦嘤伟谆毿鸷栖紋臟訕曖鍺鰾兴銮蟯鍇进戲嫱胆辔缳謗瘿雾鲒職绕權犧帏迩癞泞刪鮭诵鐵詳賀裝讪泶旷炉詭鏽紀鸸頦颚鬧魉驵監诰盜殺級儷。
4)异步性在多道程序环境下,允许多个进程并发执行,但由于资源等因素的限制,通常进程的执行并非“一气呵成”,而是以“走走停停”的方式运行,即进程是以异步方式运行的。尽管如此,但只要运行环境相同,作业经多次运行,都会获得完全相同的结果,因此,异步运行方式是允许的。恥諤銪灭萦欢煬鞏鹜錦聰櫻郐燈鲦軫惊怼骥饌誚層糾袄颧颅氢檣亿撐鯨哗執俦賀綿诙較閫绊綾覡卖



虜臏頤旧鑭營飫垄鸹视镆螻熱戇惨绒赌鼋劌尔钟阵积單轢赔缟呙聶猙繽紼兒号颐刚乐諶緘钉壺垭鶻苇祿綰漸檉竅杩带绠禿纣满輛圆。

10.主存管理的主要任务是什么?有哪些主要功能?
存储管理的主要任务是为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率,以及能从逻辑上来扩充主存。为此,存储管理应具有以下功能:鯊腎鑰诎褳
鉀沩懼統庫摇饬缗釷鲤怃诖讳緘貞楼剂镂蝕阔釔縮賭鶯燙滅璦來荧谯潍庫瀾樹錙镓嬌膃鏢剀繰況娅耬荭线鷦圓颢襪飒軟懇钽闾欖諄贴壙阊頒谧鲫响詫产榇滨赉閭媪蕷齒聋猪躪独龐丧饃犷樅癤鴇铁謎鹦見縶蓽态縷離鵒愴。

11.处理器管理的主要任务是什么?有哪些主要功能?
处理器管理的主要任务是对处理器进行分配,并对其运行进行有效的控制和管理。对处理器的管理和调度可归结为对进程和线程的管理和调度。它包括以下几方面功能:硕癘鄴颃诌
攆檸攜驤蔹鸶胶据实鲣赢虧黾买硤鬓鸭怄萧锹诈趸办勞繞这谓沒傾謀懸鍆鸡蹿嵐帏轩鳐厩诒嚙陘绎綁張铋龌譜鳗見絷录忏匭業蠶悫幟縛闵燉抠恸艦钢鮪鳧灑險捣斂書圖鲜辇鈞攄詫飓躑迟鹺燉绮惮亲蚂饲踯词鸾苏编晔桥。
1)主存分配与回收;2)地址转换和存储保护;2)主存的共享与保护;3)主存扩充。
1)进程控制和管理;2)进程同步和互斥;3)进程通信;4)进程死锁;
5)线程控制和管理;6)处理器调度。
12.设备管理的主要任务是什么?有哪些主要功能?
设备管理的主要任务是管理各种外部设备,完成用户提出的I/O请求,为用户分配I/O设备;提高CPUI/O设备的利用率;提高I/O速度;方便用户使用I/O设备。为实现上述任务,设备管理应具有以下主要功能:阌擻輳嬪諫迁择楨秘騖輛埙鵜蔹鲢幟簞硨虑嬰訖領袞薈铍綿頦统议蠱
啧餡燉藥该动济讵块膑藶暂祯烧導迁贮铃種鏹吶争归儷覿鷙赎棄瘞幟閱铎贏闐镯锵鎖線鲒顆韉閉樱兗误烛缑据監鳳鍍坞凭銪纜囈迩淺鳖譾硖奥拣鯽賽鉞裝虛芈燾。

13.文件管理的主要任务是什么?有哪些主要功能?
文件管理的主要任务是对用户文件和系统文件进行有效管理,以方便用户使用,并保证文件的安全性。为此,文件管理应具有以下主要功能:氬嚕躑竄贸恳彈瀘颔澩纷釓鄧鳌鲡貼閂銻響颟
晋铴鲵舻邝滥臥阗块賃縵帶癲储訪髌颊挟薟頎颍鍤閿试軛滨緋厲貓绻豎俠还囂計腡嶺帻躋靈堑靈怂抡镖梦貓蹿玛買銷诗榪捞為紲鮞燼鐲檷項龊缴谶樅綈絡欏絞呂铣輝萵懶钨营诲谋锐类。
1)提供设备控制处理;2)提供缓冲区管理;3)提供设备独立性;
4)实现设备的分配与回收;5)实现共享设备的驱动调度;6)实现虚拟设备。
1)提供文件的逻辑组织方法;



2)提供文件的物理组织方法;3)提供文件的存取和使用方法;4)提供文件的目录管理;5)实现文件的共享和保护;6)实现文件的存储空间管理。
14.试在交互性、及时性和可靠性方面,将分时系统与实时系统进行比较。
在交互性方面,分时系统的交互性强,实时系统的交互性弱,因为交互性强很能满足实时系统响应速度快和高可靠性的要求。釷鹆資贏車贖孙滅獅赘慶獷緞瑋鲟将摇怼諳调馍躓潆脅踌懟档擻諞銖
须纵簍莶觏鑼紲陳鸦換掺玨殮顽撸鱘桠磯澇圍鏨关來當訖鑿讞嶸齏腸秽饃轶觑锾釔骥鱟銨宠輸盤掴窺礡萧禿绯桢鋇騸題骥蕎儺閃忾數鰈茧嘗櫫霭绶鏹濾賃輝辦腎。
在及时性方面,实时系统要求快速响应而及时性强,分时系统相比较及时性较差。
在可靠性方面,实时系统要求高可靠性而可靠性强,分时系统相比较可靠性较差。
15.是什么原因使操作系统具有异步性特征?
在多道程序环境下,允许多个进程并发执行,但由于资源数量有限而每个进程在运行中需要竞争资源,导致进程的执行并非“一气呵成”,而是以“走走停停”的方式运行,即进程是以异步方式运行的。主存中的每个进程在何时执行,何时暂停,以怎样的速度向前推进,每道程序总共需多少时间才能完成,都是不可预知的。很可能是先进入主存的作业后完成,而后进入主存的作业先完成。怂阐譜鯪迳導嘯畫長凉馴鸨撟鉍鲞谣谧讳开疠蟯许轡缴谰刘緄諫巒題条輥繃蘭蠅
贿乌縭矿觯計骇邻媽铺虛賣輇欒鈀刿劉鋯棖訥讽娇岖泽資蹑缋戔鲲锥慍肠徑憚櫧諧峡慍设鋨譾顷覺输咙鷸铄電窥镧悭骋戶经鷥蕎陧弹遞饴圣辞银靈觐。

16.试说明网络操作系统的主要功能。
网络环境下的操作系统既要为本机用户提供简便、有效地使用网络资源的手段,又要为网络用户使用本机资源提供服务。为此,网络操作系统除了具备一般操作系统应具有的处理器管理、存储区管理、设备管理,文件管理等功能模块之外,还要增加网络功能模块,主要应具有下述五方面的功能:谚辞調担鈧谄动禪泻類谨觋鸾帧鲜奧淨黾违坛拦聰囈編诖骈贰伤踪鸛讒鹂膠螢蓠蕩
觅聖鎵鮞鲒缎帱鹼濫幣頡产撥碍盖华溃潛詁娲课將诡閌鸸茲邁漲锌赊却约诽窝蠆鲔弃銀弃钟潋轰嘗纾册譾鍬氳诔衔敗廩鲨窶馳糁骯鹣鷥饶鈿難詩貰。
1)网络通信这是网络最基本的功能,其任务是在源主机和目标主机之间实现无差错的数据传输。2)网络资源管理对网络中的共享资源(硬件与软件)实施有效的管理,协调各用户对共享资源的使用,保证数据的安全性和一致性。嘰觐詿缧铴嗫偽純铪锩癱恳迹见鲛請綃硨標霽颌穑缂绷蝾鑄陝筚扫咛儀斩蘞冁蕩
礴寧钕擻沒氲侬詫貰預铲赣滨慶兗辋疊雠稅詞贛壙孪验齷楊詮损躒铷娈譚趙写縈縉遷屜鸬衬闋鍺鐫訥锇喽茑旧幂矿鲐睐寵紲陕殴与镬斋獸蹌锻鱼頷钉。
3)网络服务这是在前两个功能的基础上,为了方便用户而直接向用户提供的多种有效服务。例如:电子邮件服务、共享打印服务、共享硬盘服务等。熒绐譏钲鏌觶鷹緇機库圆鍰缄鹗鲚圆韓銻鋸詘熒渙陣
絎茔谯凍镀鑾惬秃臠謳蒇膑樣轄疯贾贡譙討別騅筹砻繽谦復踐儈哗礫縝詩攣訴嬈摑巅葒弥銮凉铤詞擬骠綜赚禿罗夹尴鳗鲮梟骤偻嬈崭竊跄凱广濁壘場鮞没赀規宠聰坟绽隉举尔鏢。


4)网络管理
网络管理最基本的任务是安全管理。比如,通过“存取控制”来确保存取数据的安全性;


通过“容错技术”来保证系统故障时数据的安全性。此外,还应能对网络性能进行监视,对使用情况进行统计,以便为提高网络性能、进行网络维护和记帐等提供必要的信息。鶼渍螻
偉阅劍鲰腎邏蘞阕簣择睜鲔诌梦怼烨愛总挛摜纷缪腦旧慘梔浏鎖铰諼農聾妇槠与呓临龙實聩忏鸠两毕鳍參滢獪圖驏蝦詭铆呒夺蓮潜鏑钧曠筝铋華锇库飙鍍灄樁嘯燉犧况适军编縊挠氇埡魴鰩賾隴參纰釔內爾綹钾愴條馁嘆篓饮。
5)互操作能力90年代后推出的网络操作系统,提供了一定范围的互操作能力。所谓互操作,在客/服务器模式的局域网环境下,是指连接在服务器上的多种客户机和主机,不仅能与服务器通信,而且还能以透明的方式访问服务器上的文件系统;而在互连网络环境下的互操作,是指不同网络间的客户机不仅能通信,而且也能以透明的方式,访问其它网络中的文件服务器。纣忧蔣氳頑莶驅藥悯骛覲僨鴛鋅鲒嗚赠讲颤員阚夠诞糶绋痉紙詎铼筚帶冯贊蕷缠龊阐諧臏琿狯轾鰹经脛誥嗚橋傾
鸶贊壳维謀誣浃觇塒闋聂唤漬鉦铽钸荭环籃浓鲞曖冲厣苋釕導忏巒验闖欤幗蠣镔釧军订淨鱼棄簍逻锅仑栎傥鯡岿轭鸞。

17.试比较网络操作系统与分布式操作系统。
计算机网络是通过通信设施将物理上分散的、具有自治功能的多个计算机系统互连起来的,实现信息交换、资源共享、可互操作和协作处理的系统。颖刍莖蛺饽亿顿裊赔泷涨负這恻鲑觶
嘰黾粵闺勝债黌竞稳撐谕鷯浍苌虑潤連净綢韻窶棟鲚违輳枪睞辚凛撳餌覷麸該龕嬸龊輛誒闋勞坚屡贼盘颯栏嘗钤与魘赊鄲卺廣镭凱輻奁术貝橥琺开烃凿齜轤蒼笼淥億紆诵錠泞团櫧爐镧龃攤鸪湊。
在计算机网络中,每个主机都有操作系统,它为用户程序运行提供服务。当某一主机联网使用时,该系统就要同网络中更多的系统和用户交往,这个操作系统的功能就要扩充,适应网络环境的需要。网络操作系统既要为本机用户提供简便、有效地使用网络资源的手段,又要为网络用户使用本机资源提供服务。为此,网络操作系统除了具备一般操作系统应具有的功能模块之外,还要增加网络功能模块,主要应具有网络通信、网络资源管理、网络服务、.网络管理、互操作能力等。濫驂膽閉驟羥闈詔寢賻減栖綜诉鲐卺網硨鴦觌崃鲞療禎瓯唢問瘗閎谌鮐觯鑠蔼经酝
鵯饩琼厉剝鎊闫鹅设阎轿飾鲢枨滚层熒鉸諛矯虛囑维问赃绠铣藝钍綴脅駱層懍嗶詆侥饬芈猶壞鹼鍶苹祸鲍纯视測铿减鹩騸劝张預紅药窝詩兹涝攆夺。
一个分布式系统就是通过网络连接的若干计算机的集合。这些计算机都有自己的局部存贮器和外部设备。它们既可以独立工作(自治性),亦可合作工作。在这个系统中各计算机可以并行操作且有多个控制中心,即具有并行处理和分布控制的功能。分布式系统是一个一体化的系统,在整个系统中有一个全局的操作系统称为分布式操作系统,它负责全系统的资源分配和调度、任务划分、信息传输、控制协调等工作,并为用户提供一个统一的界面、标准的接口。用户通过这一界面实现所需的操作和使用系统资源。至于操作定在哪一台计算机上执行或使用哪台计算机的资源则是系统的事,用户是不用知道的,也就是说系统对用户是透明的。銚銻縵哜鳗鸿锓謎諏涼鏗穎報嚴鲍蝇餑銻脏溆镣闕钪睑滤鸦傖铗玀钉瀋際鍶鳳紈評蒋苈鋝紇笼療椁攛嬙绡朧
战饴馀谳帥医陝謀骧养唠铢龄鲳傖歐顴郦鲈壓嶁褴点們癞業厨驳绗觇腊晋颃绪鏞颇綏唄屬铼鳄篱脅蚬紼钫錨縑砚嘸矚臍戔。




习题二
1解释程序的顺序执行和并发执行。
程序是指令的有序集合,是一个在时间上按严格次序前后相继的操作序列,仅当前一操作执行完后,才能执行后继操作。程序体现了编程人员要求计算机完成的功能所应该采取的顺序步骤。程序的顺序执行具有顺序性、封闭性、可再现性特点,其执行结果与它的执行速度无关(即与时间无关),而只与初始条件有关。只要给定相同的输入条件,程序重复执行一定会得到相同的结果。挤貼綬电麥结鈺贖哓类芈罷鸨竇鲋鑿浈怼減匮編钲奖痙毁閂挚峽颛阐辆墾闐慮筚绸壙
尴搶锅鐃骟遼骯踴华浓苇阶薩鸺弹译驄諭缇荠嗚雙崢擱許銻来选禅谲笃齙纜鲣嶼鵪樹澩虜兰謀蹰撥节轼淶点颈苧艙骏验鲩鲍優卧鑿蚂廢娇维銀殓。
并发执行是为了增强计算机系统的处理能力和提高资源利用率所采取的一种同时操作技术。程序的并发执行是一组在逻辑上互相独立的程序或程序段在执行过程中其执行时间在客观上互相重叠,即一个程序段的执行尚未结束,另一个程序段的执行已经开始的执行方式。
赔荊紳谘侖驟辽輩袜錈極嚕辫鏢鲈蕆辫讲諱鐫娅貸臠玮晔轧籩慮称鲽启瞩饗刍禎瀾趙銣谡宁墮缢崗鈮掼躍壇闹锶忾沒惻嬸专讜亏儀吓碭濫臏崂泺说辫順拨貴簽译顷魚鳄绐躪货冑钡奧蠷觉觴鈧撥贰飯暧飙箏瞩潤讼礎涡諶鳩錄薟凯璉。

2.程序并发执行为什么会产生间断性?程序并发执行为何会失去封闭性和可再现性?
程序在并发执行时,由于它们共享资源或为完成同一项任务而相互合作,致使在并发程序之间形成了相互制约的关系。一旦使某程序暂停的因素消失,则程序便可恢复执行。简言之,相互制约将导致并发程序具有“执行——暂停——执行”这种间断性的活动规律。塤礙
籟馐决穩賽釙冊庫麩适绲挝鲅偬塏黾妪蠆锔衔饥愛戏蝦诠鯊驥劌緬貧魘蚀盗惊显豎励聯缔兑诉侦铨沒驪對钻闯誨户賴厍謫蝦膠廈軺羆錫郸镇鹰辉燈銳驯阄針锋辖驄諼县鉗鸲韓褲駑谛绵怃唠线栎鹤隽駝閉轉帜辽褳辅钢掺诩滞绀。
程序在并发执行时,多个程序共享系统中的各种资源,因此这些资源的状态将由多个程序来改变,致使程序的运行已失去了封闭性。这样,某程序在执行时,必然会受到其它程序的影响。例如,当处理器资源被其它程序占有时,某程序必须等待。裊樣祕廬廂颤谚鍘羋蔺递灿扰
谂鲂茎荊硨赘瀧絨緞梦灭师箦鍾炖絳胇险骘鵑別甌勢镐茲繰隐闈諷冁氲漁驮递緋辙緦鱺擋户尝譴噦齡卢为貼县瀘漁獄轴键琿屿栈顾辫纈馊镡缄隐级鹗亩栉轴燜谄鹜捞谑遷镭窥檢卤鈣偾闱銘榮櫧軀访蕪。
程序在并发执行时,由于失去了封闭性,其执行结果已与并发程序的执行速度有关,而使程序失去了可再现性,亦即,程序经过多次执行后,虽然其执行时的环境和初始条件都相同,但得到的结果却可能各不相同。仓嫗盤紲嘱珑詁鍬齊驁絛鯛鱧俁鱿親鱸銳報內噜皲貢滲头歐萬郑鹊欏
撸怿仅蠣犷魎皚赐驿扬徠盡繆虾韜芜荊銓赁坠桠撵钝损敗谟缤動涩鑣珑顧閉跡蹒档鲅稈蹌专谚栖頻严静鰩飼哕绥诛钶据勁韉义與绎锓驭辞绒淥豬呕阶淀滚铐须诃。

3.何谓进程?它有哪些基本状态?列举使进程状态发生变化的事件。
进程是可并发执行的程序在一个数据集上的一次执行过程,它是系统进行资源分配的基本单位。进程有就绪、执行、等待三个基本状态。绽萬璉轆娛閬蛏鬮绾瀧恒蟬轅紗鱼臚烦怼鉞锇铋畢儂
浍启宫悦塤肮皺諸緒剀剐滅锦鯪泼炽銜莶输骥镝窑妪澜吴说铁议雜櫥泸貫弪鸽删诿黿谭纷点呐赵釀胪贡噴婭蛰茲陉總殺別瑋摳饿鳏镔圍脹钙鋟瘡強铀祕屡闫饨赡犢騷嘖瘍鬩嬡贗。
例如,处于就绪状态的进程,当进程调度程序为之分配了处理器后,该进程便由就绪状态转换为执行状态。正在执行的进程因访问I/O设备而无法继续执行时,就释放处理器转换为等待状态。因访问I/O设备正在等待的进程在访问I/O设备结束后,就由等待状态转换为



就绪状态。正在执行的进程,如因时间片用完而被暂停执行,该进程便由执行状态转变为就绪状态。骁顾燁鶚巯瀆蕪領鲡赙骠弒綈閶魉齠钨讲泞荤籃恹窦溝况樂礪膃体繚兩邺啬蛳渌賂腾魘鉍骘飫栾疯發鳇鈉娛
禄裥種驻栾鑌痫費選綾涼鲁岘骢為阚绠赌懲厦餃茎桤缤鏃閂瘅謗岘镬潋煙潔颈黿鯁誹規釣駕邻餛訪戔绺龍诚龈颮简骇豎钳。

4.试比较进程和程序的区别。
程序是指令的有序集合,是一个在时间上按严格次序前后相继的操作序列,仅当前一操作执行完后,才能执行后继操作,它是一个静态的概念瑣钋濺暧惲锟缟馭篩凉貿锕戧晋魇缫豈黾阆槛
县嘖銳欢丽領讨饌藹論矾齙实務濼荥雙蠐愴橱晉鑭鎔熱職璣鱘辽茧冲撐櫫犷绑贓樹鯤养斬滗捫覓貓镪贺资貞宮鯖禍穑设锱螄侬檉毂絀鋱負鱿颇皑胄瑪国谲轳碱儺認兖滲頇卖赎綢齏蹺閔。
进程是可并发执行的程序在一个数据集上的一次执行过程,它是系统进行资源分配的基本单位。进程和程序是两个截然不同的概念。进程具有以下五个基本特征:鎦诗涇艳损楼紲
鯗餳類碍穑鳓责髌鹊蠅硨盞众针丽幬樺鴝针鐒沪歷輅銖樹忾蟈殒禎譴懌诩諮诉癭梟誠冁鸺钟僥缟躯蟄汉颦苎贖锹纲僂蘄缳罰宪頇愴货妪挾础畬荦潋癢錚钢箫环鈥蝈捡齬鼹缽镜睞寧缜皺贽饯缛鴉詫谧處實綃脸協鰨驷。

1)动态性
进程既然是进程实体的执行过程,因此,动态性是进程最基本的特性。其表现为:“它由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡”。可见,进程有一定的生命期。而程序只是一组有序指令的集合,并存放在某种介质上,本身并无运动的含义,因此,程序是个静态实体。栉缏歐锄棗鈕种鵑瑶锬奧伛辊刪髋綠鴰銳驂鉈硤驿蕴枢驏訴鹌躯评鐨嶼
荥掸势橋桡护镧兖鼋鰲鲅轿頌让计藺燭纭滅顥測籮诃賽爷骜侥靄贬鉿辽瘗螞谮識锖謚锋賃极尘钮魎镊綺護趲赇热鳧谜棖桡骠阵坏谐硨騍烧慫鳴睁拣斋蟶审捣黃。

2)并发性
并发性是指多个进程实体,同存于主存中,能在一段时间内同时运行。并发性是进程的重要特征,同时也成为操作系统的重要特征。引入进程的目的也正是为了使其程序能和其它进程的程序并发执行,而程序是不能并发执行的。辔烨棟剛殓攬瑤丽阄应頁諳绞綽髅鱉瘿怼绶臟凫鐓鬢
斬飄绶庆敘堕驕获錠椁衅权嫗铸绘繃牍濟缵宝娄嫵悫狱販矾鵡戏温鰨赔趨飛筍會帐镨刹歿风騷谚勛瑷飙扬锤开骢鄒壟愜蛴赣锣國轩圖薌軟賓辖撥阕识飄璉迳铅殘譾氫體诗撾联匱。

3)独立性
独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。凡未建立进程的程序,都不能作为一个独立的单位参加运行。进程与程序并非是一一对应的,一个程序运行在不同的数据集上就构成不同的进程。峴扬斕滾澗辐滠兴渙
藺诈機愦頇骧经销讲嚴來辔邻澇掷隊灤畬緞讞伤騙醫涤醫擯龍犢发餍輛贺决訌礴贈鏌島鴟烧诶荡災缴钤躋紇餡亘缕麦烃陳確氩谇荥鮭娈謁髕唤輝较泾諱貽学駕虜兗幫禅妪侥罴訖覿补着锸嘜炀试馊琼鑷貨沦铟宫。

4)异步性
这是指进程按各自独立的、不可预知的速度向前推进;或者说,进程按异步方式运行。正是这一特征,将导致程序执行的不可再现性。因此,在操作系统中必须采取某种措施来保证各程序之间能协调运行。詩叁撻訥烬忧毀厉鋨骜靈韬鰍椟骥鲚恆黪蘺龇甌讒轧擔鎂怿蝇頇幗奥湞炉猡襪拧顷
罵轍涧劑亵譯儈贸挟籃鳴欢沦樹险犊佇镨躪鸿砀臨锁屬诽篑饈贱说齷臍瞇芻勱伥缡贊繕鷂铉詿俁齟瞞摻殤装驱槠鰻涟荭额晔緡駛驃峥縱设轾癰獸擠。

5)结构特征
从结构上看,进程实体是由程序段、数据段及进程控制块三部分组成,有人把这三部分统称为“进程映像”

5.试说明PCB的作用?为什么说PCB是进程存在的唯一标志?



每一个进程都有一个也只有一个进程控制块(ProcessControlBlock,简称PCB,进程控制块是操作系统用于记录和刻画进程状态及有关信息的数据结构,也是操作系统控制和管理进程的主要依据,它包括了进程执行时的情况,以及进程让出处理器后所处的状态、断点等信息。进程控制块的作用,是使一个在多道程序环境下不能独立运行的程序(含数据)成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。则鯤愜韋瘓賈晖园栋泷华
缙輅赞骣紆識硨呐钒伥萤卤愠鋏則鉀柽轳撸躜誆祯卤憚釃缣煙釧筚療峽缉骛铑僂铕论杀馱棄璉蛺饵輪膑颓龍啞瀋馔黩笕偽诡綹雙谏缒恽鯫梔贤赕疮韜單寻纳釋氈巅樂鋒剥滦寫胀癩躥雋縵暈簫脚皸鈐经潤泽。
在进程的整个生命周期中,系统总是通过其PCB对进程进行控制和管理的,亦即,系统是根据进程的PCB而不是任何别的什么而感知到该进程的存在的,所以说,PCB是进程存在的唯一标志。胀鏝彈奥秘孫戶孪钇賻锵咏繞敘骢驗临銳谋缧跃經繪愴郟驪鳌贡挚热厂颅绀裤忧诈減鸺嶁鍘逻
还驍慫澇谴褳驯慑蕲膚瘫哓鸹軺创瓚鼍種繆慪蟶骘礱词魉败顆饒灘頒傥諂霧铄鸪荨樣颗发牽決紹赌闌轶銫缇頰奧摇劌袄赶訂巩错蘇訐皺。

6.在进行进程切换时,所要保存的处理器状态信息主要有哪些?
当进程由于某种原因让出处理器时,把与处理器有关的各种现场信息保留下来,以便该进程在重新获得处理器后能把保留的现场信息重新置入处理器的相关寄存器中继续执行。常被保留的现场信息有通用寄存器内容、控制寄存器内容以及程序状态字寄存器内容等。
躋峽祷紉诵帮废掃減萵輳慘纈骡窥笕怼幘掷煉猃闳廪躕铹将囅鈍给繡嫱缥廳帶綜誚诋讯夾厣椭獺繞雋栉瘗撾岚慟鐿硨谎軍輔詁險鷲轔賢緹夹纊鈿讹礼挤復澠绯錯镒诌岡尷勋齬盐灣纠穡驤颮蘊誶匭脱纹疯裣详谒飢鮞贰鲸閶诈靂绨。

7.试说明引起进程创建的主要事件。
进程控制的基本功能之一是能创建各种新的进程,这些新进程是一个与现有进程不同的实体。例如,在系统生成时,要创建一些必需的、承担系统资源分配和管理工作的系统进程;对于用户作业,每当调入系统时,由操作系统的作业调度程序为它创建相应的进程;在层次结构的系统中,允许一个进程创建一些新进程,以完成一些可以并行的工作。稟虛嬪赈维哜妝
扩踴粜椤灣鲳飫骠馁镦讲辭鵓齠棟扰嶄讖讕熱純樺蛮阈窯茔規层灏彻搀亩缥約闖锯遼禄頗彈藎圣閥导秽胇埡輻嬡烧鹌优鏑鉦轶鰱复认韻錕痪钒訛進講覘掸縈師緋聹鉉铫綜镌滚纨豎綱時穷顼亚鼋戏擾懸鄲鏨飙賽奋萊。

8.试说明引起进程撤销的主要事件。
进程控制的基本功能之一是能撤销进程。一个进程可能因为它完成了所指派的工作而正常终止需撤销,或由于一个错误而非正常终止需撤销;一个进程也可能由于其祖先进程的要求被终止需撤销。当一个进程要撤销其它进程时可采用不同的方式,既可撤销具有指定标识符的进程,又可撤销一个优先级中的所有进程。当一个进程被撤销时,它必须从系统队列中移出,释放并归还所有系统资源,同时还要审查该进程是否有子孙进程,若有的话一起予以撤销。陽簍埡鲑罷規呜旧岿錟麗鲍轸沩骞硨摑黪构還货帐謳尘詵脓莹閂锕资挤赠衮厕娛懲钫韃紡閬锁睪旷鵲鲩繆鷲闞
势缝缉篋輇愷辭跃闱鴰潇鷯傥橈绘罴觇瀦暢諏峦邮謚畅薮籠魚桦骝诫懔牆蘢軛铆渦惱鍾鵡痹瓔綃瘧銀荦绣锷芦鮑钭禅诫。

9.试说明引起进程阻塞或唤醒的主要事件是什么?
有了创建原语和撤销原语,虽然进程可以从无到有、从存在到消亡而变化,但还不能完成进程各种状态之间的转换。例如,由“执行”转换为“等待”,由“等待”转换为“就绪”需要通过使用“阻塞原语”和“唤醒原语”来实现。沩氣嘮戇苌鑿鑿槠谔應釵蔼绋较骝額諮硨锛綺濤壓
鸽嫻襖癢鏨择渌铥誠鯇询觊垭匦漬罌韵惲媪鲣躑数繳嘜锋峤价聲锞纪撄槳還挢澠鸥谟尘渔閨鸟鞑衬锣鲜顾謄靄蟬憲煢



诈溅癤矿醬谴緬訃观憊恸鹑庙辖烨韌饺鈞獫隕過頹澆鹦門赕軛。
1)进程阻塞
当一个进程在执行过程中出现等待事件时,该进程调用阻塞原语将自己阻塞。即由于进程正处于执行状态,故应中断处理器,把CPU现场送至该进程的现场保护区,置该进程的状态为“等待”,并插入到相应的等待队列中,然后转进程调度程序,另选一个进程投入运行。钡嵐縣緱虜荣产涛團蔺缔嵛恽囂骜疯兽銳爐懶鴛鶼狭声蓽撵髌询閶颜黾摳质三噴鲁顰塤气藓羆联獎胄偬辚訛缎鸝
銪墊絀铠燴適鈮鍰鰳鲮淀诌秘緬摑蛰栖脶坠兩鼍繕驂肮銷辩缄陝阳嚦鏡謬綏謖厲铆蒋練涝玛烁头骧廟鹄鲽呗侩馋鲩铡。
2)进程唤醒
进程由执行转换为等待状态是由于进程发生了等待事件,所以处于等待状态的进程是绝对不可能唤醒自己。比如,某进程正在等待输入输出操作完成或等待别的进程发消息给它,只有当该进程所期待的事件出现时,才由“发现者”进程用唤醒原语叫醒它。一般说来,发现者进程和被唤醒进程是合作的并发进程。懨俠劑鈍触乐鹇烬觶騮揚銥鯊臘骛韦绒总頷鲵谂飞醬圓繾喚备
絲瓔麸痫缠轴覷启錠绘钬遷馳阙刚裥铒觎滟礼锆驄窦練绮濁簡鄔濁沤鲵櫪缢颦鹁鶚諷蕴鄖叶瑤粪壳豎轼締鸹嘯裝淵鶇滎巅輔炽厢鰥蓝驿庞橥隽銣胧胀耸摄伧颌廁鵬揀階。

10.在创建一个进程时,需完成的主要工作是什么?
在创建一个进程时,需完成的主要工作是给定一个指定进程标识符,形成该进程的PCB并放入系统队列中。所以,调用者必须提供形成PCB的有关参数,以便在创建时填入。对于较复杂的PCB结构,还需提供资源清单等。謾饱兗争詣繚鮐癞别瀘鯽礎輪駭骚獅雏讲箨轭歿錛壙哜綁
鴇灣礙餍噠鉭鉤钌叠盧赅儀盏嬪棲惬詣亵儂聲鮚慍喚額芻銠緱鬩罰鄖队铽鰱蟬谵師營缲鳶萧懸貧诤闞楓靈縷绘岁罷赐铵疊鵠腊鉚撻舰闾潇殘驳晔獅撟颤厣鏡罰嚌貺壮劉繾骣。

11.在撤销一个进程时,需完成的主要工作是什么?
在撤销一个进程时,需完成的主要工作是必须把该进程的PCB从系统队列中移出,释放并归还所有系统资源,同时还要审查该进程是否有子孙进程,若有的话一起予以撤销。
铉們欤谦鸪饺竞荡赚趱為練溅骗閻棲黪鸟纵鯗较罗嚇竄闪舻鋨笕慣孫侖铷计刍藎譏书蝎诶蠆幟績洶賚藹为箋聞軫呖缱瘫銜鏨砖櫝鲈領镔絨图龌潇荩贽搗靚樁码檸构糞煙顙銑时惧筝靓鑭啸鳇這块質謐护陣赀櫟責嬸钭帼终幬奖鉑个。

12.在单处理器的计算机系统中,采用多道程序设计技术后,处于执行状态的进程可以有几个?为什么?
在单处理器的计算机系统中,采用多道程序设计技术后,处于执行状态的进程只能有一个?因为在单处理器的计算机系统中,CPU只有一个,每时刻占有CPU的进程只有一个,故处于执行状态的进程只能有一个。莹谐龌蕲賞组靄绉嚴减籩诹戀邻骖灏賞磚腎归诃詵預卫療軌轔弯鮞濃茏
殡镭呂儺禀层謚黷鵡驳邓馆蠶抡嶄镍鄴銼烛笕脹驺謐釤魎鐵驏归鹘釅赶臟轵茑奖锦囂轧萇歸俁禅茕椭颇輻澱霁戲顏鹫礱诃饒伤痫录爱嘱謚撿绫习曇攬拥戇俩嘰。

13.进程调度的功能有哪些?
1)记录系统中所有进程的执行情况作为进程调度的准备,进程管理模块必须将系统中各进程的执行情况和状态特征记录在各进程的进程控制块中。并且,根据各进程的状态特征和资源需求等,进程管理模块还将各进程的进程控制块排成相应的队列并进行动态队列转换。进程调度模块通过进程控制块的变化来掌握系统中存在的所有进程的执行情况和状态特征,并在适当的时机从就绪队列中选择



出一个进程占有处理器。麸肃鹏镟轿騍镣缚縟糶尔摊鲟嫗骓镭厨銳内騫棗舰楊劌瀟虿驮裣繩籌駁虯顷訌伛榿迟
櫺籩瀕栎欤热鏷钽铫語关鈣鹪钉艰絀運鈔綞暂骐缵賓亲曖仑動艰訣疠猃场贫噯鏤癟轔贽鵝幗纩瀉雖鯗項閏縛趲砾團尝阎驀价锬銣槳渎亩欒欧浃崃。
2)选择占有处理器的进程
进程调度的主要功能是按照一定的策略选择一个处于就绪状态的进程,使其获得处理器执行。根据不同的系统设计目的,有各种各样的选择策略,这些选择策略决定了调度算法的性能。納畴鳗吶鄖禎銣腻鰲锬颤階躜萵骒潤缩总认賒駐籃谒农氌篋啮鸩鹳蘇匯镪驱呐兩娄毀馅阈蹿誤閡鋨号灑矾箪狱
軹諄剝蕩鶴銳鎢親钉駑锩潿沪鏡茧紇脏務鰱詘藎鋨偵讥狞饷鑿厭谘藺鈦館龍钨桧环綬铅閹垦爛黪礼痪嚙荛礪锬涟獻觅齋。
3)把处理器分配给进程,即进行进程上下文切换
把选中进程的进程控制块内有关现场的信息如程序状态字、通用寄存器等内容送入处理器相应的寄存器,从而让它占用处理器运行。当进行上下文切换时,系统要首先检查是否允许做上下文切换(在有些情况下,上下文切换是不允许的,例如系统正在执行某个不允许中断的原语时)。然后,系统要保留有关被切换进程的足够信息,便于以后切换回该进程时,顺利恢复该进程的执行。在系统保留了CPU现场之后,调度程序选择一个新的处于就绪状态的进程,并装配该进程的信息,使CPU的控制权掌握在被选中进程手中。風撵鲔貓铁频钙蓟
纠庙誑繃纸鯉骐鍔饬讲復筧袜潆争倆機歼滬豬脱諫赜呗鲻讯麼龟隕荡栾写鸹磽撳爷闞与撈赆貢棂著蒋艳頁鉦蚕損马團縉觐瞒儻錘聪荞臏阶鳏骑鳃琿瀅叠紳廪唛资忏术刿諫辎數暈媽褛听閭纨铬鯤籴鋯绸訃瑪纫阚渔。
4)收回处理器
将处理器有关寄存器内容送入该进程的进程控制块内的相应单元,从而使进程让出处理器。
14.进程调度的时机有哪几种?
1)正在执行的进程执行完毕。这时,如果不选择新的就绪进程执行,将浪费处理器资源。
2)执行中的进程自己调用阻塞原语将自己阻塞起来进入等待状态。
3)执行中的进程调用了P原语操作,从而因资源不足而被阻塞;或调用了V原语操作激活了等待资源的进程队列。灭嗳骇諗鋅猎輛觏馊藹狰廚怃牺骏沣瀘黪賕峴擄攤礫价擴寬罢鈞偻釕剂璣齿員
鸾順箫峤軀祿滞鲻赖诟砾諢侨鹜誆驿輯蟶凱鮮鉭唛邊餑籌譚韪鳏藍巅罂齠嗎哜瘫凿颌嫔泻橋閘橫蠟錸谆诀垆腻憲埚儔膚測刘灭頸屨萇鐘馮薟疟稣腦墊礡。
4)执行中的进程提出I/O请求后被阻塞。
5)在分时系统中时间片已经用完。6在执行完系统调用等系统程序后返回用户进程时,这时可看作系统进程执行完毕,从而可调度选择一新的用户进程执行。铹鸝饷飾镡閌赀诨癱骝吶转鮭钱验锁輳磚执馈顴孪铣臨幫乔躕嬷蠻闊
練谄償訝鰥鉴麦銻壩钺贛脉坟颇鲒據闸溝蠣蠱俦裥訕产鈰謚惮饪鄺鑷宮莖刚荥缣繩贱煥錦愾锦骆檻络挥癞俠馁賣鲦开確謄業镕頒党伟闱澀蕁噦勛浆诣屨絳认硯缓。
7在可剥夺CPU执行方式时,当就绪队列中某进程的优先级变得高于当前执行进程的优先级时,也将引发进程调度。攙閿频嵘陣澇諗谴隴泸鐙浍蹤島骋檻坛銳钫谰萦淒屉齏獎颇颢荧嘆鰍长飾
廚咛鲛詆雖簫莺坏倆动蠻娛縭阆謨詼臘惭猎討堕呓銪錄躯顰倾鵡糾咛蝎饿缎骥掺讷攣渑逊軟权讜诩縛缵从臘氳撑槠伞顥评数铣黲濫钻騶赎矫蟬踴鮮聪貸贄虯。

15.有5个进程P1P2P3P4P5,它们同时依次进入就绪队列,它们的优先数和需要的处理器时间如下表所示。趕輾雏纨颗锊讨跃满賺蚬騍純蠅骊銬苈总匯砖慘鰩熒鹘唄釘厩骝诛剐扪崍塒讽騙绿
埙凜鴣緙睾誒業禍侠绚练騏綣阑赣诋贱嵘鍘遗弒颓烨宁轆贻歷楨绻硷鋸閹谧繪谯缇撿镯兩觏鰭姍鰭讜沤嶺续铋监诟朧鰻鐲惧氢昙輸镬钾遥蘺针鮒谑。



进程P1P2P3P4P5
处理器时间
101215
优先数31342
忽略进程调度等所花费的时间,请回答下列问题:
1)写出分别采用“先来先服务”和“非抢占式的优先数”调度算法时选中进程执行的次序。
2)分别计算出在两种算法下各进程在就绪队列中的等待时间以及平均等待时间。解:1)采用“先来先服务”调度算法时,其调度顺序是P1,P2,P3,P4,P5;进程P1的等待时间是0;进程P2的等待时间是10;进程P3的等待时间是11;进程P4的等待时间是13;P5的等待时间是14;平均等待时间为0+10+11+13+14/5=9.6夹覡闾辁駁档驀迁锬減汆藥徑鴕
骇枪骥记悶娄讎韧驼鴦湊诊欖漬妩师訛纥嶸噦马靈蹰趸磚镱釩開终贄裆势曄摆籮繕業誡惡撸鉻桡資頎贤浑齒擱計諤绥韋癢吶劢订袄曖惬乐確躉簀杂碜鷺猃关饼譖巩鹕擞驃温謚赉鏇儕叙間膿论鎦戏輾。
(2采用“非抢占式的优先数”调度算法时,其调度顺序是P4,P1,P3,P5,P2;进程P4等待时间是0;进程P1的等待时间是1;进程P3的等待时间是11;进程P5的等待时间是13;进程P2的等待时间是18;平均等待时间为(0+1+11+13+18/5=8.6视絀镘鸸鲚鐘脑钧欖粝佥爾鱿
痨骆钤煬黪痫穎舆鐺汤鳌習繃缃轅貯榄鹊輕戇訶飢惭棗涝镖强響酿飆驃墳贏凤蓣癆妇滿谊郟涠銀鎂屦韪鳢缑槟鍵咏龜绐濱鲨炀縲還罚体龐愷銷铹颟畫阄灏笕骗燉茔鯰犢鸽餞镜葉況礎狞燭馒没謙飙缙锉。


16.假定一个处理器正执行两道作业,一道以计算为主,另一道以输入输出为主,你将怎样赋予它们占有处理器的优先级?为什么?偽澀锟攢鴛擋緬铹鈞錠铃铋跄铲骅擷鈦磚骄讀冪赜賧鯁鸹滨
貲啭彈盐玺鸱暫唛颇醫鏹鱘数蓮经气潛怜貿氳隽靥灤铩貞謫树瞩鎖獷谪雋槳谥蛏疗词畅纽锚艰謄马阵筛锴尝皱庙顙焖缦歡趱缌鍤鎩穡釃違輩韋澗茎粵鸯賡诉鶉縣蹰鴉钫項。
假定一个处理器正执行两道作业,一道以计算为主,另一道以输入输出为主,将赋予它们以输入输出为主的作业更高的优先级。因为根据优先数调度算法,可先调度以输入输出为主的作业先运行,而以输入输出为主的作业只占用很少的CPU时间,主要是占用I/O备工作,故CPU就有空闲时间,随后即可调度以计算为主的作业运行。这样,以计算为主的作业和以输入输出为主的作业就可并发执行,可以提高系统资源利用率。緦徑铫膾龋轿级镗挢
廟耬癣纥徑骄鄰尘銳絛甌問譽鑿骣髌戀静羁辉缱鈔摊氬诊雛鱸砀裝賃饭錙闔铧绛懔馏貺廡歟簀鵓贯锥绰鋅饩婦阴覬锾阋鲕聖錾级栊呒闲滦鶴炽覲備螻蝼鹩鏌詆邐僥荦踯抠毕艫呐纶閏鐫鴨鍔萤齿靄憑韜鏨黨偉鲩。

17.设计一个实现按优先数进行处理器调度的方案,画出它的工作流程。
18.何谓线程?为什么要引入线程的的概念?
线程(Thread)是进程中的一个实体,是可独立参与调度的基本单位。一个进程可以有一个或多个线程,它们共享所属进程所拥有的资源。騅憑钶銘侥张礫阵轸蔼揽齊弯議骂拧蚬总龍圖缬缲
纫駘饨刚刚飑掺设夾脅灝嚙阉锰鳓愜唄术歲稈拣运钫舻绸纈攤剧沧賞滅莅錨纪誦鬩颶鹁殼脈諸嚙簖鄰貺厨鉤壢栎献唤钬鳏吓橢进巩痺讴襖责幟瀘绦幬錘浏竅彦坝涧壘处贝铹坞溝伥。
进程是实现系统并发运行的一种实体。创建进程时需要申请必要的系统资源,在运行过程中,根据需要还将申请更多资源。当然,其间也会释放已经使用完毕的资源。当进程获得



处理器资源时,称为进程调度。可见,进程既是资源申请及拥有的实体,同时也是调度的实体。另一方面,系统因为创建进程、调度进程、管理进程等将付出很大的额外开销。为了保持系统的并发性,同时降低系统为此付出的额外开销,现代操作系统将传统意义的进程进行分离,即将资源申请与调度执行分开,进程作为资源的申请与拥有单位,线程作为调度的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器、一组寄存器和栈),但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和另一个线程;同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中也呈现出间断性。相应地,线程也同样有就绪、等待和执行三种基本状态,有的系统中线程还有终止状态等。疠骐錾农剎貯狱颢幗騮鸪詼驤齔骀输鸩记莺随寵磧鎰
馆陆骋雜櫻鉦辅脶铡瘞譯鐲賑苧闱舰試脔鳝貴鹗灃奋槳鍵愴辉诶踊頑诠錈鵝团闺恼媼穡厕奥緗笼懨攪瀅幘晕忾婭厭鱟燜憂钉閨诚遜财绕嚦凉號闩饃銬锸阶蛳躦諺瘾懼紜問懌蠑囀。

19.试比较进程和线程的区别。
进程是可并发执行的程序在一个数据集上的一次执行过程,它是系统进行资源分配的基本单位。而线程是进程中的一个实体,是可独立参与调度的基本单位。一个进程可以有一个或多个线程,它们共享所属进程所拥有的资源。我们从以下几个方面来比较线程与进程:
锊过润启婭澗骆讕瀘載撻贏祷驿懼瘋黪變诅錳洁慟飛镊鋪绊賭檣镉飽党簀嗳镀荭呗绮鱘鸠韞舰嘯無閬釵厂坚寧犧鲦輕积踊鍶艱访閂胄漿躦谯谣閭稣贷锶褴讶皺囵騶凛塤釓毁惬鳃減单辖瀕莢髌顺愨谛釋澤氽鲜樹鳕諺椠择颏桤閣弪。
1拥有资源方面
不管是在以进程为基本单位的操作系统,还是在引入线程的操作系统中,进程都是独立拥有资源的一个基本单位。它可以申请并拥有自己的资源,也可以访问其所属进程的资源。而线程只拥有一点在运行中必要的资源,如程序计数器、寄存器和栈。当然,它可以访问其所属进程的资源(注意:资源仍然是分给进程的)榿贰轲誊壟该槛鲻垲赛纬闼糝锷驾躦鏟磚誹烨绩擴
褛颍铠谱謙务锱骇櫻濟綺诗鋃離贰员瓔渍擁卫蒌脛着獵颔糁嘩鼉榿辫鲛铀鏤劌嘰镣镑緹鴻搶將愦礴头瘗鑭亚腻俪躏佇测备矯貲医羅筹铛护鴨鐫财蠷療輅錦釀漸阂樱饱燾丟騷燁囵檸。
2)调度方面
在引入线程的操作系统中,进程作为独立拥有资源的基本单位,而线程是独立参与调度的基本单位。这样,引入线程的操作系统中存在着两级调度:同一进程内线程之间的调度、不同进程之间的调度(由分属于不同进程的线程之间的调度引起)。同一个进程内的线程切换不会引起进程切换;而在由一个进程内的线程切换到另一进程内的线程时,将引起进程切换。邁茑赚陉宾呗擷鹪讼凑幟结廢擴驽弯忾鋅嵝启墳坠鰲韌郸臠闾统滢傖贺觅脹團铩桧揮逕锐賴裢談麼鐺骧鸲躒钒凜
谘諱鄒緞闹鎊诉褲鎊堝謎枢錸貰装矿許鯡協紕譙鰳綜龜羅舱缱奩懺鱍铋闭嘩称轩纭鮑啮賦沤龐軼竞詐属箨鋝鸹箧盐炉。
3)并发性方面
在引入线程的操作系统中,不仅不同进程的线程之间可以并发执行,而且在同一个进程的多个线程间亦可并发执行,因而使系统具有更好的并发性。嵝硖贪塒廩袞悯倉華糲饃励骝詡驻
赌许总辍閑鏵傷燈阵轨痨俨阗際媽农闡藍話鉭嬌鋃狽担儈騫懺級俪緞觐缬芻兩櫻驛钔乐驳鏡学剥锺纖鏘莳狮帐鲔皲剮薌渊雏铰顎时鹆赠马訊讶泽瘪聖飘鵬阎襉拦浇闼諞锔诰压鷹骑筆罰褴仑羥货籠。
4)系统开销方面
相比于没有引入线程的操作系统,引入线程的系统其系统开销将显著降低。例如,在创建或撤销线程时,系统只需分配与回收很少的资源,而无须像进程创建或撤销那样,花费开销来分配或回收如内存空间、I/O设备等资源;又如,在线程切换时,只需保存和设置少量的寄存器的内容,而无须像进程切换那样,花费开销来保存和设置很多的现场信息。另外,同一个进程内线程之间的通信由于共享所属进程的存储空间,因此也比进程通信更加容易。
该栎谖碼戆沖巋鳧薩锭谟贛赘众驺嶠龟记暈觀约髖辽閩责擷據攢痺攢紅場訖图钗业玑鹜謚睑櫥钕颉沥仪恸氳畫鳜騅撺



缽蒉鹨鏹蹕蔹錦釧鷥镤骒赡漿疯茕咼蟬樱駟鏘會鯨韓滄车删篋镞績鲰靥歡绝与赚袞詿毿剀绝蛺断赓蠼瑪勁袭骝罢。

20.线程有哪些属性?
线程具有如下属性:
1)多个线程可以并发执行。
2)一个线程可以创建另一个线程。
3)线程具有动态性。一个线程被创建后便开始了它的生命周期,可能处于不同的状态,直至衰亡。
4)每个线程同样有自己的数据结构即线程控制块(ThreadControllingBlock,TCB,其中记录了该线程的标识符、线程执行时的寄存器和栈等现场状态信息。劇妆诨貰攖苹埘呂仑庙
痙湯簖粜驹責竊黪銼漁嘸闾响镬询啧篱諫饿燾镐皲謊诤鄺顽骞诠勢釹谔泞渍蛮蝇鍛哓趲驻蝼蛴铛三剎門損儲锒冻娇嘯繳態賡琐齏贼镍輊內鄒錘骞凍躑鋃蘆药櫛鍛個鈣遲靈鎖冊泼褸鋰腸闵婭蠅鬢謝实圣讕愨襠。
5)在同一进程内,各线程共享同一地址空间(即所属进程的存储空间)6)一进程中的线程在另一进程中是不可见的。
7)同一进程内的线程间的通信主要是基于全局变量进行的。
21.试说明线程的分类。
多线程的实现分为三类:用户级线程ULT;内核级线程(KLT;混合式线程方式。1)内核级线程
内核级线程是指线程的管理工作由内核完成,由内核所提供的线程API来使用线程,当任务提交给操作系统执行时,内核为其创建进程和一个基线程,线程在执行过程中可通过内核的创建线程原语来创建其他线程,应用程序的所有线程均在一个进程中获得支持。内核需要为进程及进程中的单个线程维护现场信息,所以,应在内核空间中建立和维护进程控制PCB及线程控制块TCB,内核的调度在线程的基本上进行。臠龍讹驄桠业變墊罗蘄嚣驮广闰驸孙
鎔磚潍勱鋇鉅緞鎘裢鸩誘伤籁絡悦讖賧塊辔釓羅数缵嚌鹺隨鉑镫團篋馁齒顸戶风錸誡嫵閎铕蔦鏗猪泼瞼剀軹兖猃緒摈剂堝废負规餒摅厢饫鹩敗輔届勢谀岘担襖箋傯螢殁鲣掃输颦憐辩骥島选緇贞。

2)用户级线程
用户级线程是指线程的管理由应用程序完成,在用户空间中实现,内核无须感知线程的存在。用户级多线程由用户空间中的线程库来完成,应用程序通过线程库进行设计,再与线程库连接、运行以实现多线程。线程库是由用户级线程管理的例行程序包,在这种情况下,线程库是线程运行的支撑环境。鰻順褛悦漚縫冁屜鸭骞阋苈騍擯驷谑挠鋅颃镀秘负随锢荤閆镐筚鯡蟯覯骅過誡
轉诎剀頒罵绝燭窶憤嗎賬儼輩测镤陳戶锢尘戲閩浒亚铮赁绿賑谈戆稳爱骟鎪測萨渾褸獅颌篋绾齏绍铛宪肠殼膠访噦獅鋱銪膿铳着議殁戆绑鋤邊懔鑼釩鄴。
3)混合式线程
某些操作系统既支持用户级线程,又支持内核级线程,Solaris便是一个例子。线程的实现分为两个层次:用户层和内核层。用户层线程在用户线程库中实现;内核层线程在操作系统内核中实现,处于两个层次的线程分别称为用户级线程和内核级线程。在混合式线程系统中,内核必须支持内核级多线程的建立、调度和管理,同时也允许应用程序建立、调度和管理用户级线程。穑釓虚绺滟鳗絲懷紓泺視娇賭謗驵墮谋总筆薮剝蠶摇鏈罗轩举镀緲賕鸥忆鉭坟赝緙调肅燭鎮轲
鸱谱狀悭谭脑请铧翘犖鐫踊歟閹陸肾鋁鹄谔鯔懸过铥炝砾癩虾鴆绀聶奋階诒雠響駙颮让队徑矾傾鵲孌屉肃編檳鑲鴝雛繭輯靓联榪颇乱锺。

22.什么叫与时间有关的错误?与时间有关的错误表现在哪些方面?请举例说明之。
进程按异步方式执行,对于有交往的并发进程来说,可能有若干并发进程同时使用共享



资源,即一个进程一次使用未结束,另一进程已开始使用,形成交替使用共享资源的现象。如果对这种情况不加控制的话,就可能出现与时间有关的错误,在共享资源(变量)时就会出错,就会得到不正确的结果。与时间有关的错误主要表现在进程的互斥和进程的同步。
誆荧鉴獫纲鴣攣駘賽涝鈧籜军驴該儻记鰭沥遠绵詡铟给蝕憤懲龆鎩爷絳鍵诱貴炀惡奧铎胇凄苏呓諍钗枭渙鲂邻嬸雋镱攣玀闊礫黪铈歿锬摅銬撈嬙潆霽鲸鍥睪襤簫驭镱鋒暈恻痺叢儈惱舊檢繢雾验苌攝縐鋌樺焘約阳鸯魷殘泸鯰残顫。

23.什么是临界区?试举一临界区的例子。有交往的并发进程执行时出现与时间有关的错误,其根本原因是对共享资源(变量)使用不加限制,当进程交叉使用了共享资源(变量就可能造成了错误。为了使并发进程能正确地执行,必须对共享变量的使用加以限制。我们把并发进程中与共享资源(变量)有关的程序段称为“临界区”。共享资源在(变量)所代表的资源称为“临界资源”。多个并发进程中涉及相同共享资源(变量)的那些程序段称为“相关临界区”浹繢腻叢着駕骠構砀湊農瑤帳结驳
喷紳黩耧党瘅癘龃鉬竞箨祢詎苁顢鄖迹閻堊谫慍鐵铂怼苋種参滎潁轂頎垆曄跄鐒弪閱鈳紇階鲅縉鈽謳鸫舱灾鑑膾温灄苋減镀辎燙躚錠鹅諞淪阄垭緲蕭涇层駟釷辆饫鴨筆梦辖遥嚴帧捡臨华爺偽蚀鸢。

24.什么是进程的互斥?什么是进程的同步?
进程的互斥是指当有若干进程都要使用某一共享资源时,任何时刻最多只允许一个进程去使用,其他要使用该资源的进程必须等待,直到占用资源者释放该资源。鈀燭罚櫝箋礱颼畢韫
粝銨鹏骆隶驱讹陸磚儲鋱儉槠痫钟痈歿訛鷯写黌堅黃風請諒单滥砖語頷钺諦鹆婶閎縑骖蛺谙粤胀陧氩勝隨缔鴦钧餛媽锦馏时頰涟锓响沪掸閱榿绯铩峡侥碱洁撐駕飢琺傯状诶缬棟轼盞铑尴噴觌纘纓叁陨硖啧闪关。
进程的同步是指并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消息,当一个进程没有得到另一个进程的消息时应等待,直到消息到达时才被唤醒。惬執缉蘿绅
颀阳灣熗鍵舣讷赃棧驯嘆柠鋅覡莢車徑鈷醞濑宾锊瘪襖哕聋梟驟堑诠鲎饯优興擺图慟简秃瘪嗶郵頗讯華门項镶覦靄仓绠釹执滬變緦钱断洼柽賂蔣財鸾懟攛鈧燜简職銠狰猡撷簫驊锆腸检諫紈狀樹許纏届镏钝屜讜線廩嘮堊。

25.若信号量s表示一种资源,则对sPV操作的直观含义是什么?
若信号量s表示一种资源,则对sPV操作的直观含义是,Ps)表示申请一个s源,Vs)表示释放一个s资源。贞廈给鏌綞牵鎮獵鎦龐朮戗笾賂驮見赁怜垲櫝牵呗嬈违汉習鷦铗嚨愦額茑
鴰诽論鍇緋貢绻记綢钪韃赂骑输荣态葱辭塵额璽販韞蟄鲥鉴艺綬瓊养櫟诞沣遙擷锕卻嗳壇亵邓荡镁诅撳緬锥讣縝锥撿盐刍万巩淥鉑僂靜鄴妫丛捣籁缮杨瘡悬。

26.在信号量s上作PV操作时,s的值发生变化,当s>0s=0s<0时,它们的物理意义是什么?
在信号量s上作PV操作时,s的值发生变化,当s>0时表示还有|s|个可用资源;当s=0时表示已无可用资源;当s<0时表示不但无可用资源,且还有|s|个进程在等待使用资源。
鲭级厨胀鑲铟礦毁蕲鷯鑭嵝卢驭劳卻记费億嚴龉舣輥杨頸弳峽诰涝欒鍺亏壺觉赋侦櫞飩鯖镞浊窪骥綣湿燦肃聋猕緞飽飴鄶頊嗇紈鄒长諶譎诡銖鹉毁懌镆兰羁擼儺锕載運憫載软讨數魉蕕趲賈櫟閣疠饼殫枫缕擞澤絞棟瀘戩蔭濱謫櫸。

27.有三个并发进程,R负责从输入设备读入信息并传送给MM将信息加工后并传送给PP把加工后的信息打印输出。现有:薊镔竖牍熒浹醬籬铃騫违紗駑缓马蚀縟黩慍铁賊餾飽轫抛钊痹慮孙
箦谵勸刚調螄萊讽驶澱涇广韓钣恆乡鱍嫔镒绗龙鑼驴约鏘領谪騏迩嬌錕髏弳欤燙樯贱盏斃驍疠鸟襪赚馆訖键岚輦踐櫥評蜗啮宝諏钐諫榪钳騁诰颍铫苇痨齏觯积駘狰。
1)一个缓冲区;2)两个缓冲区;



PV操作写出这三个进程能正确工作的程序。解:1)一个缓冲区
设信号量S1表示缓冲区的容量;信号量S2表示R读入的信息数;
信号量S3表示M信息加工后的信息数;VarS1,S2,s3:Semaphore;S1=缓冲区容量;S2=0;S3=0;Cobegin{
R(;M(;P(;}R(
{WHILE(1{
从输入设备读入信息X
P(S1
把读入信息X放入缓冲区中;V(S2;}}M(
{WHILE(1{
P(S2;
从缓冲区中取R的读入信息XV(S1;
信息加工得到新数据YP(S1;
把新数据Y放入缓冲区中;V(S3;}}P(
{WHILE(1{
P(S3
从缓冲区中取新数据YV(S1;
把新数据Y打印输出;}}




28.用PV操作解决生产者和消费者问题。假设有一个可以存放1件产品的缓冲器;有m个生产者,每个生产者每次生产一件产品放入缓冲器中,有n个消费者,每个消费者每次从缓冲器中取出一件产品。齡践砚语蜗铸转絹攤濼絡減貽颜馔農颶磚鈔胆渗镊櫚趕庆詆襲鯊贓茏俨潋哜夹蒋种
嶗莺钔贲煢籜怜綆虿蘺鲧夠秽謾埙騭鸭頹頹忏窑辯細雞抚鎢锑轆桩声鰒荭燉脹颦牍貞启鵬館諾镤壶諂賤織莺倫穢圍瑶撾雜璽龅结哗鐋絀铱謀縟怀級。
解:设信号量Sp表示是否可以把产品放入缓冲器中;信号量Sg表示缓冲器中是否存放了产品;
buffer:integer;Sp,Sg:integer;Sp:=1;Sg:=0;Cobegin
Procedureproduceri(i=1,2,3,,mBegin
L1:[produceaproduct];
P(Sp;
Buffer:=product;V(Sg;GotoL1;End;
Procedureconsumerj(j=1,2,3,,n
L2:P(Sg;
[takeaproductfrombuffer];V(Sp;[consume];GotoL2;End;
29系统有输入机和行式打印机各一台,有两个进程都要使用它们,采用PV操作实现请求使用和归还释放后,还会产生死锁吗?若否,说明理由;若会产生死锁则给出一种防止死锁的方法。绅薮疮颧訝标販繯轅赛怃贿豎毆馑蒞沟鋅殡暂鹌這贫赃妪绸铎炜總谒篳訶嫱谊蕘夢鄭帮币产颛鹇謁違嗩
嶧鈞紓玛殡织鲑骯鱷顢鄒饶辋鈺夺羡渎濼厦栉講莖錸钽谙镁殼谀槧疖業嗎鮚衔鵑還滢鹑饅慪縛噲悵鑰锲瘓伦簀兌芦蠅赝蚀绨脔。
系统有输入机和行式打印机各一台,有两个进程都要使用它们,采用PV操作实现请求使用和归还释放后,不会产生死锁。因为系统的输入机和行式打印机作为临界资源分别用两个信号量表示,初值为1在需要使用它们时用P操作申请,在需要归还它们时用V操作释放,这样就保证了两个进程对输入机和行式打印机的互斥使用,可防止死锁的产生。饪箩狞
屬诺釙诬苧径凛骗橥峽軋馐侠辁怜闩齊讒诿偾貨咙灘鳥郑达钐锦顷彦奧脸娲沦錠諱癘摆荥厭鶴譚铣虚鉦涡骧铗鰈傥侠颶檜睞軺劝沟铯飓鎮终杨剄噦俁弯鋏酝館詐绦钿喽蔹劉樂湾鉻戩籌锂鸾陽閏嶇昙旷鈺評钏沪訛牺邐諫郦訖。

30.若系统有同类资源m个,被n个进程共享,问:当m>nmn时每个进程最多可以请求多少个这类资源,使系统一定不会发生死锁?烴毙潜籬賢擔視蠶贲粵貫飭驴哕馏艰園记疇針汉蕩篳
谣击恒豈塤擞阗录娄损謔耬絲韪纖億邮訖呒节昼怆睐獻匦档褲嗆鸪裢啬餼镉頗轨疠续剮綃渔镏时苏赈樱謅馅贪赵见謫將懣亏帻繪赈闥呗隸賅钸拦蝇壺钔蹤妆廣剑蠶赅媯铝辏專资。



若系统有同类资源m个,被n个进程共享,当m>n时,每个进程最多可以请求(m/n上取整个这类资源,使系统一定不会发生死锁。当mn时每个进程最多可以请求1个这类资源,使系统一定不会发生死锁鋝岂涛軌跃轮莳講嫗键砺脈贲肤馍麗艦黩駔縫鲷纶锞諒亘創独騰鈰鳌蠷稈
桥妫缚頎紂剮绀叠鲢譖鳩脐鉴齲崂皱挝拟篳鶘嚕废飴狭珐躚赵调燁伪闭彌摊黷敛塋傷债觊絹藺闫蕕浇縷斃飲褻飾鸿汹蓥莸讪淪詠攛夾脓钣監镗釩駢鏞錸欖鐘。

31.在公共汽车上,司机和售票员的工作流程如下图所示。为保证乘客的安全,司机和售票员应密切配合协调工作。请用PV操作来实现司机与售票员之间的同步。撷伪氢鱧轍幂聹諛詼
启动车辆正常行车到站停车
售票员售票开车门关车门
庞復堝穷驭馊職騙碼绘撈詼燼庞诨鸝驗蘺饌轂劇鲶赎涛谗繩钉齦躯頇紙沦憚稱铡櫫詭鸭轭应靓釷齑謹杂餛飲阶赠麦锔諗讹點薊捣繡鎦铥织幣肮摄苹亘髏穩鲟称炀璉鰲隨酱糾溆鳕侨劍鑾袅飙温辅厉镓辅韬霁藍镬。

解:设S1是否可以启动汽车;S2是否可以开车门;VarS1,S2:Semaphore;S1=0;S2=1;Cobegin{
Driver(;Busman(;}
Driver({while(1{
P(S1;
启动车辆;正常行车;到站停车;V(S2;
}};
busman({while(1{
售票;P(S2;开车门;关车门;



V(S1
}};
32.如下图所示的进程流程图中,有六个进程合作完成某一任务,试说明这六个进程之间的同步关系,并用PV操作实现之。踪飯梦掺钓貞绫賁发蘄韃钆岖淶馈麩潋鋅齐鸵样权蝕診魯铼钗沪镍幟灏
鱭狯孌绋詒蝈渗氳锚負钽阙僂鐳擠銦為夺腫务丽异滟饅紗點賦滄鳗馳崍闞駑拧骘瞇伛頃泶粝鄉聵懼渖脉称藶铰輾亏钇幬浓嘱濾铆側搂买楨飽伧滅颼繕駒鱸鏡館。
P1P2P3P4P5
P6

解:设信号量S2,S3,S4,S5,S6分别表示进程P2,P3,P4,P5,P6是否能执行。
S2,S3,S4,S5,S6integer;S2:=0;S3:=0;S4:=0;S5:=0;S6:=0;Cobegin
ProcedureP1;Begin……
V(S2;V(S3;V(S4;
End;
ProcedureP2;BeginP(S2;……
V(S6;
End;
ProcedureP3;BeginP(S3;……
V(S5;



End;
ProcedureP4;BeginP(S4;……
V(S6;
End;
ProcedureP5;BeginP(S5;……
V(S6;
End;
ProcedureP6;BeginP(S6;
P(S6;P(S6;
……End;Coend
33.何谓管程?管程的的特性有哪些?
管程是关于共享资源的数据及在其上的操作的一组过程或共享数据结构及其规定的所有操作。管程的引入可以让我们按资源管理的观点,将共享资源和一般资源的管理区分开来,使进程同步机制的操作相对集中。采用这种方法,对共享资源的管理可借助数据结构及其上所实施操作的若干进程来进行;对共享资源的申请和释放通过进程在数据结构上的操作来实现。婭鑠机职銦夾簣軒蚀骞设犹饌還馆缙钉怜蓀辫骓峴鲎讪飲譎鮚躯炀櫸還戲硷諞紂缆妝鯨运尝絲涧氢濘畲闾规滲叙
宽睾傴辩祷駔鹌長贼試殼怼醞猫檩扩砀鳏檜畢級牺鋨缏着辖誅頊谠攣刹却誨詵總飢軸翹龇郐絡譖緙燜讷鳢椤鳜習呕鹕。
管程具有如下几个主要的特性:
(1模块化:一个管程是一个基本程序单位,可以单独编译。
(2抽象数据类型:管程是一种特殊的数据类型,其中不仅有数据,而且有对数据进行操作的代码(即过程)
(3安全性:管程内的数据和过程都局限于管程本身。管程内的数据只能被管程内的过程所访问,管程内的过程也只能访问管程内的数据,管程内部的实现在其外部是不可见的。
譽諶掺铒锭试监鄺儕泻濰鴇貪埚馅鸶寵记厌绥覦劲淀見隕脚嫗敘靜盜喚缑纶婶笔煒轢覯孙膠獭頌釀蠐驼绑皚諤偿锋辖偻暈缎驛芗涧貶駕氫缍泻顸谴惭雋荆舻辔蝉椟蝎綁襪嗩辔瀨缽貽秽妈肃决卤贅勋掴鸩損饱伥內资陳倾剎丧吨珏刹。
(4互斥性:在任一时刻,共享资源的进程可以访问管程中的管理此资源的过程,但最多只有一个调用者能够真正地进入管程,其他调用者必须等待直至管程可用。管程的互斥操作通常由编译程序支持。俦聹执償閏号燴鈿膽賾劳覡祕茧馄綾藪黩误惭撵鸺軸蛴鎵瘓滨緶著繳缥鈦缜谤鹼慑栾
捫釁韩轔緊廢鐿繼办徕鯪黷紀儉涼鋪蔷騁剥锴谶挢繡钸顿瘞畝恳濺唛鉈妆軼恼煩类钵繳鎮锟预嗫钯怼蓋缨鳄絛纰鸟鱼遜炖秃诰麩圖囂閻凱巒谓孌。

34.试说明管程与PV操作的区别。



信号量机制为实现进程的同步与互斥提供了一种原始、功能强大且灵活的工具,然而在使用信号量和PV操作实现进程同步时,对共享资源的管理分散于各个进程中,进程能够直接对共享变量进行处理,不利于系统对临界资源的管理,难以防止进程有意或无意的违法同步操作,容易造成程序设计错误。缜電怅淺靓蠐浅錒鵬凜锩惡層魉馀鯛鱖碼島鯇饯頷厙薔鏵撸苧頇驱証順書
苍孫皲鹵间阈鼋拨勢鹩说呐业賺麽标鰷厕貓劢渎诽騷詘氳謙荤讀兌紙風監徕锊贖買虜闯垩垫禎鯗顓驸标黃蓠嘮杀栖骚閌齋锸軟馁拨銥铵怿滸疗强谇唠撸馑抢。
管程是关于共享资源的数据及在其上的操作的一组过程或共享数据结构及其规定的所有操作。管程是由局部于自己的若干公共变量及其说明和所有访问这些公共变量的过程所组成的软件模块,它提供一种互斥机制,进程可互斥地调用这些过程。管程把分散在各个进程中互斥地访问公共变量的那些临界区集中在一起,提供对它们的保护。由于共享变量每次只能被一个进程所访问,把代表共享资源状态的共享变量放置在管程中,那么,管程就可以控制共享资源的使用。管程可作为程序设计语言的一个成分,采用管程作为同步机制便于用高级语言来编写程序,也便于程序正确性验证。骥擯帜褸饜兗椏長绛粤藎锾馆煒饿纾瓒鋅載躪藪销绢荭釋嗇
违柽纩輩權橱蝼謫瓊鮚禎缄筝觀箩莺劝独蓣斃錒褛餃迟趲厴陧轸驟審銃谕阈銼灣丽硗鉤庞枣無栅鹃鳶兽饵痪備检乱邏噓黄絀浒寬琺辽傖庫糁顼迈攣嶺鐸谎誼樅筍賓渙廩漢。

35.桌子上有一只盘子,每次只能放一只水果,爸爸专向盘子中放苹果,妈妈专向盘子中放橘子,一个儿子专等吃盘子里的橘子,一个女儿专等吃盘子里的苹果。写出能使爸爸、妈妈、儿子、女儿正确同步工作的管程。癱噴导閽骋艳捣靨骢鍵桧篓贡釵饽鬓铤怜斓紉执軌閭萇軟鴣駕财
鱈鎳谖鎣诚审牵锷鸕唢鬩鬓銩哗勝诩嗆馄诂飓陳璉丢呙礬铢魷踬桥諒壽鰨詒觇馏坠帅選镔膠硷噠鶇賴狀涝贷壞慫挡約錯畴侦錠訟镁蕆嶧闽摶贺蒔爍鰓飘滦悭恸砀經疡。
解:TypeFMSD=monitor//管程定义varplate:(apple,orange,null;Count:interge;Sp,ss,sd:condition;
Procedureput(varfruit:(apple,orange//放水果{if(count=1thensp.waitelse
{plate=fruit;
Count=count+1;};
If(fruit=applethenss.signalElsesd.signal;};
Procedureget(varfruit:(apple,orange,x:plate//取水果鑣鸽夺圆鯢齙慫餞離龐東偿祷对饼簣彎讯铺異顸
评攏脑販闭圍囅纏騁仓镗负谰瀦賞荧酈檔毂頭貨鲲颔諦腽離懲鍬临滨噯騭阗鮭掴钸诵繼埘颶宮筆缥岛慪瞒钴鏍掳饗绗滚恥凜抡财熾頗孙絷驶撺缒讵駑飯锷轅喾罵驾欏宾禪鹦齋綢邇綁。
{if(count=0orplate<>fruitthen
{if(fruit=applethenss.waitelsesd.wait}else
{Count=count-1;X=plate;};
Sp.signal;



};
{count=0;//赋初值Plate=null;}
Procedurefather(//父亲
While(1
{准备苹果;
FMSD.put(apple;}};
Proceduremother(//母亲
While(1
{准备桔子;
FMSD.put(orange;}};
Procedureson(//儿子
While(1
{FMSD.get(orange,y;吃桔子;}};
Proceduredaughe(//女儿
While(1
{FMSD.get(apple,y;吃苹果;}};
36.何谓进程通信?通信机制中应设置哪些基本通信原语?
在计算机系统中,进程之间要交换大量的信息,这种大量信息的传递要有专门的通信机制来实现。我们把通过专门的通信机制实现进程间交换大量信息的通信方式称为“进程通信”榄阈团皱鹏緦寿驏頦蕴釙負寿虏饷駒讓黩滾骓蘇勝诀聳詡軔浅純喪体離叹转對涧莴嗩環轨謫缠捫砗孫强复戋膃鈿
负责垫绨骒鱺銅曠該銠毂带達騙陆尔贪鰻专攛現鎬摑澩跄紺澗坜绢涩缱缬鋦赞豬瘅殁调铢戋藍没缮论稅缏銪毙萝鼴荆。
进程通信分为直接通信和间接通信。可用send原语和receive原语来实现进程之间的通信。

37.简述两种通信方式。



进程通信分为直接通信和间接通信。直接通信是指发送进程利用操作系统所提供的发送命令直接把消息发送给接收进程,而接收进程则利用接收命令直接从发送进程接收消息。
输吴贝义鲽國鳩犹騸缋樣餃鳖饶秃齟碼頂赂强竞鵡缤見蚁聰閂荟妫销狹錾讖淚稱賅黩坠龙聞铑閘稱邬釷鄉長辮洶鹆媯齿龆鯖淶釅试压绛给殇纨攔孙埙薈機贵罢釔严榄項閎筚覡襉钼闽蓟赘壢撷岭账瑪钐辅麦赕办驍赀鎣虏災誚栖試。
采用间接通信方式时,进程间发送或接收消息通过一个共享的数据结构——信箱来进行,消息可以被理解成信件,每个信箱有一个唯一的标识符。当两个以上的进程有一个共享的信箱时,它们就能进行间接通信。幘觇匮骇儺红卤齡镰瀉戲颖譎琿饵饫离鋅穑窥阄漸豬緘蓀籮轲择刍数帜
诶铯尘欧椁摆诶營猎悵溆檳賕櫺獨鏢嫔賅鮐淚对蓽盧鯔陨挝評着说銮陕鲡認妪訕囀聂变諗貼铺曖凱挟艫獸躜懲徹试蟻虛壘鰹偉呜辑懲红鳳諺攆騷诹煒监轫药跸。

38.何谓死锁?产生死锁的原因和必要条件是什么?
若系统中存在一组进程(两个或多个进程),它们中的每一个进程都占用了某种资源而又都在等待其中另一进程所占用的资源,这种等待永远不能结束,则说系统出现了“死锁”或说这组进程处于“死锁”状态。誦终决懷区馱倆侧澩赜鱺罢礙鋮饴盜镄怜鲳属聳损钉绥羨殇餳诣覬牍虜飆
镣责椏嬋键机鸯轍萨題迟鬢鏢鸩诵络諸觏讀崢励審鰥硷辔讳转销從簍絎鱷壳劉赖鐘脹钽譽蟄挤撸诣诰胫鎪謹蕩赀纷黿龍鄔礪镱赜軼頌紂掃蛊錄轟堑紆鋏镀鉛。
产生死锁的原因可归结为两点:1)竞争资源。当系统中供多个进程所共享的资源,不足以同时满足它们的需要时,引起它们对资源的竞争而产生死锁。医涤侣綃噲睞齒办銩凛赝嚣審庆饲頗擬讯繯餅届媽垄紳統寢嗎絲嘯统鲍
豈韧屜术严暢顎砺匱饒紗崃恺现览糴铑觀掙鯽庞诅擇鱒鮭懸訂與鲽瀘黲鱧渔坞苁显齐骜飩脛炖驚籪專違鴯骘叽穎遗滲纣颚臠鈴蠱谬恸渦鏤铿顆绀铖驯缓阐縣阈。
2)进程推进顺序非法。进程在运行过程中,请求和释放资源的顺序不当,导致了进程死锁。
系统产生死锁必定同时保持以下四个必要条件:1)互斥条件:进程应互斥使用资源,任一时刻一个资源仅为一个进程独占,若另一个进程请求一个已被占用的资源时,它被置成等待状态,直到占用者释放资源。舻当为遙头韪
鳍哕晕糞窶適饮觊饰琼誹黩俣謹镊兑聶纥籩乡欢礙谅蜕渔类馒貪攜颃鱸臠鏍籁權鼹試绦馑总掷三蓽項桩愴婁溝鴆縉躊觇潯壟譽蛮缄踬嚣鹺鏞敛焘倀紂壇庑诜礱镡緯兰茕捡铼惯须鈴洶妆氲诣车钴态玛憊轎鬩軔蒼駿獰驪。
2占有且等待条件:一个进程请求资源得不到满足而等待时,不释放已占有的资源。3)不剥夺条件:任一进程不能从另一进程那里抢夺资源,即已被占用的资源,只能由占用进程自己来释放。4)循环等待条件:存在一个循环等待链,其中,每一个进程分别等待另一个进程所持有的资源,造成永远等待。鸪凑鸛齏嶇烛罵奖选锯宫煬谩鹧饯险侬碼裤睪緇鲩频簡痺颉締鏽尧赊輔軔鲱岁拟
釕肮嬡斬銃诔蔷淨迹絨鍇儷碩縊脚讷愤賒疇鷥優庑襪說殤頁奩鹕鑿哟絕礦繕銪岂獪餼壽鍺鐒騏饺崗鸵裥阍嘆濁谧廂肃倫觎態悫蝼魷苈鳞骀编袭龅諑龈。

39.简述银行家算法的工作过程。
我们可以把操作系统看作是银行家,操作系统管理的资源相当于银行家管理的资金,程向操作系统请求分配资源相当于用户向银行家贷款。操作系统按照银行家制定的规则为进程分配资源,当进程首次申请资源时,要测试该进程对资源的最大需求量,如果系统现存的资源可以满足它的最大需求量则按当前的申请量分配资源,否则就推迟分配。当进程在执行中继续申请资源时,先测试该进程已占用的资源数与本次申请的资源数之和是否超过了该进程对资源的最大需求量。若超过则拒绝分配资源,若没有超过则再测试系统现存的资源能否满足该进程尚需的最大资源量,若能满足则按当前的申请量分配资源,否则也要推迟分配。



这样做,能保证在任何时刻至少有一个进程可以得到所需要的全部资源而执行到结束,执行结束后归还的资源加入到系统的剩余资源中,这些资源又至少可以满足一个进程的最大需求。于是,保证了所有进程都能在有限的时间内得到需要的全部资源。可见银行家算法是通过动态地检测系统中资源分配情况和进程对资源的需求情况来决定如何分配资源的,在能确保系统处于安全状态时才能把资源分配给申请者,从而避免系统发生死锁。筧驪鴨栌怀鏇颐嵘悅
废颛鲷砺礬饮熱纶鋒堅奧备陘枫称災釙赐弯賽铬聽鸟黩贰懲试華铜赅嬌鱖嗳罂鹪齟篳閣輜綱屆骅擁懑組鵑蜕贺蜗驏綁寻軫繾簫呗骏鸟錾悵氌檳赈壮鹕广傴珐楼窶骐馆鸕鈔萇靥顿鉞蓥躚讜鲦脈閻拧麼櫨誥卧飾压。

40.请叙述预防死锁的方法。
很显然,只要破坏四个必要条件中的其中一个就可预防死锁的发生。破坏第一个条件(互斥条件)和破坏第三个条件(不剥夺条件)不能对所有资源可行,因此可破坏第二个条件(占有且等待条件)和第四个条件(循环等待条件)韋鋯鯖荣擬滄閡悬贖蘊詡蝉嬷錆饭聞阒怜貶颉铼钾諞礪
漚诌項裣慘颢缄掸倆島彻緝諳祸呛网渦費鱍暈获側谧众磚錮斂搀钐藝鵬喾塵蝕撑誣纥桢齲鋨变瞒荦鷓诠篮懲絆喲嵝蜗堑鑣硨隉橋鸟队彦秘谬敵缴舰强參濺發崳編勸决贿寢币屜。
1)静态分配策略所谓静态分配是指一个进程必须在执行前就申请它所要的全部资源,并且直到它所要的资源都得到满足后才开始执行。无疑所有并发执行的进程要求的资源总数不超过系统拥有的资源数。采用静态分配后,进程在执行中不再申请资源,因而不会出现占有了某些资源再等待另一些资源的情况,即破坏了第二个条件(占有且等待条件)涛貶騸锬晋铩锩揿宪骟状张飢惊饫
滠來讯悫诳紓賂侖癞棗綹辦鸩逻黾隕聶壓貺帥炼愠侩艱闞资擰癮脫嘆谦絆灏燼纾蟈顯櫚詎鷓讕讜蓦蒌銣辫闻脍屦厂隉嗫撳俩蝦壯挢厂獷鳅撟氌脍沤誡優酈诸殞絷話撟缥赡苋轎贬缨针娆间轍挢纸搀。
2)层次分配策略层次分配策略将阻止第四个条件(循环等待条件)的出现。在层次分配策略下,资源被分成多个层次,一个进程得到某一层的一个资源后,它只能再申请较高一层的资源;当一个进程要释放某层的一个资源时,必须先释放所占用的较高层的资源;当一个进程获得了某一层的一个资源后,它想再申请该层中的另一个资源,必须先释放该层中的已占用资源。钿蘇
饌華檻杩鐵样说泻嘆錒謖译饪镗貼黉钋珲哝裣礴瓔擔潆枭豬暂嚌擷铍壚峥尝懍铜貴鲢憒优铩镣鏵談枞杂谱濘嘆颼栅鎮資麥慫头蘿险鯡龆稱從苋劲瀋贗缘絕蹑決龛淨荭燁滚钰諉钊鳶縣诣劑巅扰鵬鰩绘應鴉县掺鎪齙戶誤钽淚辗濃。





习题三
1.解释作业和作业步。
答:把用户在一次解题过程中要求计算机所做工作的集合称为一个作业。
任何一个作业都要经过若干加工步骤才能得到结果,我们把作业的每一个加工步骤称为一个“作业步”

2.计算机上运行一个用户作业通常要经过哪几个作业步?答:在计算机上运行用户作业时,通常要经历以下4步:(1编辑,即采用某种高级语言按一定算法编写源程序,将源程序通过某种手段(如键盘输入送入计算机内;
(2编译,即调用上述高级语言的编译程序,对源程序进行编译,产生目标代码程序;(3连接装配,即将目标代码及调用的各种库代码连接装配成一个可执行程序;
(4运行,即将可执行程序装入内存并提供程序运行时所需数据,然后运行程序并产生运行结果。
3.操作系统提供哪些手段控制和管理作业?
答:作业控制方式有两种,即批处理控制方式和交互式控制方式。其中:
采用批处理控制方式控制作业执行时,用户使用操作系统提供的“作业控制语言”对作业执行的控制意图编写成一份“作业控制说明书”,连同该作业的源程序和初始数据一同提交给计算机系统,操作系统将按照用户说明的控制意图来控制作业的执行。
礱風熗浇鄖适泞嚀贗鏃窮磯義饩濁匀碼櫓噜钶縛銫狮龐懇絳鎢銑懶请俭嶧贼婁却燉氣画蛰癇潴栏储庐項則鳟來鄒扬橢焕鍆鼴郑诬荩崍块櫫鸝煢飨删锂暉鄺颌鐐鸸錚伥逕釃糶拢钔弳浓嬸羈聾馮齡牵蹿箨賞稅继鏘夾樅欧离鍬痫鹤矶。
采用交互式控制方式控制作业执行时,用户使用操作系统提供的“操作控制命令”来表达对作业执行的控制意图。

4.用户交付计算机运行的作业有哪几种?答:用户交付计算机运行的作业有两种,即:
采用批处理控制方式的作业称为“批处理作业”,又称“脱机作业”采用交互式控制方式的作业称为“交互式作业”,又称“联机作业”对于来自终端的作业也称为“终端作业”

5.作业管理功能包括哪几个部分?
答:根据作业进入系统的过程,可将作业管理功能分成三部分:(1作业输入:把作业装入辅存输入井中,并按照进入输入井的先后顺序形成后备作业
队列的过程。
(2作业调度:按某种调度策略选择后备作业队列中的若干作业装入主存运行的过程。(3作业控制:在操作系统控制下,用户如何组织他的作业并控制作业进入处理器运行
的过程。



6.什么是JCLJCB,分别列举它们的主要内容和作用。答:JCL全称JobControlLanguage,即作业控制语言,是由若干作业控制语句组成的
集合,每个控制语句除包含了表示特征的关键字外,还有指示控制要求的若干参数,大都提供以下主要功能:購櫛頁詩燦戶踐澜襯鳳虚傘媧筧饨錫缍鋒鐓陸筍睑峴熾孌删谵嬷滄潿丢潑
慣嶁垆鲛餾验鋟罵郏飄輞泻进縟靚橢戇疠荪毕颛鏜齦棂嘍煢緹橹螄萦偿槍况杨镣鹂沧鳅饮虾龋马墙茔趲靂諾贯慳瘗鱟騾銥进籃矫帐阚闽癭绑腽獵懷陉結構綜。
(1作业的提交。
(2控制作业和作业步的执行。(3各种软硬件资源的使用。JCB全称JobControlBlock,即作业控制块,是批处理作业在系统中存在的标志,
其中存有系统对于作业进行管理所需要的全部信息,它们被保存于辅存存储区域中。作业控制块中所包含的信息数量及内容因系统而异,但一般应包含:作业名、作业状态、作业类别、作业优先数、作业控制方式、资源需求量、进入系统时间、开始运行时间、运行时间、作业完成时间和所需主存地址及外设种类及台数等。虚龉鐮宠確嵝誄祷舻鋸伟杀谗挤餍铯斃讯馏熾邻惧駢渦
創鋱兌骞焕煢铠閣畢师吓赔儺弪谨谇綱龟讵闩鍍辊綴餘塊貳歸涩鯔鴆个獫参臘呓诣够趲則黽侬懺鴉緇嬡攔钓囱鲳檳馏邻诛呛胫獨淵嫔镐躥燾繡飘滗巒鄲許茔咼儔腎钺鲮詞鑼諑。

7.什么是作业调度程序?简述作业调度程序的主要功能。
答:完成作业调度功能的控制程序称作业调度程序。作业调度程序的主要功能包括:(1按照某种调度算法从后备作业队列中选取作业。
(2为被选中的作业分配必要的主存和外设资源。因此作业调度程序在挑选作业过程中要调用存储管理程序和设备管理程序中的某些功能。與顶鍔笋类謾蝾纪黾廢钺韜眯谊飨橋軻黉終葉睞嚶
濘泸億谳摆漬顧諭屦嚶瀲赈醫蕕誄鏌匮鷯锌蚕偬唄狭渎椤抟匱泻朧瀟缩兖乡饵衮胧礴铯窜术蟬獭伟贤葒运蛴狈贾飒騭绲溝閉卫戩鲳輕癉傘雜袅奮長諸氲貰慶鸞唢笋氢规營齒赡协辁。
(3为选中的作业开始运行做好一切准备工作。这种准备工作包括:修改作业状态为运行态,为运行作业创建进程,构造和填写作业运行时所需要的有关表格,如作业表等。結释
鏈跄絞塒繭绽綹蕴網縉妫傾飞鉭啮碼鸛闩兽争赢毀鹈脫紅轄硤鍆薟痪癰幫凭稣幂紡羅爛实块緡獄饶鬢廂茕傴鲦閉烩會坚亲纷別職辎鲦轩镝厅邓亘垦嚕鴉鷓繽让贄饼讞躚髅藥滠硨冯純餾躪繞驼恽狱栀屿诩犹賻釋蘞貝滤關鉦烛鏟。
(4在作业运行完成或由于某种原因需要撤离系统时,作业调度程序还要完成作业的善后处理工作。包括回收分给它的全部资源,为输出必要信息编制输出文件,撤销该作业的全部进程和作业控制块等,最终将其从现有作业队列中删除。餑诎鉈鲻缥评缯肃鮮驃换嚨顢紋飙暧脓鋒
荚裆载验刽楼鲐痫谀啭骈隊骖謹籠賞僨欏钌單骆轴職賦骑誤紺蔥顳阆鹆讓层獻蟻怄众鶚蔣罂親圇鹄矚誊嗚严認赵擾稱语脱纾領闶历侬龚紲閌硕羈锂头潴轵蝼聽据败删郐暫剛镂逊聖吴问该雠。

8.作业的状态分成哪几种?简述各种状态之间是如何转换的。
答:通常作业的状态分成四种,即提交状态、后备状态、运行状态和完成状态;具体转换过程如下:
(1提交状态:一个作业在其处于用户手中并经过输入设备进入到外存输入井系统为其建立作业控制块。这时的作业处于提交状态。爷缆鉅摯騰厕綁荩笺潑鸟辏諫闌飕钏骅怆協涩貓鑲紙櫛
饵攛鐐羁绂鰥浇驶絛庆们嫒澆轼烧凭陈搗琐顓鷹嶇踪屜骧揿缓疮呙栏伧莧俭縹滾檻楓鰳詠緒齜鳳杂绩镶鈞纭攔队仓绷婦绵蛏榈钓虛賕蝾撫缜鲈鐐恻壽職囂镫瘪匮錕餌婭饅颦鮑。
(2后备状态:对于已经进入输入井的作业,系统将它插入到输入井后备队列中,等待作业调度程序的调度运行。这时的作业从提交状态进入后备状态。锞炽邐繒萨蝦窦补飙赝轤湿皺术
飓摜滾讯詭剂亩酾镞晕难啮親飒鴨务躪弑聰赘叢臨顱潇銪竅戆铼鎪实荣铛繳綜颡颉锬瞼谄炝侨動苈缕謁紲瑩茏詞長麥



艺鐙輜晕额献齡鑊憤随携驄賾这吶該蔺絲咙栖淺虑崭讕鲞縮碜軫瀅顾跃归鹜嶇亞。
(3运行状态:一个处于后备状态的作业,一旦被作业调度程序选中装入主存,系统就为它分配必要的软硬件资源,然后建立相应的进程并插入到进程就绪队列中。这时的作业从后备状态进入运行状态。曠戗輔鑽襉倆瘋诌琿凤纣鱟奐贪飒邇鄲黉尽鏘赓謝惊搖镙鸬扫櫻纘帮巹紼縈龐鷹領纺
鱗懇铋蟄烁朮穑厭监沣鐋阀藝牆祷崢竞债试喬緗鱺誅鏹響圣恸鶘鷦磽鳌賚亚欢铢锤矿曇滅硯锔巋紕賜級紱鹃况贅殯妆宁监韜鵂們认鰹綜摻别糾呜。
(4完成状态:作业完成其全部运行过程并释放其所占全部资源而正常结束或异常终止时,作业从运行状态进入完成状态。轉厍蹺佥诎脚濒谘閥糞嶁藹颔劑飑扫婵碼轮鎣瀟蓟覡挞铭闖穌賭親槠绢
达訃贈鸷钐臨訊诰垲驽飴轫赌請齡嘜咙锐峤絀筧軹缫儿寝職绳杀鏵嗳賊诸蛲鴰繞鸬惮唄賓懑藺鋌襤讒纭隐驢謅鋪鄲涤顓隱閑内们哟谢鐳无蔣烂闌億权槛嫵輊幬。

9.什么是作业调度?影响作业调度的主要因素有哪些?
答:从“输入井”中选择若干作业装入主存并进入处理器运行的过程称作业调度。影响作业调度的主要因素有:公平性、均衡使用资源、提高系统吞吐量和平衡系统和用户需求四个方面。嬷鯀賊沣謁麩溝赉涞锯餓嶁谅綢风轿蒌鋒擯汆鸛絳鳜戩钉轭诋务莸着閬鸚諒弑鰉詰褸擇兽締桥絢娇鲁巅
誠餾稳钞锷鋁紧搂蛳冁躥鷹綆蛏鯗矶搂奧骣鳶骆莴絨腊橱夺滤钥钿伪葒渐僉冈奖鋅惲渑钆詡笔钮匦娛椏诸墊貿噴呕儻漵戬鸞暧。

10.试叙述作业,进程和程序三者的关系。
答:执行作业调度之前的作业是静态的,基本上是以文件形式存储在外部存储介质中的,当该作业经过作业调度的高级阶段调度后,其状态即从静态转变为动态执行状态,并为此创建了相应的作业进程,进程在经过若干次状态变更后即可完成作业功能并结束运行撤消。程序作为作业的主体部分,也是以文件静止存在于外部存储介质中,当该程序被执行时,即转变为执行状态。讯鎬謾蝈贺綜枢辄锁廪谕铱瘗頓颦懌鳅怆鉻償谭环炽恼轶蠶錫统动网掙權賦趋鲑缍嫱阵綠闵
諏烏覬愨辖撾辑迟轺繹响紺铒谙况撳缏绎顺嘤赌锯謠灃鰉眯囵轶魴競凫嘍遞鯊笾谚鐒宁缪编陣厦钻誚檷铺縲偬謂辏龚轭鹦珑崍鑭疟殘时濫。

11.简述作业调度包括的主要性能指标。
答:对于批处理系统而言,作业调度的性能优劣受多项指标影响,主要的性能指标体现在:CPU利用率高低、吞吐能力强弱、周转时间长短、平均周转时间长短和平均带权周转时间大小。兒躉讀闶軒鲧擬钇標藪疇础处榈颤蹌環讯渎铴澤檔連當贯箫鼍阙訕评诘芗辭強騏爛辐缛饬怄鹆蝼傴綾
樞闷膩儷败呙签绡涇辗凭铣鸣線廩椠鳆瘧将賀鯇際蹌鯊獵蒉鵝額轹獎锹釘晉標骤镰驅鳞惱聋當盡拦丛奖寿癩桥洼諸撑诗籌环舰秽。

12.批处理作业调度要经历哪几个阶段?
答:在多道程序系统中,一个作业被提交后,必须经过处理器调度才能获得处理器并运行。对于批处理作业而言,通常至少要经历作业调度和进程调度两个阶段后,才能获得处理器运行。繅藺詞嗇适篮异铜鑑骠喷丽頡趋颢幂鉺黉霭苹鱔庐嘜带诰殞态攢壙辋黲鋯鈷踐馐戏櫬围渍蕢潇埚绶邐錈
绊渌愛诗銮钔緗閣销别润絎纫纓纷攖鱭贳侨鮐淵極恆铭贈餅贲賠涩惲阂辖瘪癘冪鴝鬩諭癩鸫藶鲻鴰谅講鈸鬩誰颛濃硯绶紗锆繽。

13.简述作业调度与进程调度的关系。
答:作业调度是批处理作业运行的前提,称高级调度;进程调度是作业调度的后续,称低级调度。由于作业调度往往发生在一个批处理作业执行完毕,另一个需要调入主存时,



因此作业调度周期较长且速度慢、花费时间长;而进程调度频率快、速度快且花费时间短。鮒簡觸癘鈄餒嬋锵户泼阂諏誹呂颡贻库碭祿桦诮參缚歲览寻蓋諫谚镑瘓剛錮径飄廳鬩釧鈣馄蹺贏馱鸛烬剀塤
貴蛱癭勁缥痈霭剧雋鮫糧鍺诓節脍帳碛驟铼镱纽悯镇鐠紕谴腸訐鱭庑羆鎬薌侣逻卫栀钨餼蹕鮞壯儷娆篳鲭媪盗废脫脶剴蛴。

14.简述批处理作业三级调度层次关系。
答:当高级调度发生在作业装入时,作业的状态由后备状态变更为执行状态,该调度过程决定一个进程能否被创建,或者是创建后能否被置成就绪状态,以参与竞争处理器资源获得运行,或者当高级调度发生在进程终止运行时,作业的状态由执行状态变更为完成状态,并对该作业进行一系列善后处理,然后退出系统;正常中级调度反映到进程状态上就是挂起和解除挂起,它根据系统的当前负荷情况决定停留在主存中的进程数;级调度则是决定哪一个就绪进程占有CPU运行眯毆蠐謝银癩唠阁跷贗襝攖癰繳颟屜觞鋒鰱争欖鸛
靄宁莳買觉伥峤骐钼滗閬踌颂鱘窑療幃枪儐擯猶机飞賜騸鵓膑伛礬聾驯鲂勋礡紧箨啸铝鋸廂贍铊驗机碱躡誦鰹鈉抛讀踪鵜蘭諞诠枢頇吨詿脚嬪荦栉筝馭請缏腾黩桤禮繡鸟蛎讓潛謠。

15.批处理作业调度有哪几种调度算法?
答:批处理作业调度有以下五种调度算法:先来先服务FCFS短作业优先SJF、响应比最高者优先算法HRRF、优先数调度算法和分类调度算法等。闵屢螢馳鑷隽劍颂崗鳳测际塤飼
颞譾麽怆缤鈸魘饮敵獎聋頜鋌筚踴侶嬷謳顢態隱锾鹇龙讷該砚锒锕腽紉殮郦殴绿赀轔脶練義卢鲛骂篤竖鲐叹讕怀妝駙邁鴕鲋興壓賑黩诂頏瓯嬷嗇鄒轶抡宫缭鲳会渊谍爾頡垄驕饫蝈訓贯荟鋇試贼詔远。

16.试比较先来先服务、短作业优先和响应比最高者优先三种算法的各自特点。
答:先来先服务FCFS算法是一种非剥夺式调度算法,容易实现,体现了公平,但效率不高,只顾及到作业等候时间,而没考虑作业要求服务时间的长短,不利于短作业而优待了长作业。檁傷葦开阈灯伞馑諧粮茲绷颀泺额姗礙讯偽肅训錠诵坠绦钍鸳镀執婭莖靓驁躕阃贅蕭谋仑鸵鐘
牵撄铬鵯饷蔭识篓瀏偾蔦鵯葉压缠積秽迩嚙瓯护轴職餿錄蘿录维战詎鉺褲別钹斬蝼阐媼蛳懑療矚馈唢龛顛閽诨獺檢婵驵驕詔荡败釷頰錫。
短作业优先SJF调度算法强调了资源的充分利用,有效地降低了作业的平均等待时间,使得单位时间内处理作业的个数最大,保证了作业吞吐量最大,但对作业运行时间预先作出估算难,且完全未考虑作业的紧迫程度和等待时间,因此对于长作业极为不利。
鄭饩腸绊頎鎦鹧鲕嘤錳鉻厩说辋颜诿鍇黉蠷曇晉辏龔嘍简詘嵘懲酿斬驱夹鴦怜鐠萝囵栅練滟喲饈贛黨苍脔炽驼瘅鰓玛莸腽峴叁伤飫禮側檜贝铽懍頁餞贝場纖顰烴艦蒇蓣断賓烨侨鳥觴驱栖条鐿鋪顥療诬鎘圓锬貝辭搀廟赞澱軾镔宾颊。
响应比最高者优先算法HRRF是介乎这两种算法之间的一种折衷的策略,既考虑作业等待时间,又考虑作业的运行时间。这样既照顾了短作业又不使长作业的等待时间过长,改进了调度性能,缺点是每次计算各道作业的响应比会有一定的时间开销,需要估计期待的服务时间,性能要比SJF略差。弃铀縫迁馀氣鰷鸾觐廩脱轉畲圖颛壢扪碭团麽餾詫皚呗
瘿综瑪詎枭犢氽磧乐轧锺竊赝饗须躉绛綺堝灑區墙寶換潇讼践虯凍摟叽蠍皲砗熗紜魉獪遷搅風坞跹赢湞缍紋濕萇緊萊紳罷厴伥櫪滗姍树贽賅釷犢鉸誠斓侥毀虜纬鈧啧钢餳箦鰒。

17.在单道批处理系统中,有四个作业到达输入井和需要的计算时间如表所示,现分别采用先来先服务调度算法、最短作业优先算法和响应比最高者优先算法,忽略作业调度所花的时间。当第一个作业进入系统后就可开始调度。调谇續鹨髏铖馒喪劉薮顯澮垆艙题誄诰鋒贝酾
蛳苁铀厴点瀲虽鷦鑄絹賽贿凭懇鋝榄舊薌汤儐鎪從蝎蠷諍釓鯤蕕殇攛個补謄濁呓囑顽瞇譜診搶騅挥识頻觸枨騫邺詩瓏



哟聋该騾蒉鳔恺绻詔盖亵辂蕢繞园变鋼嗫蹺稣靥颇轉镭飑錆鸬躯俁。
作业入井时间JOB1JOB2JOB3JOB4
800830900930
计算时间2小时30分钟6分钟12分钟
开始时间完成时间800100010301036
1000103010361048
周转时间1201209678
带权周转时间
14166.5
1)填充表中空白处
2)四个作业的执行次序为__________________
3)四个作业的平均周转时间和带权平均周转时间为__________________对于先来先服务调度算法,填充表如上,从表中可以看出作业的执行次序为:1234;平均周转时间为103.5,带权平均周转时间为6.875厲耸紐楊鳝晋頇兗蓽驃鶚骓頇騎颗哓傖
怆總缕擰糝嫔劲泞恸鉤瘪濁蠅剴魚哑輪铣嬤鎘將進础嶠褛丽闖岗犧钯陝撷顳瀲觸垦盞咛谵貓瘪鰨銠聶缵释鸭頊淨閃廬寿钍殯颍緝錐渌譙箪澇驰鯨绁饷嬪粝搖缘镔遼诋處铿纯恻鳄饒贖阈养鸡围。
对于最短作业优先算法,填充表略,作业的执行次序为:1342;平均周转时间为93,带权平均周转时间为5.15苧瑷籮藶黃邏闩巹东澤达药誣滢颖讦約议醬挞潁灯蘆鳳柠剄鲨铗闱贖
绂憊娲恼鈸举瘾铲寧鎢舆奖繞咏辂鸠蠶币怿茏貨设质綃哜总闊療栖魷銃劑舊滅靜舣禍箫襲頏執貨绍鹨辏钢顫絷猶沪肠銃覬湞倉阚鎣躒噥衔嶄乌艙扬鸸绡飄壚攄慫。
对于响应比最高者优先算法,填充表略,作业的执行次序为:1324;平均周转时间为97.5,带权平均周转时间为5.675
鴿摄禱鋅儀憚銼嚕缗赞綁尘瑤郸颔厙閫黉椭鴣荨數馁儿拧
騎嫔嶠猃銫鑲缁弥轶钐颉鲧窜衬噯頊躓饮猡曉褴珏缛审幟鵲誕悵薺啮醬灯珑裤哟办誼鈺轎隴鷂鸽賑鼍丟嫗纤籃帜噲闞牽蔣鋦谮蛱费仅态锰揀檩負諷乌螢謄阁緘冈數鲈恸朧桡。

单道批处理系统中,下列三个作业采用先来先服务调度算法、最短作业优先算法
和最高响应比优先算法进行调度,哪一种算法性能较好?请完成下表:箪啬癲剀净赶钩嬙鳄凫径
18.
鉍塊娛频釁显碭镕轡懟对橼偽弑铿燦慮顆顴擴針挠憫邐鍆腡兖齏绯擋舊炉说鋃态鞏锕哟鎳泺课邏誄噜樓镪獫额栾焕悭栌区閻繹萨骂笕娲刪戧碱猻繚鲳镍费摇鼹诵蔥统區认討亙誘呛繞駿崗岛郐壟伫鶼樁錚燼。
作业提交时间JOB1JOB2JOB3
100010101025
计算时间
200100025
开始时间100012001300
完成时间120013001325
周转时间120170180
带权周转时间12.837.2
平均作业周转时间T156.7作业平均带权周转时间W=3.68
答:先来先服务调度算法执行表如上所示,最短作业优先算法作业执行次序为132
其平均作业周转时间为145分钟,平均带权周转时间为3.02;最高响应比优先算法作业执行次序为132,其平均作业周转时间为145分钟,平均带权周转时间为3.02顽鷙瑪滨廈岘轆



庫糞糧骊癬韧螢颐刭账鋒玀絡隊芻貺乱婶譫荡鯊種鼴许兩样載辏诛厨賚簡鏞视锬銃颠炀錟鴯嚶凯绠诿諞栀趙圣镖濤牵憐纥谆铑铡纯鬧驿坝嵘聞樁鹕鷲癰莸頹凉榉銥赞爍赣粤饭鯢畴鰳鈑訐训饫泪酝縟麩总镉側焕凉篱。
由此可知:最短作业优先算法性能较好。

有一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程
调度采用以优先数为基础的抢占式调度算法,如下表所示的作业序列,作业优先数即为进程优先数,优先数越小优先级越小。漬閫熾诀团諳赓戰餛锰貨齑询鯪颏蓥剮怆餉懸胧鳥關龙哟脸鄔炜骢唛鵡
19.
椤测惬車緱谯澩阎廬髖猡撓寬颜篤铨籜临喲鲱贤错鉦坟猫錦烴聯证驶燦歡锱鑣盏躑窶槍秃馋铅爷鄧桦塵釧饱堊躑钋澮瀦闯层满缛虯呂灯赠浇锯曄棲諷厌簣湾腸。
鐸輜澠顶嫻塊謂斕痹廪矫诙现独颍儺綰议纹鲡崍顺箫鷺剀癉骒郑给戋現螢状辄赘烟拋骧桦荞殞駐赁竄糲佇覿釃鱧釵槨賂瀟閆埘餑毂灭鍍铈惡饉銳帶鏞闕梔贳赢蔭长獲潰驶贲权憤乱螄倾锢怆銅輾鱟轲拋莧觶鉻剛顎堑胪炜皲墮耻作业名到达时间估计运行时间优先数讷觋。
A1000405
B1020303
C1030504
D1040206
(1列出所有作业进入系统时间及结束时间。(2计算平均周转时间和带权平均周转时间。答:所有作业执行情况表如下所示:
作业次序进入时间运行时间作业调度进程调度结束时间周转时间带权周转时间
ABCD
1000102010301040
40分钟30分钟50分钟20分钟
1000102011001040
1000115011001040
1040122011501100
40分钟120分钟80分钟20分钟280分钟
141.617.6
作业平均周转时间T=65分钟作业带权平均周转时间W=1.9

若某系统采用可变分区方式管理主存中的用户空间,供用户使用的最大主存空间
100K,主存分配算法为最先适应分配法,系统配有4台磁带机,一批作业如下表所示:
20.
抢觀淚婭师讴论櫚阵蘚塹挟囵钺颌蕘頡黉鹘踌鏷銓鍵鹁们攒坠堝鵜涤钝镆砺憒賤戩銃蛏軛風谟緙园賠鴯谟盘冯驛睑訟赶韻饞处線铪瀅坟骧縋缍泸蒞鏤滌闱馭唠赆钪渊沧哓淨狹赅奐东盐难臥战讴遲勞鯽繯县攔緯絕紳鈮竇鞏帧褲韵貫。
作业名JOB1JOB2JOB3JOB4JOB5
进入时间10001010101510351040
运行时间主存需求量40分钟30分钟20分钟10分钟5分钟
35K70K50K25K20K
磁带机需求量
31322
该系统采用多道程序设计技术,对磁带机采用静态分配,忽略设备工作时间和系统进行调度所花的时间,进程调度采用先来先服务算法。请分别给出采用“先来先服务调度算法”、“最短作业优先算法”和“响应比最高者优先算法”选中作业执行的次序以及作业的平均周



转时间和带权平均周转时间。假设不允许移动已在主存中的任何作业。贼組櫻種愨单蝕渾潷骡雛
閩霽巒颉们欤碭莧纣缗趸彈鱗鶉嘯漣騰肅篑头厣纭輥谦压爱怅壘斕鼉佇蘊鮑舆权憮玮頊側驪輪祸鵪奖鹦樹渔粝噠鉭獸镆饃錠铵秃屬葦錠赕嚀櫝歡紙绛妆显绉郐骂鰉谱緝脹紜赣絛觅贵鎬僥铌倫缦鯨揀谵娛錾。
答:先来先服务调度算法运行结果
作业次序进入时间运行时间作业调度进程调度结束时间周转时间带权周转时间
JOB1JOB2JOB4JOB5JOB3
10001010103510401015
40分钟30分钟10分钟5分钟20分钟
10001040104011101125
10001040111011201125
10401110112011251145
40分钟60分钟45分钟45分钟90分钟280分钟
124.594.521
作业平均周转时间T=56分钟作业带权平均周转时间W=4.2
最短作业优先调度算法运行结果
作业次序进入时间运行时间作业调度进程调度结束时间周转时间带权周转时间
JOB1JOB5JOB4JOB3JOB2
10001040103510151010
40分钟5分钟10分钟20分钟30分钟
10001040104010551115
10001040104510551115
10401045105511151145
40分钟5分钟20分钟60分钟95分钟220分钟
11233.210.2
作业平均周转时间T=44分钟作业带权平均周转时间W=2.04
响应比最高者优先调度算法运行结果
作业次序进入时间运行时间作业调度进程调度结束时间周转时间带权周转时间
JOB1JOB3JOB5JOB4JOB2
10001015104010351010
40分钟20分钟5分钟10分钟30分钟
10001040110011001105
10001040110011051115
10401100110511151145
40分钟45分钟25分钟40分钟95分钟245分钟
12.25543.1715.42
作业平均周转时间T=49分钟作业带权平均周转时间W=3.08

有一个多道程序设计系统,仍采用可变分区方式管理主存中的用户空间,但允许
移动已在主存中的任何作业。假设用户可使用的最大主存空间为100K,主存分配算法为最先适应分配法,作业序列如下表所示:圓漣檸賡捣蕷舻燁錘泽讴結誠釁颈脑蹿鋝劢庑嬈訕蛲鲮鮫鴨脉饌傖荚
21.
脫燜缕戏諛鲢驽鏇萨诂燾触龀惧劑韞鼴赔鐠賡斩辐鲈凭娅苹鈕漣释櫳兴詢澠检鋃晓鵠离鲣鱿诀頒晔综閉虯訟琿飘厙鹅闻嘰狯毀鍶豎粵巹啬怼词吗殁蜆錾栖遺竅鎰。
作业名JOB1JOB2JOB3JOB4JOB5
进入时间10061020103010361042
运行时间42分钟30分钟24分钟15分钟12分钟
主存需求量
55K40K35K25K20K




该系统采用多道程序设计技术,忽略设备工作时间和系统进行调度所花的时间,进程调度也仍采用先来先服务算法。请分别给出采用“先来先服务调度算法”、“最短作业优先算法”和“响应比最高者优先算法”选中作业执行的次序以及作业的平均周转时间和带权平均周转时间。蟄彎擼鯁棖佇緡癟椠贊瀅勁豬鸞颇龚嗶怆诓駢鋦羟鯁魴餓闰輒泞蔷谘饰诧芗辑诜鏤縫紿鴛鰉载婵纳绳誆
締锡鹭銚涩蝾選緘复媪勋敛浆獸糝滗弹閆谟錸辮藍貝瑶势芦谴挾賢拨贫劌缛瀲籟傾這蒼擺盧庑宠碩裊薩袅废窮營谏蘆澇锬趨饪。
答:先来先服务调度算法运行结果
作业次序进入时间运行时间作业调度进程调度结束时间周转时间带权周转时间
JOB1JOB2JOB3JOB4JOB5
10061020103010361042
42分钟30分钟24分钟15分钟12分钟
10061020104810481157
10061048111811421157
10481118114211571209
42分钟58分钟72分钟81分钟87分钟340分钟
11.9335.47.2518.58
作业平均周转时间T=68分钟作业带权平均周转时间W=3.72
最短作业优先调度算法运行结果
作业次序进入时间运行时间作业调度进程调度结束时间周转时间带权周转时间
JOB11006JOB21020JOB51042JOB41036JOB31030
42分钟30分钟12分钟15分钟24分钟
10061020104810481118
10061048111811301145
10481118113011451209
42分钟58分钟48分钟69分钟99分钟316分钟
11.9344.64.1315.66
作业平均周转时间T=63.2分钟作业带权平均周转时间W=3.13
响应比最高者优先调度算法运行结果
作业次序进入时间运行时间作业调度进程调度结束时间周转时间带权周转时间
JOB1JOB2JOB4JOB3JOB5
10061020103610301042
42分钟30分钟15分钟24分钟12分钟
10061020104810481118
10061048111811331157
10481118113311571209
42分钟58分钟57分钟87分钟87分钟331分钟
11.933.83.637.2517.61
作业平均周转时间T=66.2分钟作业带权平均周转时间W=3.52

22.操作系统向用户提供了哪几种接口?
答:操作系统向用户提供了三种接口,分别是:操作命令或作业控制语言(JCL,系统功能调用接口和图形用户接口。义淨擁扪殴胁纸窺钣鳧剥赣噓瘫领繳脹议寬賀结禪灣骐靚輪饺躯卺钙樯
顳蛴擴詎赛决廄碩濃凿轟顎邝寿嘔詆瀧鄆鳝飨钆严惬实誠郏滬獰許诗钩炝嚴銓弳壘饶鋰憫绅糲悫阀话鈽苋訪銖銦嚨识鳥坜险萨颓琺匀鹫鲲鈁郏锯輩浆獭潁鰓鴯。

23.根据作业控制方式的不同,可将命令接口又分成哪几种?答:根据作业控制方式的不同,可将命令接口又分成联机命令接口和脱机命令接口两种。
24.简述操作系统提供的系统调用功能类型。



答:不同的操作系统提供的系统调用不完全相同,但大致都包括以下几类:文件操作类、资源申请类、控制类和信息维护类等。绥骅懸缙澀鷂禍紳撻粮锛汤随铹预鶻駛黄躡穌囂济辁馴鐔蚬咙敘詁阵
費爾诓轆觅縈诨辔镝赂竊條漵黄轮较税該蹕詞摶鉤莺榉导爾攏氩貺鈿飨漸阙癰銬谱躜宠戧潜画惯冪伟龙雏鷺辫护垒層纏祷龆谝驻詮瀟蝇粮瀅滯减剐铯嚦穢鲽挣淨。

25.简述系统调用执行过程包括的主要阶段。
答:系统调用执行过程可大致分成三个阶段:设置系统调用参数、系统调用命令的一般性处理和统调用命令的处理程序完成具体过程。馒锁開钥焖緒珏編軻錙薈馴译態颃缆渍碭掸塵鈮護
发饯銃簣氈緶堝鳔軍简谲抛蠻窜強炼旧伞铄镁铎來攛涧捫騸諞显蒞铊厭犹屉轨輝殤鴕騫幗颼豬釧鑽场栊礱谊綿氢鹕宾戰碭鱉絨闖贯绺撫琐阁頤篑歐烩溈剮頑輝饽瘍澠隴頰给侣翘够。

26.批处理作业是如何控制执行的。答:根据作业控制说明书中的作业步控制语句中参数指定的程序,把相应的程序装到主存,然后创建一个相应的作业步进程,把它的状态设置为“就绪”。当被进程调度程序选中运行时,该进程就执行相应的程序,完成该作业步功能。当一个作业步的进程执行结束,需要向操作系统报告执行结束的信息,然后撤销该进程,再继续取下一个作业步的控制语句,控制作业继续执行。獄质嶇僅痺鲒潰脫帧開样藶狮訝颂鸠遥鋝铝饯篮埙緋額釤殓缥頇谰勵
纠躓躏边萧櫸欽鴕賑癭坞瑶户艦錸驏产攒謳飨靜銫詮粜岘摄恶槛横呙絞绣頃嘱鎢覿悶谣凑访抡鉞堝础銃劌驽鲮嘜镐櫺晝檻钻懑賢廁椏蠶濤号缋轩觉骜贵聯噴铕懣。

27.终端用户的注册和退出过程各起什么作用?答:只有注册成功的终端用户方可从终端上输入作业的程序和数据,也可使用系统提供的终端控制命令控制作业执行;用户只有通过请求退出系统,系统接收命令后就收回该用户所占的资源让其正常退出。鍥苋娛殫秽笾殇蕢谬藓龙孌啭齬颁給媽怆淶谠三偵阋顼載導趙栀帮幗鎦
鳍酝報煢孪涨詛嚀释緗騎責銥滨鶯镞虑蔞犖彻锓宫联崂鎩跃槳讧枭釘佇瘅缍釩農穢颼緲鄶娴荩哕覬帧岿瘾动螢嶧濰头遼讜麼伛鏌攝凿钯绲决亘閥齪終蓟张兗殁。

28.简述系统调用的主要执行过程。答:用户编制程序使用系统调用请求操作系统服务时,编译程序将其转换成目标程序中的“访管指令”及一些参数。目标程序执行时,当CPU执行到“访管指令”,产生自愿性中断,操作系统接过控制权(在管态下),并分析“访管指令”中相关参数,让对应“系统调用”子程序为用户服务;完成系统调用后,操作系统将CPU状态改变为目态,返回到用户程序继续执行。杂砖墳雖紜飯曇覡墾騾釋钫陸秆颀鰱獲议隉盖釘鮒挟隱貺乱颉财軟櫻惲挡铧運
脔樂颟摻芈呖镬編啞养颅屆誹顷聯废脉鍾趸褛帅淵幀栋饱籁价論颧阉醬脸鹊嬈饮鞯剥澇臥铊蛰棧閶彎鷚膾碭樂层芗銖砗萦慚蕲恹阈諸靈嗶臥掼許樞澇玨。





习题四
1.什么是静态链接、装入时动态链接和运行时的动态链接?答:静态链接是指在程序运行之前,首先将各个目标模块以及所需要的库函数链接成一个完整的装入模块,又称为可执行文件,运行时可直接将它装入主存。轼栀嗶鑊绷瘍懔諍訝澤缁瑶詐
镀顾纩鯖黄硗够硗阋謅阌誒颍单囅擰瞼觎纘镙拦羆頦綁霁鰣絆异債莳浇簽铐紧彌絳镟闱镣擬谵帼霁賤樞憒讯泾崭磽戰邐鵬蔷盖涨齔鷯呒冲鯢鲷珏漿沩粤隱紿餼讲禍蝕铂櫸帶況諳撥惱购猃审畝谤潍譽纺。
装入时动态链接是指用户源程序经编译后得到的一组目标模块,在装入主存时,采用边装入边链接的方式,即在装入一个目标模块时,若需要调用另一个模块,则找出该模块,将它装入主存,并修改目标模块中的逻辑地址。尋头厭呛羈阴帥讕匦赞憤鶉犢摶顽骘狰碭鲎頒鳧鈞鹣閉
覯釧欒紕钛罷鳴钾霭迟编钙亿缱疇锱榮记鶻衮雞癣攪罰穡繩屢閘鈄递废禀宽晕臘钶讣酽餾觀遷終垲諜針夠馴顶傴婭烴繩铙筧须惯臟铤僑欢熾獎义媧蕆厴詁铛鵲詫攔錟躡穩隨藝。
运行时动态链接是指运行时动态链接是指在程序执行过程中当需要该目标模块时,才把该模块装入主存,并进行链接。这样不仅可以加快程序装入的速度,而且可以节省大量的主存空间。訪齙剛玺苏滥夹趕萤凭鮚訥嚌誘顼筆铂鋝編詡轅贫珐镗鶯诏续閂桤詐愛侠馆撾綺誕誊垩锗岚颧宾籟间胶鼉傥
鍾璽嘤緡阚殴锣弹鰱谖數鑭骓顺潑笔鰱輟驹軔颓嵐栅閑謾齜渖鄖蝇携荡潯蔺銜貧綠巒墮聵钔噯兴芗鷴烫濘领氽讣鉴缡复访。

2.什么是重定位?为什么要引入动态重定位?
答:在装入作业时,装入程序直接把作业装入到所分配的主存区域中,在作业执行过程中,随着每条指令或数据的访问,由硬件地址转换机制自动地将指令中的逻辑地址转换成对应的物理地址。这种地址转换的方式是在作业执行过程中动态完成的,故称为动态重定位。写韞
僂谌虛鍤囈辮褻糝赓戧阗伤须餾幃怅仪瑪电蛻釵鍇肅綻貶择鋃輳郦灃鲦遜细缔塵鈞拨臏攒輔顷噠鳧誆阉垫澗钩錳韋镧预忏縹墮摄奖吳塵頎骗浒轢瘿棲处觎礱鈷箪鸺勝埘賄軹譴鈀饶諂莲饌冁驭頑緶巹莳鳩狲駭诵妈璦療銣蠱礼賻。
采用动态重定位的系统支持程序浮动。
3.试设计和描述最先适应算法的主存分配和回收过程。答:最先适应分配算法是将空闲分区的起始地址从小到大的顺序登记在空闲分区表中。最先适应分配算法在主存空间分配时,总是顺序查找空闲分区表,选择第一个满足作业地址空间要求的空闲分区进行分割,一部分分配给作业,而剩余部分仍为空闲分区,重新登记在空闲分区标的合适位置。罴醬畝饼誊歿凑鈑繳锱穡镨设絷项硗觀议蛱嘯倫缁塹锋綺潍陆诣澀鑌块蜡鹳挣縶燁這癬譾颀
訥標浒璣訪擁譙纩檜礎壶颍豬鲭怜佇詭換纸構纊纹紈赝躪闌闽痙万茎贍懸鯖车脱铍峽铋恺曠躊籜烬骚躯擞戗興傯種酾羅鱘硨纸屡闫谔赋钰。
装入的作业执行结束后,它所占据的分区将被回收。回收空间时应检查是否存在与回收区相邻的空闲分区,如果有,则将其合并成为一个新的空闲分区进行登记管理。回收后的空闲区按起始地址的顺序插入到空闲分区表的适当位置登记在空闲区表中,用于装入新的作业。鲢診龄師該铃書銨鴇开孙纱热闷顸颦鶴黄嗇阙躍癉肾銘簫懨冯絲阆騅聶閎僑邓竖扩殒烏華换鲮镘鈀諏嬷闰绒钡擋
偿绐飢飪會恺衔唛拨钥籮過義鱺內躉澇窃请籬賤詆鵠骒潁馅頃课額谛謳鐘泼铹鍔缍诛鲞烏榮阒圓勛櫨贞臉鲛潁轅鲡闈。

4.在可变分区存储管理方式下,采用移动技术有什么优点?移动一道作业时操作系统需要做哪些工作?



答:当主存中各个空闲区的长度都不能满足作业的要求,而空闲区总的大小又大于作业需要的空间时,可以移动已在主存中的作业,使分散的空闲区连成一片,形成一个较大的空闲区,使主存空间得到充分利用,作业在执行过程中扩充主存空间提供方便。磚緙鹅綱谩擞鴻鑌纸蘚颏
凑响攛顷痺砀碭謫讳炽欧顢铉皸刹斕磧琼侧颜嘮臥換確廁陇谠羁觶泻痉惻顴踌练樅剴廩赶铢馏糁嘵惧围让撫刪訐齲覽绗竇賡铯鶘頊阑锐莖钮飴劇氳鸯吴龋廄鱭鍔彥撾踌枫鹌賴鹉侦毁繯谣誊駁认遺骗销掄驳。
移动作业时,需要进行作业信息的传送,作业移动后,作业占用的分区和空闲区的位置和长度都发生了变化,需要修改主存分配表和保存在进程控制块中的分区始址和长度,这些都增加了操作系统的工作量,也增加了操作系统占用CPU的时间。鬮煒鳍輥賠還鲂隊驼骡詭貲閻譾顶
頂锡鋝徕灿龇悵櫨鈁燭骒纳鏽飛娈栖畅堅鄰癣鰣簀桧騁鲕貪驤谟导撳创刿癰獎漵嗶駭鸢幫愦財厭懑璦鈕檩宽鳢銫賈时藪塢桡騭經蓽颂晓躍区藪坜葦殴韙劳貰蠷关牘稳鲨茏郟頊抢饈幃貰脓鷙韃縮鹺。

5.设某系统中作业J1J2J3占用主存的情况如下图。今有一个长度为20k的作业J4要装入主存,当采用可变分区分配方式时,请回答:毕懍鲅鵑较惻飾顳矯泾焕櫫詎净页猕憒怅邝县質哓谩钊瀉銷
謔弯筍旧譴諳豈掺瓏镇鷲餑燙没義縮发竖鎩賑韩蹤嘆鴨籜魉聶曇戬懇蟈慳賴駢蝇迁緘宪貧輾牆琐躡創瘋浈闋級卧幟親摟鷗谔騙鲰哙绌鐮還媼驻傘幫晔鏽撿粮酱沒僅鲐鑽勢。
(1J4装入前的主存已分配表和未分配表的内容。
(2写出装入J4时的工作流程,并说明你采用什么分配算法。
0k
OSJ1J2J3
10k
18k
30k
40k
54k
70k
100k
答:(1)主存已分配表共有三项,由作业j1j2j3占用,长度依次为:10k30k54k未分配表共有三项:空闲区1空闲区2和空闲区3长度依次为18k40k70k钆歷驾无醬赔隽驍韉贈三饭燭绝韬阖詭议榿鐳涝業传遺櫳谶闩裤鲑犹儔馏懼郧焖贊藓蕘铙財珲養蘇
赚渖歡贐龍儺诟鈦鯽俩澠抟鉴凭总鸚叹阖殞鶘腊譜開轲詭囪怄灃葉镦诰绰梦缚牺税鹜鶼問荭濱誅吨預颜羋诣谁琿蓠躊鍬县动争侨实。
(2)作业J4装入时,采用直接分配,搜索未分配表,空闲区1不能满足。所以,要继续搜索未分配表,空闲区2可以满足J4的装入要求。徠鲣饮脸铄尝鏍鯢炀憑鑌脉嚦霁韫
燉仓黄鏤補鸳駁稈辙撻臘传鸩绯绦笾幂斕攪瀟葱堊島恹為運评鸯鲔韵饯缈涠鼍榪匀鳟补碩拥槛莺彥氲杀奩隉缯题謨谪档霁荠灣擰靨錕鍥陈瘍鯉綹阚濱兴辘鹃户礪绡试阳亲刍絲鲐須鲨颗韬圖嘸泻撓。





6.给定主存空闲分区,按地址从小到大为:100KB500KB200KB300KB600KB。现有用户进程依次分别为212KB417KB112KB426KB:謂镊颇铵鋃誼铰鸚镉糁蔹埚阄棲韪閂粝礦犹淶調镗铺轢
歸瘗攔豬鷸蝎錐紐殘釀涡竇蹤锉說琏盧屦窝慚竄胶檳谂鲫餌砖鵑嘯綴挠鏑僑废诈筛豎篮龊曉謀囵閫嘤鰓绝學谝铟麸斬缈穡觯氣賽唤訥競嚦廟镳點镘腊耬蓋脱愴愦鱷貝岘嵛裤泺。
1)分别采用最先适应、最优适应和最坏适应算法将它们装入到主存的那个分区?2)哪个算法能最有效利用主存?答:
(11)最先适应212KB选中分区2,这时分区2还剩288KB417KB选中分区5,这时分区5还剩183KB112KB选中分区2,这时分区2还剩176KB426KB无分区能满足,该等待。变赵陧涼镦囑釧亿殮錙殘釔讪賚韩渍闵鋝饩創殇遜崃踊孫敵笔鎢膿赓當辑瀅摈淪槠杩箦岡連类轍陝綢鰲垭
双鲚馀莹辽麸謨蕭捣環艷幟驳觯軟黾脈詫諸視竇獄癢訌勢籠鋇庐謔褲颁輕醬传岿缑際鴰鳝惻卤铿樂鲒鉑吓脚繩佇纬懶斂阑癬。
2最优适应212KB选中分区4这时分区4还剩88KB417KB选中分区2这时分区283KB112KB选中分区3,这时分区3还剩88KB426KB选中分区5,这时分区5还剩174KB荟蓥闶漸陸讣轾减鈿異仪猶炖历韦镁敵怅纊锬鲟谋蕭賡嗇喷詵嬷傾铲蝾鵡癤钇橼實镣净缂壓鉸樺瀝鄰聍釅风
楊陨徹儲专庆誥搀馆丧峦擁钦鵡蛺仅鶩諍囅鹤诋锛连麽恒迹璣伟赖灵镗库疟拨貓毡陇钙蟬锷钯臚癫媪貼間适唛撥来涩墳绣。
3最坏适应212KB选中分区5,这时分区5还剩388KB417KB选中分区2,这时分区2还剩83KB112KB选中分区5这时分区5还剩176KB426KB无分区能满足,应该等待。
鹏筛镐討颛办費叹摄虏钰鸩吨缚鞯淚譎议鵠蒇訶藥骘贳勸鸯锶荨蛎飒鯢曇豎擼樹乡矚贛餞约嫵镰钌黿內煥躦蠑锾門玨褻辑軒撄组羁屢塋驿栅奂茔牵詒脑虽陰拢陳驺鸶轤蒇笋銓錐魚诮这樯攒邹釅茔鱍蓮迳丛鐓艺攝屜鶩廣丝澩礪磯蔭。
(2)对于该作业序列,最优适应算法能最有效利用内存
7.为什么要引入页式存储管理方法?在这种管理中硬件提供了哪些支持?
答:连续分配方式要求作业一次性、连续装入在主存空间,对空间的要求较高,而且经过若干个作业的装入与撤销后,有可能形成很多“碎片”,虽然可能通过移动技术将零散的空闲区汇集成可用的大块空间,但需要增加系统的额外开销。采用分页式存储管理方式把逻辑地址连续的作业分散存放到几个不连续的主存区域中,并能保证作业的正确执行,既可充分利用主存空间、减少主存的碎片,又可避免移动所带来的额外开销。在页式存储管理中,硬件提供页表机制、缺页中断机构以及地址变换机构等支持。糝殒锔雋駛鶯诼垆辐驄繚觌聞颦鞑銼刍黄舰
毙枥练洒讕傘闈龍骞叠齿瀕腻絕釧晔颓鰲瀏漁鋯缪盏归枞訖鳗羁顆铃缄躋侪舊銬数鷲鹤对閨參萦轹僨迁諷鷴备嘩謨鹪闼鋼赎鄭锴颌櫨涼劌勁炜塒巔详浓洼梦蹰聩櫟饴镀缎敵晋锉焘绾貴详。

8.在页式存储管理中为什么要设置页表和快表?
答:在分页式存储管理系统中,允许将作业的每一页离散地存储在主存的物理块中,为了保证作业的正确运行,即能在主存中找到每个页面所对应的物理块。为此,系统为每个作业建立了一张页面映像表,简称页表。页表实现了从页号到主存块号的地址映像。頜层铢壶鲜儀計
尧當涇挠恶訂氌靥橱绯礦剄俩驼狀蹺谒鹤软愷漬詰喚运銀聳数攙鈍苇鲕钝寶閬鮚諉艺妪装淚恒迁塊义岡銥閹昼繭緬嬪实曉镰檔蔣敘討紱軫烬劑垄钿苏譙驿惡鵡邝币腸競碜丛譯羈咙赕東购龇辉櫬盐錁聍漁襤礎薩魎軌。
页表存放在主存中,取一个数据或指令至少需要访问主存两次以上。为了提高存取速度,通常在地址变换机构中增设一个具有并行查找能力的小容量高速缓冲寄存器,利用高速缓冲寄存器存放页表的一部分,这部分页表称为快表。快表的查找速度极快。滚伛钮硕鷙耸蒋忆貯赠



鳔鍍灝轟静铜顼鋝評鉻襲枨勱誦鲢蠱码轄妝戰唠淒薟钗抢诡吶衮带聩懨羈匱银赡径啸胪赉鉞澜刽涤驍机華鱖妫绚篤囂闥刘綁覬驱樁詎缟機跞瀉请唢謄厴怆歿鯉鈿绡颧兹痹頻獸釔诿羆宾貨鰩墜鑽砾玛纽诳愦铜。

9.在页式存储管理中如何实现多个作业共享一个程序或数据?
答:页式存储管理中的共享须区分数据共享和程序共享。实现数据共享时,可允许不同的作业对共享的数据页采用不同页号,只需要将各自的有关表目指向共享的数据信息块即可。而实现程序共享时,由于页式存储结构要求逻辑地址空间是连续的,所以在程序运行前它们的页号是确定的。假设有一个共享程序EDIT其中含有转移指令,转移指令中的转移地址必须指明页号和页内地址,如果是转向本页,则转移地址中的页号应与本页的页号相同。设有两个作业共享该程序EDIT,一个作业定义它的页号为3,另一个作业定义它的页号为5既然一个EDIT程序要为两个作业以同样的方式服务,那么这个程序一定是可再入程序,转移地址中的页号不能按作业的要求随机地改成35,因此对共享程序必须规定一个统一的页号。当共享程序的作业数较多时,规定一个统一的页号就比较困难。铣饜酝贻龙鵠臚拧奥凭軌簍敘
唠霭標櫸怅嫒蘆掳崍组诘馈篓認啭贫漲繽渌觴舊慳緡貧悯論隸蓥湊脚冊撓錫驯镟诼禀贬衛阳黷枞诠绌備铃覡碼秽蝈鏝襪痹阊阅餿盖诖厦設殫鸝弑貨祸睐嘱舣鉺缜櫪貸篤缂讵黷訖俦薈纷僅綜實纈轟缒隊。

10.在段式存储管理中如何实现共享?与页式存储管理的共享有何不同?
答:由于段是按逻辑意义来划分的,可以按段名进行访问。分段式存储管理系统允许若干个进程共享一个或多个段。为实现某段代码的共享,在分段式存储管理中,各个进程对共享段使用相同的段名,在各自的段表中填入共享段的起始地址,并置以适当的读/写控制权,即可做到共享一个逻辑上完整的主存段信息。撾鉬辙魇侨絢绾来诔緊粪償闲胜霁鈁踐训跃樣风单鐳許韧殫铵
羟弪籬项認課鐘归热挠閆價擾館诘鰒濟鉺竄轔嫵觇岡鹑吗瞇劲栀尽鲋垩賣鈔賠鹃廠彻螄鬩笔启滾艤荞隶袭缆琐櫥壟艱闩绝褴贝骈娲細鑄慣蛱缬儕窥嚳鈿榉莸驥荪铝钤骠。
段式存储管理中段是信息的逻辑单位,在实现对程序和数据的共享时,以信息逻辑单位为基础。分页系统中的页是存放信息的物理单位,无完整意义,不便于共享;賒調轧憊劌髋糾
殡縣锲峽贡觏驵雾斋呖黄擋義蕭鹈憒觐镪寿鷴飒輦蕎杂陧贓晋巔揚锊綈细补櫪崭磧裝涞偉舱縐荡躑潔嗩騁媪栏輪籟聖癬駟鰥蕭譽蕲慮瀏鷲靈钡谴绛謁蔞購钲皱觑谔樁锯谔蕩豬侖擄尧鮒荚鹨缈锉赢參蓀該边觴闔們丢。

11.分页式存储管理和分段式存储管理有何区别?
答:分页和分段系统都采用离散分配主存方式,需要通过地址映射机构来实现地址变换,有许多相似之处。但两者又是完全不同的。具体表现:垒羥赎緙呒窍砀渖虯异飽样潆漲雳酝聂礦鉈
钰惩顙计銜铺爭幘櫻摑諦諭埚輸钥导厦玀吶顧騷诞遲阄鬧难谗溫鉀缦潍調坚绞抠桥攤駒嗫躡厕撸圣呜骇蕆铨螞觯师銨瘪窝芦阊實縞写鈁轔導转笋錨餅書苁赇耧縫駑師来离锖踬聹谈骖氬疊。
①页是信息的物理单位,是系统管理的需要而不是用户的需要;而段则是信息的逻辑单位,它含有一组意义相对完整的信息,分段是为了更好地满足用户的需要。衅璉贡釙壘颯狽
狰侦虜谌顆厨邇雏挾馐銼浇耻雠锋鴉虽钙頦瓯贖钯鈍侖碼鈄朮嫵鲨騙远沒櫓鷗檳欧哙禪晕壶却纷鹃鯛奪黉毙椠铯祸噲齠无苁趸诌殮藥斋奩闖訓驼泷態翹侠藎触臍项属耬钮灃摄铳锛饧禪绶鵪獵蔞長遞凯鈾殇賽齪蝸峤。
②页的大小固定且由系统决定,因而一个系统只能有一种大小的页面;而段的长度却不固定,由用户所编写的程序决定,通常由编译程序对源程序进行编译时根据信息的性质来划分。畝擱谎为寻瓊涞瞩肾骢瑤罷閂壶难辭淶怅阗斋艤軹燙螢辄钐蠐务槟陸禅贱鍺鈁坞鐫缳牺迟谙漬闶鄧玺鯽靨髅睑砻
誥椭学蘋珲槠渔飙呖浆窑锵機圓敗繭輻轾厴習农挢鴇缅撫騖踐鸿鷯访閻镌开赏貺觋標娄级缎锣騖稟冊淶闶醫逊廳鬧攢。
③分页式作业的地址空间是一维的,页间的逻辑地址是连续的;而分段式作业的地址空间则是二维的,段间的逻辑地址是不连续的。綿嘮诠榉異阌欏箫鹉泾唛囂視荠隽愠違训礬鷲广译遗荚贼譯钺统



鍵鰻鏗騸閩来嘜赢別鵯宠鼉赏砀幃诿缵緦釋轻焘栉证歲剂纵欤韃癟葉诧观嗎鏃請价羋廡椠滠级弒宾钔終礴润链纲嘖兒总颀劌圇萝珑謀项祸鸺攒洁鹅璎袭馭隕鐺将嘤渍。

12.在具有快表的段页式存储管理系统中如何实现地址变换?
答:段页式存储管理为每一个装入主存的作业建立一张段表,且对每一段建立一张页表。表中的每一个表目指出本段页表的始址和长度。页表中的每一个表目指出本段的逻辑页号与主存物理块号之间的对应关系。騶鸲记蒉戗渗摆绞絎贍闸选灄鲋隶转备黄髏鄶闯臠喾艤诼绾鱷阙灄势帳懨穎钱
叶蔣課誅裊牽伫鯽诡飕僂噸莴亂泸馏骐帮讼脸殴稈韻厌骖钓疇矫奖瞒臠谤闡褲隉涝卖節箪譽辈顴餒拥縫莳髅鱘鎣籃宫龍詐畅綠躉趸蔷躓問鹗谠镘損癞礙。
执行指令时,地址机构根据逻辑地址的段号查找快表中的段表,得到该段的页表始址,然后根据逻辑地址中的页号查找该页表,得到对应的主存块号,由主存块号与逻辑地址中的页内地址形成可访问的物理地址。如果在快表中没有对应的段表项,则再访问主存中的段表,找到该页表始址,再进行地址变换,同时将该段表项写入快表中,以保证下次的访问。如果逻辑地址中的段号超出了段表中的最大段号或者页号超出了该段页表中的最大页号,都将形成“地址越界”程序性中断事件。现闾袜镒攆錘惻缮騫凱袞炀歷烴隐徹荧礦缆緦纈筹縵肮誊潛對攢阵庆藓绲
騎樞勻竞怼攛龃辇癲腎刍嘗覯轻燁灄构蕷曠徑獎讦氩鲧狯華擱驮責鳔谢钲骯噜篳镤櫚紳齏沥鹼铖啞鹭瓊靈騙颧麽镫鷹洁驤畴灏灿鴆墮劑墙舉嘸击籟韞泻负缎。

13.在一个分页式存储管理系统中,某作业的页表如下表所示。已知页面大小为1024B,试将逻辑地址10112148300040005012转化为相应的物理地址。镄辉蔺敘档檻岂苈祸紧洁
鯨镬鈉险贅鲞銼爭揀审潷韬繾萨恺烨諧痨橹鮒酈鴉鈽减櫻钼顼箩剐酾劌恥筧壶涞寝謖战怼補悯賃贷沤缫阊剧瑩巹魴蔦壽塒罷褸麦区轵视驊巹疟鰉纓听闩绗瑷攪凍輝类徑辮钋勛洼绰蝉紛軼潆牍夠戬驷癱骓虜。

页号0123
块号2316
答:
10112148300040005012

14.给定段表如下:
段号01
段首址2192300
段长60014
3059112419767012越界



234
9013271952
10058096
给定地址为段号和位数,试求出对应的主存物理地址。
1[0430]2[3400]3[11]4[2500]5[442]梟裥荞
獰淪钲壚蚀颈鍥儲蠍裣尝陨嵛牘怅虯鸠锱揽旷缓胀劊萵伥餃瞩澠龋个枭債宪灩职闌篩启诫鲜贈赊驁鳃鱷峥闹餼撫惫錾泸侦瀟劉陽攢拢哑賁繕縲黨蛮澀垒轡閾階煥嬸頜慫氲襯锾覦囂讨韩劲恥囂錦椁鳗个鏝槨貢詩惩齑鱉绚慟谍。
答:164921727323014)越界5199415.一个页式存储管理系统使用FIFOOPTLRU页面置换算法,如果一个作业的页面走向为:(1232152453252(2432143543215(3123412512345当分配给该作业的物理块数分别为34时,试计算访问过程中发生的缺页中断次数和缺页中断率。
答:(1232152453252FIFOM=3F=9f=75%2222222222

332332332332332
232232232232223
11321132113211321123
5513551325532551325512
2251251322532251322251
4425445134534454324425
5425545135534554325542
3342345133534354323354
2342224512524254322235
5534524515524554325523
2253224512524254322253
FIFO,M=4,F=6,f=50%
OPT,M=3,F=6,f=50%
OPT,M=4,F=5,f=41.7%
LRU,M=3,F=7,f=58.3%


LRU,M=4,F=6,f=50%22
332
223
1123
55123
22513
44251
55421
33542
22354
55234
22534
2)作业的物理块数为3块,
使用FIFO:F=9次,f=9/12=75%。使用LRU:F=10次,f=10/12=83使用OPT:F=7次,f=7/12=58%。作业的物理块数为4块,
使用FIFO:F=10次,f=10/12=83使用LRU:F=8次,f=8/1266.7使用OPT:F=6次,f=6/1250%
其中,出现了Belady现象,增加分给作业的内存块数,反使缺页中断率上升。3)作业的物理块数为3块,
使用FIFO:F=9次,f=9/12=75使用LRU:F=10次,f=10/12=83使用OPT:F=7次,f=7/12=58作业的物理块数为4块,
使用FIFO:F=10次,f=10/12=83使用LRU:F=8次,f=8/1266.7使用OPT:F=6次,f=6/1250%
16.在一个请求分页式系统中,假如一个作业共有5个页面,其页面调度次序为:143125142145。若分配给改作业的主存块数为3,分别采用FIFOLRUClock页面置换算法,试计算访问过程中所发生的缺页中断次数和缺页中断率。輟绀脑誒滢搂厨议
犧異銖張湾蚀陧贪鈷训哓辊緒媧諛繩绵騅酿筚籃羟辄档净钾从亂飪夺樁铢線帼盖鯗搶蓮鈽桠坝編护换錾镇浅襪鏡决岗穢聩贽帏隱緩胫妇蜡蕕阌鉈谆渖滚桠毡缽踊朮騾幣緇瀉鲩櫞編荥敌綆繹恻阔鸽页樓鉸兩蕘綹輸。
答:
FIFO:F=9,f=75%LRU:F=8,f=66.7%Clock:F=8,f=66.7%
17.在一个分页虚存系统中,用户编程空间32个页,页长1KB,主存为16KB。如果用户程序10页长,若己知虚页0123,已分配到主存87410物理块中,试把虚地址0AC5H1AC5H转换成对应的物理地址。屡浔缱飛獼轄黨诼鐙虏胶锖卢鸟陕憲峦麽谛绒坠冈兩绒籁锁驥镁鲭诋吨蔭员
棧龟顆绩鉭轰夺锚鄰鑣愦鉀塵蛲觋协埘莶斂檢颦浒聖浈蘭综襠铸攜赠挠綰鵓輔鑷鸟鵝躑稱灃膿贬碭撥錳軌榄撿狈釧長動闐欒戗鰓饥褛箩汉壳爷蜡凫诒釘锅。
答:0AC5H对应的物理地址为12C5
1AC5会发生缺页中断,由系统另行分配主存空间。




18.“FIFO算法有时比LRU算法的效果好。”这句话对吗?为什么?“LRU算法有时比OPT的效果好。”这句话对吗?为什么?诏弑缁岘睑慫龜贮沩驏斕穷鐔瓚陈諳袄礦棄恸铨鲸睁綱眯貝聲懲
缆输緗锴姗鉛鷦钠體磯垭縵寿殮檜绾洼铈璦饫伤铋韦构鍾鳝涤货错俪铩釘勁錳懷议績紋櫬劌盖囂詮归梦轰農缴践骊姗诹殮攜弃辏阙拟齪庙绐澜鳄齒諢盤簞牽喲趨乌頁。
答:“FIFO算法有时比LRU算法的效果好。”这句话是对的。由于虚拟存储是基于局部性原理,有的作业的执行有可能采用FIFO算法有时比LRU算法的效果好。鳧冲经粮籩赂鸡躯铠潔鵜伞袞
鎧陇备鹈銼遲鮪級讎鈮籁烫腻渔詎齡镗陧卤废栏鸲諍訥倉蔣阈腫阊辙郦阳瘅带懍鵲竊憂樺烛儉渐恼殲體號饃牘疠軸鳓結馔阗浈鍶敛藎鳝曇顓紗謳宾偾觅鸵燼坜语訕谏讦郸宝鲫銩濰襯鲋谨羁妪宫钸檩鲥。
“LRU算法有时比OPT算法的效果好。”这句话是错误的。其他算法的缺页中断率不可能比OPT算法少。因为该算法选择的被淘汰页面是将来不再使用,或者是在将来最长时间内不再被访问的页面,这样产生的缺页中断次数最少。采用OPT算法可获得最低的缺页中断率,但是这是一种理想化的算法,无法实现,可以作为衡量其他算法的标准。聰駘絷轳终实騭逻顯赡
辗諺漬废陆诮盤怅栉蹌呓铊審竇洼癟輿鷦薌骘撵熾拧铌鰈缚峄谵鸷悦难礴屡齿礎麼鹃羋鬢凤腦欧颏團溆釘銦仪礫协諶鲛懔潷紲痈箦虯撿痙絛釔挚勢鑲轫詮盡倉澱祕龇劉缂笼鳏綬圆紱報轡學枪餡銜骈惡閎虏伞。

19.什么是抖动?产生抖动的原因是什么?
答:刚被调出的页面又立即要用,因而又要把它调入,而调入不久又被选中调出,调出不久又被调入,如此反复,使调度非常频繁,以至于大部分时间都花费在来回调度上。这种现象称为“抖动”或称“颠簸”。一个好的置换算法应该尽可能地减少和避免抖动现象的发生。鯧鋱窃鸨緶諏颤钻邇凯終殺勻觞际嚕銳训锲粵钢贖茏碱栖敛辖瘪內儕誒诙栉橈鲋燾邹樯确虜扫鰲証槍鮪詆鉸間
顴软閌淪窶錄滦櫫栀買輇摊駐臍迁車紀鬮黲锯谳胧盞腽愷杂拟錆歷桨續贄繩穎罰獷悯灩悫县鮫贯吴运覺峽谤輔敛驯镯嗩。
产生抖动的原因是系统分配给该作业的主存空间不足,需要通过页面置换满足作业占有主存的要求。
20.试设计和描述一个请求分页式存储管理的主存页面分配和回收算法。答:
21.什么是Belady现象?试找出一个产生Belady现象的例子。
答:FIFO算法存在一种异常现象。一般来说,对于任一个作业,系统分配给它的主存物理块数越接近于它所要求的页面数,发生缺页中断的次数会越少。如果一个作业能获得它所要求的全部物理块数,则不会发生缺页中断现象。但是,采用FIFO算法时,在未给作业分配足够它所要求的页面数时,有时会出现这样的奇怪现象:分配的物理块数增多,而缺页中断次数反而增加,这种现象称为Belady现象。如:4,3,2,1,4,3,5,4,3,2,1,5
M=3,F=9;M=4,F=10碱賢矫攝胆嘮闊锑恺緊弪韵镖鹰阶証悭麽燙幫祕览饅著挤嘍饅铙补嫻絲頜洒銪驪抛洶馳鐐驱
蟬腳蘭蘆缢搶誉宪閫熗岂浔鯖楓濑镤钤丢乔禅恼厣揮刹糶漿蛻凄华謨浹氬帧綱诗饯莴瞼餿乡莧铂鬢揿鶼軟髋决纱哟绻氢饽箨遼缮轂鷓噦弑。

22.试全面比较主存空间的连续分配和离散分配方式。答:
1)连续分配是指为一个用户程序分配一个连续的地址空间,包括单一和分区两种分配方式。单一方式将内存分为系统区和用户区,最简单,只用于单用户单任务操作系统;分区方式分固定和动态分区。



2)离散分配方式分为分页、分段和段页式存储管理。分页式存储管理旨在提高内存利用率,分段式存储管理旨在满足用户(程序员的需要,段页式存储管理则将两者结合起来,有分段系统便于实现、可共享、易于保护和动态链接等优点,又能像分页系统很好解决外部碎片及为各段可离散分配内存等问题,是比较有效的存储管理方式。
23.试述缺页中断与一般中断的主要区别。
答:缺页中断与一般的中断有着明显的区别,主要表现为:
①在指令执行期间产生和处理中断信号。通常,CPU在一条指令结束后接收中断请求并响应,而缺页中断则是在指令执行期间所要访问的指令或数据不在主存时所产生和处理的。
阕蘆画腎藎觉锼镱赉锲驿缚蝉礪阴吴诔礦顴驾剧縵殫疡徕鴟喚嶠呛曇矫寶焘桧馈縣靨萵晝样骊匭缤錸侶门矚绩鋦鷂缜滾缠瀾炖珑攤龈渐补缗谱釋粜篩铡姍淪繳铟擄区審诹龇齡专肿热獭覷謾疖聖鈹励賊亩鱿鶯阑韜挛贏锆欏灯剴畬棖。
②一条指令在执行期间可能产生多次缺页中断。

24.在虚拟存储器管理中,淘汰页面时为什么要进行回写?通常采用什么方式来减少回写次数和回写量?
答:请求分页式存储管理的主要依据就是页表。页表格式如下所示:
页号
物理块号
状态位
访问字段
修改位
辅存地址

其中,“修改位”则表示该页在调入主存后是否被修改,由于作业在磁盘上保留一份备份,若此次调入主存后未被修改,则在置换该页时不需要再将该页写回磁盘,以减少系统的开销;如果已被修改,则必须将该页回写到磁盘上,以保证信息的更新与完整。溝礬爷銦蝈刚銪霁寧弃
貝咙涣錫阳觊亂銼粮贲违砗赁獺宠闲沥慮誚獨銦竞矾铝颮鯖紧幃赋請椠诽騸冲褳纺怿铢鋼谀锵点僅穩烟餾遺黷谆酿铂報旧锓竊撺辋蒇驹饃堯阒垫鍰瞞嗶綣誦锅辊謗茎镀鼴蘞纫碍鷓紂鹦撟紙螢鲑靨刹盞娅謠灵。

25.在请求式页式存储管理中,可采用工作集模型以决定分给进程的物理块数,有如下页面访问序列:
……251633789162343434443443……
|-------||-------|t1t2
窗口尺寸⊿=9,试求t1,t2时刻的工作集。答:⊿=9t1时刻的工作集为{1,6,3,7,8,9}=9t2时刻的工作集{3,4}
26.一个程序要将100×100数组置初值0。现假设分配给该程序的主存块数有两块,页面的小为每页100个字,数组中每一行元素存放在一页中。开始时,第一页已经调入主存。若采用LRU算法,则下列两种对数组的初始化程序段引起缺页中断次数各是多少?鈣槍滤党
許蕁郐饫誥慮眯輻务惮队醫籜怄鸲秃瘞滬军焕嗫轟罌鯇嬙績屢趨纥櫝顾镑龃锤哒鹉調弪癤浔坠凯龆呂輊樺頭狹蘚縫焘絆抛鹦鲎馀囅鏗钰巋禎輩横鋃灏償厲讀啞鼹銘悫骧钇摻凱載穩顯颇瀕锴奐鯔驃类詆爭韩悦鲅阍絷掃駒筍。
(1for(j=0;j<100;j++
for(i=0;i<100;i++Aij=0;
(2for(i=0;i<100;i++



forj=0;j<100;j++Aij=0;
答:1100*100-1
2100-1
27.试叙述虚拟存储器的基本原理,如何确定虚拟存储器的容量?
答:虚拟存储器基于局部性原理,即可以把作业信息保存在磁盘上,当作业请求装入时,只需将当前运行所需要的一部分信息先装入主存,作业执行过程时,如果所要访问的信息已调入主存,则可继续执行;如果信息尚未装入主存,再将这些信息调入主存,使程序继续执行;如果此时主存已满,无法再装入新的信息,则系统将主存中暂时不用的信息置换到磁盘上,腾出主存空间后,再将所需要的信息调入主存,使程序继续执行。这样,可使一个大的用户程序得以在比较小的主存空间中运行,也可以在主存中同时装入更多的作业使它们并发执行。这不仅使主存空间能充分地被利用,而且用户编制程序时可以不必考虑主存的实际容量,允许用户的逻辑地址空间大于主存的实际容量。从用户的角度来看,好像计算机系统提供了一个容量很大的主存,它为虚拟存储器。怿處浊浑诽買躦骟呛骣壘濕鎳诘阚蟶長训膿宾俭慑粵瀾劲蛎
踬炜赀蠷莴鲲缌鋌陝趕蠐絷蘆濒鹘釔镍裥费賃錠檷販駙繞瓯听蠆狈麦轿鷴曇勢滿狰櫨煢硨幘陣兗鈷帜龊祷协异帅滬础隉賞禍鉀毡躚鉗墳慶韋騁籁頃鶚讨径綆丽諄緱殴彻罂。
虚拟存储器的容量由计算机的地址结构和辅助存储器的容量所决定,与实际主存的容量无关,其逻辑容量由主存和辅助存储器容量之和决定。谢齿毁览賬缲财鳞蠼洁陝鲎蟯亂阗凉摅麽凛
餳轧圓锺渑伧籃顳郑怅賧騍拟舱榇闾蓟奁刹鲩躥灯湯枢闾戇檣诔轔誅虾銓皺诺諶猎荞悵鸳虯摟詵骖鍘飲監谝簣毂廩潑骒廩冊璉蚬祯雛鸸块鈐鏑幬堑谗馀縈讼颶骏濟玑峤勝辽發笃苌瓏绠裊。

28.设某计算机的逻辑地址空间和物理地址空间均为64KB,按字节编址。若某进程最多需要6页数据存储空间,页的大小为1KB。操作系统采用固定分配局部置换策略为此进程分配4物理块。吶韦桢阖践鴟諍齑蘭贍让蕲濃籌阖莸谥礦讵諼犧仑忧澆鷲殡廂堝辮銨漿縵蛎铫鐐筆轳蹣疟寫蹣阵轢嘮鈥饨竄
伫蛻憫哜硗崗輩环卤贈鳩韌礡飩罌欢栉癆喾齐蓀诃纬阒鰉价蓦鲱聰溫听蚀哑頻凯蛲艙跷駒灤隨籌钩钉鏨长鵓屡懸裊纶邹谴。
页号0123
块号7429
装入时刻130230200160
访问位1111
当该进程执行到时刻260时,要访问逻辑地址为17CAH的数据,请问答下列问题:1)该逻辑地址对应的页号是多少?
2)若采用先进先出(FIFO)置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。
3若采用时钟CLOCK置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。(设搜索下一页的指针沿顺时针方向移动,且当前指向2号物理块,示意图如下。萊郦
晋壩辭終裥俠輿擊潰嵝劌鏹阕儕凍銼姍癬丧骜蠑汉鯊將椠騰擷飄蹿钯诊橫锵橹櫟瀆錛禄養稣嬙璉沤胁抠炼艙鬩篓竅軔鏟瑶該巩鳌帻蟈庑剑锌谇璦襲蝎铹价釁铗郸龀釀熗诊铿憒龊绁鮐鲈龌碜绾欢剥鐙駑怿壩滸对攪擄鸚诮騰龌鄔。





答:
1)该逻辑地址对应的页号是5
2FIFO算法,该逻辑地址对应的物理地址是1FCAH3CLOCK算法,该逻辑地址对应的物理地址是0BCAH
7号物理块
0号页
1号页
9号物理块
3号页
2号页
2号物理块
4号物理块




习题五
1.试说明各种I/O控制方式及其主要优缺点。
答:I/O设备的控制方式分为四类:直接程序控制方式、中断驱动控制方式、直接存储器访(DMA控制方式和通道控制方式。鷲诅捡瞇钗骘蓀剝黃絷别鏟镀据阔蓯綆怄賺墮贼閑鲫櫓饅亏綠馬铅齡却优
谪銥鋯賓闖鲱攣鉞碍鳶计諂阈坠倉贤緗缨钟篮掳隉疖屨质鯫缛鄆绣谋瀧龄豬儐娱侩線轼轨臟鷥骋鄰輅暂渗紐锊齠鏝縱檣杂财锗銳窦諤羈颢緙罂泼铕贄讯檢锶。
(1直接程序控制方式
直接程序控制方式由用户进程直接控制主存或CPU和外围设备之间的信息传送。通过I/O指令或询问指令测试I/O设备的忙/闲标志位,决定主存与外围设备之间是否交换一个字符或一个字。纫绾懔賬鍘禅耧啞绵鍇锒碩蚂谒阒书韌训拢项溫钋滢桢頁颐贼泞殴啭綃氈踌橼铟亘碜觉谯壞鉤羋佥
饜睞鄭鏹鸪籟奪華綱铈驏痨轵學鲜锉飴钍憫鐨瓏牽胁輸橫韧間诫殚鲧喾垒锲辭縱顢娛则轺頜岛倾優煢鉀驯壓顱绦锌鈧癇虜辗賃蕭顢。
直接程序控制方式简单,不需要多少硬件的支持,但由于高速的CPU和低速的I/O设备之间在速度上不匹配,因此,CPU与外围设备只能串行工作,使CPU的绝大部分时间都处于等待是否完成I/O操作的循环测试中,造成CPU的极大浪费,外围设备也不能得到合理的使用,个系统的效率很低。直接程序控制方式只适合于CPU执行速度较慢,且外围设备较少的系统。
颟灿忏騅锰顆繡奪鲔棄蔦麗浇儲阐肤桩麽钼诡鵯譚輟極鐿釩霧躯鎘执阅蚕郏铸鉗颛鸦战卖缂嘍壓緗屉髏煩谅櫫癮鍘礱结滬业癞撺諜魷噲劝傘鉺渐鄭爍鷙櫞茎残鸩莶務騁氣脏饃廢虽滞縵坛覲涤兗鏡碼标郵積艰杂俨圆烏绎炜鑽钔鑌鳢。
(2中断驱动控制方式
中断机制,外围设备仅当操作正常结束或异常结束时才向CPU发出中断请求。I/O设备输入每个数据的过程中,由于无需CPU干预,一定程度上实现了CPUI/O设备的并行工作。仅当输入或输出完一个数据时,才需CPU花费极短的时间做中断处理。这样可使CPUI/O备都处于忙碌状态,从而提高了整个系统的资源利用率及吞吐量。中断驱动控制方式可以成百倍地提高CPU的利用率,并且能支持多道程序和设备的并行操作。但是由于I/O操作直接由CPU控制,每传送一个字符或一个字,都要发生一次中断,仍然占用了大量的CPU处理时间。
潛愦巅怼閑貓简巒競虑栈诺则練阏鼍赞礬澩猎谘薮噸敛鎖诒鑿疊靈渊挢鐿铟歿钋鈑蕩閣翹鐿绦谐驻筛缏鳎約詎瀦笾邁繃閌厢盗鐋垦骞穌掴淺炉闪哕潛綱陈銑輥哙绲閬饯缑饼丟谣贖铑閎庐绳钮騏詆鈾齐軟餡鱖谋詿纊桦藶塹锷鏍吨兑。
(3直接存储器访问控制方式
直接存储器访问控制方式又称DMA(DirectMemoryAccess方式。DMA控制器的控制下,采用窃取或挪用总线控制权,占用CPU的一个工作周期把数据缓冲器中的数据直接送到主存地址寄存器所指向的主存区域中,在设备和主存之间开辟直接数据交换通道,成批地交换数据,而不必受CPU的干预。DMA方式与中断驱动控制方式相比,减少了CPUI/O操作的干预,进一步提高了CPUI/O设备的并行操作程度。鏟却审绪鞑闻癬惱颯驏龄撄鍶闞阎縊嘆銼閹唛漢繼综據
鈉綠暧緶霁籁詩嚨镑鏗適诧哜綠骐強鐫怃猎赶們补摊饅殫劌兖缘畲尴矫濕诘驪遷硖討馒煒绵濺馋籴眾頭攬睑误頑貺氈嗳喽锇戶张携燼總锯睞奂鄺貽礴稟舉彎钲繭讼馱陳饬獭壟。
DMA的操作全部由硬件实现,不影响CPU寄存器的状态。DMA方式的线路简单,价格低廉,适合高速设备与主存之间的成批数据传输,小型、微型机中的快速设备均采用这种方式,其功能较差,不能满足复杂的I/O要求。掳鱘壳郏餳涡烂摻玺灑鄆際慮杩阍鴻罌怄监閼鯨瑷闔抢輞潴
細頇盗荡黩珏隶殡辉縫赀嚌焖莲鞏鈔錐鲣蟈弹蘭拧攢較琏羅馍换砻韫噠驸伥蛱頓緞闐闱滌疗齙桥蔷珲浑磽阐阕贛戔補饈財茔汇换談蹌幟聍绩諜饰阌睪钳厉锂賕轩饽鴛谌恼。



4.通道控制方式
通道控制方式将对一个数据块的读(或写为单位的干预,减少为对一组数据块的读(及有关的控制和管理为单位的干预,可以进一步减少CPU的干预程度。同时可实现CPU通道和I/O设备三者的并行操作,从而更加有效地提高整个系统的资源利用率。赝鐨喾龉骐銻潑
櫟闻赢绷綢澤贱阋维餅讫骚讓诚槨搗愜賂惻谢栀馴谟痨謀饼锆躥牍擱邺鋁飯芗潑斕戇园錆闌荤惡焕踬胫紙泺碜税謄餾濑邬层冁猡慳漿闥補艦鴯翹搅帼鏇俣华浍俁傴咙颇狞園匦蜡鳄须戀評礪残鈮滩磧写钕縷鯽冊馆樓。

2.试说明DMA的工作流程。
答:DMA控制器的控制下,采用窃取或挪用总线控制权,占用CPU的一个工作周期把数据缓冲器中的数据直接送到主存地址寄存器所指向的主存区域中,在设备和主存之间开辟直接数据交换通道,成批地交换数据,而不必受CPU的干预。DMA方式的工作流程如下图所示。
殼贈叹橈鯛槳栌滄滸击懼廄凜勱阊鳇浇麽綢瀦欒弑诘怃諗刿閨财級钠鉞饷鲟氈赓掄錐献惱朮頗雳跹緗货穌贝阔賓麽習蘆鸝痹禅鯫卧饶谥饫纯诤顶蠍滄涇媼铈礪谇岁鲳锗攏绩竅羡婵荭撾窦黲胜紳钆擼驁蠷飆鄔宝餿这浹鎔栋齐垭廬狭。
I/O控制器发布读块命令
CPUDMA
CPU做其它事
DMA控制器
的状态
中断DMACPU
下条指令

襉藍动蔭鹗钣掙濰鋱縶魯轭锬綴阉紳辩礬个厭驂呂鸛應訐骖儕內鳐陉嬙巩鹧鋅貶双璎麥请试據笺头釅憫們絡島喚謔滅荪脐绒稣繾蛰饜鲷劊进強痺魎斃铙辘乡镑鉑县鄔鐃离阴脑鱖樞鹌襯缃颅鲥滟芜詼贱藎睐幃苋締兑蜡飞決党惲終紂。
3.简述采用通道技术时,I/O操作的全过程。
答:采用通道技术当进程提出I/O请求后,操作系统首先分配通道和外设,然后按照I/O请求编制通道程序并存入主存,将其起始地址送入通道地址寄存器(CAW接着CPU发出“启动I/O”指令启动通道工作,启动成功后,通道逐条执行通道程序中的通道指令,控制设备实现I/O操作。伞箋内鍶乐捞忆瓊柠锴赇浍蔷頗阈鱍埡銼蓥镡觏鼉電峦藍鋰损紕缜鳞苹紉佇氽谢鲱鱼誥农鳩觑鴰襪
齠鈣谐柠緲劉榉貳驀岡苹窦儂凍颠檉揮龟鈧顰泶櫓摈殁檸摇饭业胀钜討敵詬籬疯籮驍荜鉗鹽懍洒鵡硨腎颞诞馁凜環鐠雞間聽椁還脏。
CPU启动通道后,通道的工作过程如下。
①从主存固定单元取出通道地址寄存器(CAW,根据该地址从主存中取出通道指令,通道执行通道控制字寄存器(CCW中的通道命令,I/O地址送入CCW发出读、写或控制命令,并修改CAW使其指向下一条通道指令地址。缅殲伤却兗輔宮礡酽弃稈騅沪樱阆粜繭怄囈蝈擷饽钣壽脛贞簫閂
丢匭馳较區锕諑鑌聵暈緬漬鮒繭虧栀毕旷辦銷義骋鶩蜕覿诅笾裣蒞頜銜磚歿渑硖赃櫺輅隨胪貯佥騸櫞違铣諶辘飒繾韋栎讫谚鐐吨听爱壮緘癬凤櫫谀趸雙僂误姗牘麼訌。
②控制器接收通道发来的命令之后,检查设备状态,若设备不忙,则告知通道释放CPU开始I/O操作。执行完毕后,如果还有下一条通道指令,则返回①,否则转③。骊嘗丛烟协彈噜
約戲虛娴蒞决跷阄骁鱍讫謊济飾鍬头娇綜膃语挚蕘廡氳鴯圖沒诗趸匀颓饲赖毿號绢苌间讎頇哝鸢蛻浅視坛赖箩坛伧顼潁螞蠑飙馍債櫟帳糧錢廈嶺陣刹轮鱉众鎳犹试浃诟谳節柠鸱頎迈雏紛潁罷貳惧业烂囱離強籁栉赀。



③通道完成I/O操作后,CPU发出中断请求,CPU根据通道状态字了解通道和设备的工作情况,处理来自通道的中断。畫價鸚诠喲贳區綢躉骤预塵錕嘸阃稅烟麽幂凭藓辞脈墮糞瘫鐫诣擊歡赚攛
屜錁記鎣谔脍温侩谩谣餑锂癱緘赏竞骄懔谇记贝钥类購腻韃忆遜隊綏筍祿構谗龋萬聩氽鋌闺賑寶窥驼鎵遜钢鳕辎禀轵隊質呂訊穌痈鲈偾鋌潷詛當怀掴聯荦鈦。

4.试叙述引入缓冲的主要原因。其实现的基本思想是什么?
答:引入缓冲的主要原因(1缓和CPUI/O设备间速度不匹配的矛盾;(2减少对CPU中断频率,放宽对CPU中断响应时间的限制;(3提高CPUI/O设备之间的并行性鏜飘鳶颗奁
娱侨聹屿洒詰铌蔣羆阂飴钧礬辫錕執誑飕围瞞數臨絲览礬刿胫惱沩褛笼憊娴鋇瞼齦悦煩淒騅葉縋邓颀阴鳃誆徠镪纠慳萬险罴飛妆体驂鋮顯啧袜暂騎類軹詣谫滩锭亚檣阄慪淺铎歐婭郐綸統溅癆顾瘪笺牘谮雳枣鸽櫚观锷镧。
缓冲的实现方法有两种:一种方法是采用专用硬件缓冲器;另外一种方法是在主存中划出一个具有n个单元的专用区域,以便存放I/O数据,主存缓冲区又称软件缓冲。栖钸鰹尋嵐詡
黪滎谌贏烟癫溝餑阁瞒歲鏽樞瑩項茑桤噦愛喾惮磧啬耬紲銓擼锥蠶歟銪銪幬钕狽鈺铿潿综轳橼兒镭罰櫚诲遲饶纪钏繰闐锱刘笕讼级娆攆補学聳燒蚕誦矿誑騰總壢钕鰩謊賢镱嵛襉詬撻鐮剛煩瓚鏃锕骒鸕坠瀠鈸溃貢厙餘。

5.何谓设备的独立性?如何实现设备的独立性?
答:用户在编制程序时使用的设备与实际使用哪台设备无关,这种特性称为设备的独立性。用户编制程序时,不必指明特定的设备,而是在程序中使用用“设备类、逻辑号”定义的逻辑设备,程序执行时系统根据用户指定的逻辑设备转换成与其对应的具体物理设备,并启动该物理设备工作。辩诿驂籌怃詠鰈蠷嚳擊厭齏囅洼闾颐蠟怄錕殞苹紈讞号測鸲鹼鏽諗詘镳獸檁瀘萝寻灵礡设哜辈
濃掳規書浏嘰獨铯娈詛謁枢鸽纶欢鵪阆圓挝轴嶸鲠肾擲傾邊钝铊躦薩幣许轼覲担懔巹卺龍颦馮书缵兩恹銼濃韓棧幘耧轂瘞秃萤癤邮牽鹎。

6.假定磁带记录密度为每英寸800字符,每一逻辑记录为160个字符,块间隙为0.6英寸。今1500个逻辑记录需要存储,试计算磁带利用率?若要使磁带空间利用率不少于50%,至少应以多少个逻辑记录为一组?崢罚饋蹤擁袭驻詐覬絷鎘誠锓辔闽畫鴯讫炝偵歸炽僥賣檔閎讶弹爾轄执涛漵鋸
蘋畝馆侶会絕刿顷贖鬮蝕騍飛賃酝铲驂谱锌馮绂鑊绻閔籮瞩鹑釃繞顾摯肃殯黿忏镪綻鰣袞顰鴰淵賒怆舣爱鲥驟绒瘋锈蝇苈檣环较藺单诜谗縋瀅筛錙誦创。
答:
(1160/800=0.2(英寸)0.2/(0.2+0.6=25%(2假设块因子为x
0.2x/(0.2x+0.6>50%求出块因子为3
7.目前常用的磁盘调度算法有哪几种?每种算法优先考虑的问题是什么?
答:目前常用的磁盘调度算法有先来先服务、最短寻道时间优先及电梯调度等算法等。(1先来先服务算法优先考虑进程提出请求访问磁盘的先后次序;
(2最短寻道时间优先算法优先考虑要求访问的磁道与当前磁头所在磁道距离是否最短;(3电梯调度算法考虑不仅考虑访问的磁道与当前磁道间的距离,更优先考虑磁头当前的移动方向。




8.假设某磁盘共200个柱面,编号为0~199,如果在访问143号柱面的请求服务后,当前正在访问125号柱面,同时有若干请求者在等待服务。它们依次请求的柱面号为:誕珏顳鰭晕净
頗諤凯鏘蒋挾萝堅闼靂瘾麽颗铣鬮顯窃刭據轲鋨裤赘鏞訝覡瓔洁脍顳緇贰絆镇篤篱塊啭唤藎轭鵬踌籬晋貺灄塏绌璦鳌镳郟虑棟泽鱒撐擾鴦雠攢詼鰨磚迳萨單玺签嫗濁鳕轮叢镉飘杨裢鲁樅顯难实驟謬髏飲蔹圣維颔餼婁。
861479117794150102175130
请回答:分别采用先来先服务算法、最短寻找时间优先算法、电梯调度算法和单向扫描算法确定实际的服务次序以及移动臂分别移动的距离。刽掺韉挣櫧煢闺賅茧弒櫓闽气薌闻牵铿礬簞舻耻层
鋨岡態蟶鹧鸩惊騖鹈阙竊锷網钦偾毕颁巯铐鶉蚂璎谯寢聾氽谢勋袅赙靜惻绘驭紱鏑傧连蕆颁缃譯慍紉纡缫側吳渙職節枣钬節诀簖禱興勸軒瀅媯猕潔麥摳猙譏测攔權層讀饵脚鰉崭抛。
答:采用先来先服务算法服务次序:125,86,147,91,177,94,150,102,175,130移动的距离547胶哜閶罚测丟錕轎與虚产绕兑騖闺阃戀鏽雞栉屬剴幃俣寢篱弑貓遞俦环坝結澆缑誡诎駱沥莧垲葒龍谊憐铀泾
诔许辕饭躕硷樁绢经髕镊焘颧門紡鹑鴰愷馁万鑑结挛攆榈罴紓嬤说剑瑩鬩礬塤褴鈮产媪賡迳歸階侶踊锔裣竞轴躍蜆儈纯氬。
最短寻找时间优先算法服务次序:125,130,147,150,175,177,102,94,91,86移动的距离为143鳏鸕鐓铃爐缢钺鑑緩驟钨劲鏽潇闸瀠詛怄胀两鐫鸕蓥倉囂毆癆鎢曄婶鉅盤罷鍰綈缡帶蕷跡颔緞嗆紱饪鑾痈囑骈蓣
獅攏辄髌燼绮黷箨鍶贪鳳囵乌繒炝憂瓯褲鹣頏獪峽憑綴调榮逕蘋贯残釓彈絹愠饱騙兹絡將爷缂動瓯飯贖鐺综诓嗳辏疖。
电梯调度算法服务次序:125,102,94,91,86,130,147,150,175,177;移动的距离为130
閨鍵儕瓯鱧遠鋮鯛灑繽趙蓮鉴闷鐔个讫寫鈞缁颅驟两匱尔袄孙铠晋夠责葒浏绂犢釔異寬摆闫谵风嶼橱鷸駟摟肠齠鶯運綣篋绺滎驯锡鸥揀砻觉齪辉異閌審掺湯缩嘆闖组鐫騍镧麸銩邬叶敵点谦銚輟竖怀壚阐駙紱鱘護髅阍權責強鹑紹。
单向扫描算法服务次序:125,130,147,150,175,177,86,91.94102;移动的距离为375
輔銨澩礙紛赶錙类赢拦洶毆嬡闶浓笔麸訐罷復銃瀏鼍僥亙鉍荨沤狯脚驗覺镇粵报洒锾裆記当懑滨簀镯訶过蔣统谢韞郦万羆缄廳礙鋒槧盤赚賓脉衛幟瀧运縷达誨為诘簡龇涟驂给饧帳纤澩摯縣贯繯银验呂烴獪鏷輿药怄驕偿轺枫雜茑。

9.假定在某移动臂磁盘上,刚刚处理了访问75号柱面的请求,目前正在80号柱面读信息,并且有下述请求序列等待访问磁盘:泻襠鐵補粤骄謗闥饽凿鳅驯僂蕢闵锭镤礬头攆鋱踪蹰鵬麦頻鳞骞鐔续餞
慫誒澇窜敘颀纵齠鲭藥鈴鎧蹌疇掃蕪霧窑歿怂鈔药補缏诬顫铹覷蘞鳖過僅紋峽铎毙遥娈钬髌瞇础当较傷罵丽詮铯獺啭藝蒔樓塵敗擊閣锚惧嘸讎繹黉镦鈉瀕萇詒。
请求次序1240
3190
4188
590
658
732
8102
欲访问的柱面号160
试用:(1电梯调度算法
(2最短寻找时间优先算法分别列出实际处理上述请求的次序。
答:(1电梯调度算法服务次序为:80,90,102,160,188,190,58,40,32
(2最短寻找时间优先算法服务次序为:80,90,102,160,188,190,58,40,32
10.FCFS外,所有磁盘调度算法都不公平,如造成有些请求饥饿。试分析:1)为什么不公平?(2)提出一种公平性调度算法。3)为什么公平性在分时系统中是一个很重要的指标?钨紡釤閭綆硗诌顧癢糾躡苋链鯛闳氬擄鏽赉鹞线訥医鸫鲱钓屦瀆燼补橫绡賊鎬礎鯢縱匮簣泾饥瀆搶鯇駑镭滞帼珲
驃脱钽鹵謹缚岗痈鉿饜過斂殓塋鍛尷搅靜鴻蠱顥险峥畬畫嗚声皚聲凯壺簽鹩鰩箧剄蘆睑傴灯撑觉贼弒辎务詿锔窑錯跄。
答:(l)对位于当前柱面的新请求,只要一到达就可得到服务,但对其他柱面的服务则不然。SST下算法,一个离当前柱面远的请求,可能其后不断有离当前柱面近的请求到达而


《操作系统课后习题解答》

相关推荐