自考操作系統(tǒng)簡答題2004-2019年
1,虛擬存儲技術(shù)的基本思想和目的是什么?
在硬件的支持下對內(nèi)存和外存統(tǒng)一實施管理,利用大容量的外存來擴充內(nèi)存,產(chǎn)生一個比有限的實際內(nèi)存空間大得多的邏輯虛擬內(nèi)存空間
利用虛擬存儲技術(shù)的目的是有效地支持多道程序系統(tǒng)的實現(xiàn)和大型程序運行的需要從而增強系統(tǒng)的處理能力。
2,請闡述實虛擬存儲器需要哪些硬件支持
系統(tǒng)有容量足夠大的外存;系統(tǒng)有一定容量的內(nèi)存;硬件提供實現(xiàn)虛實地址映射機制
3,簡述虛擬頁式存儲管理的優(yōu)缺點。
主要優(yōu)點:由于其不要求進(jìn)程的程序段和數(shù)據(jù)在內(nèi)存中連續(xù)存放,從而有效地解決了碎片問題。提高了內(nèi)存的利用率,又有利于組織多道程序執(zhí)行。
主要缺點:由于不同代碼的長度不同,但頁面大小固定,導(dǎo)致每個程序最后一頁總有一部分空間得不到利用,從而存在頁面浪費問題。
4,當(dāng)每個程序在主存中占一個連續(xù)的存儲空間時,系統(tǒng)使用哪兩個寄存器來實現(xiàn)存儲保護?當(dāng)處理器在目態(tài)下執(zhí)行程序時,對每一個訪問主存空問的地址都要進(jìn)行核查,請寫出訪問地址與這兩個寄存器值之間的關(guān)系。
基址寄存器、限長寄存器
基址寄存器《訪問地址《》限長寄存器
5,現(xiàn)代計算機系統(tǒng)采用的多級存儲體系包括哪幾部分?簡述各部分的功能。
多級存儲體系包括寄存器。主存儲器、高速緩沖存儲器和輔助存儲器。
寄存器用來存放處理的工作信息
主存儲器用來存放處理器的工作信息
高速緩沖存儲器用來存放當(dāng)前進(jìn)程要使用的信息
輔助存儲器作為主存儲的擴展,用來存放大量的程序和數(shù)據(jù)
6,請敘述用位示圖方法的頁式存儲空間的分配和去配過程。
(1)系統(tǒng)有一個主存分配表和一個空閑塊計數(shù)器。
(2)系統(tǒng)初始化時,把自由內(nèi)存塊對應(yīng)的主存分配表位置只為0,另一個自由塊計數(shù)器m
(3)用戶申請n個內(nèi)存塊時,若n>m時,選擇位示圖n個“0”位
(4)N個“0”位轉(zhuǎn)換為塊號 字號 x 字長 +位號 ?供用戶使用 并置為1
(5)用戶歸還n個內(nèi)存塊i時,計算出位示圖中對應(yīng)的n個位置,置為0.
計算公式 字號=i/字長 位號=i mod 字長
7,操作系統(tǒng)采用層次結(jié)構(gòu)設(shè)計方法有什么優(yōu)點和難點?
優(yōu)點有利于系統(tǒng)設(shè)計調(diào)試,主要困難在于層次的劃分和安排
8,在磁盤存儲空間管理的位示圖法中,確定已知空閑塊地址的塊號、柱面號的通用公式為:
塊號=字號×字長+位號
柱面號=[塊號/柱面上的塊數(shù)]
請寫出確定空閑塊地址的磁頭號和扇區(qū)號的通用公式。
磁頭號=塊號mod 柱面上的塊數(shù)/盤面上的扇區(qū)數(shù)
扇區(qū)號=(塊號 mod 柱面上的塊數(shù))mod 盤面上的扇區(qū)號
9,試述能起到擴充主存空間的虛擬存儲技術(shù)的原理。
作業(yè)信息保留在磁盤上,裝入時,只將其中一部分先裝入主存運行,其他部分僅當(dāng)要使用時才調(diào)入。
虛擬存儲器的容量由地址結(jié)構(gòu)決定,N位地址容量可達(dá)2n?
利用表格構(gòu)造一個用戶的虛擬空間
10,試述分區(qū)存儲管理中提高主存利用率的措施。
采用覆蓋技術(shù),對換技術(shù),移動技術(shù),合理分區(qū),合理分配算法
11,簡述磁盤移臂調(diào)度的“最短尋找時間優(yōu)先”和“電梯調(diào)度”算法。并比較兩者主要的相同點和不同點。簡述單向掃描調(diào)度算法的含義。
最短尋找時間優(yōu)先算法?總是選著請求所在的柱面號與磁頭所在柱面號距離最近的請求的先來先服務(wù)。
電梯調(diào)度算法 先選著當(dāng)前移動向上與當(dāng)前磁頭距離最近的請求先服務(wù),當(dāng)移動方向上無請求時立即方向移臂。
相同點 :兩者均想達(dá)到磁頭移過的道數(shù)最少
不同點 最短尋找時間優(yōu)先算法不考慮當(dāng)前移臂方向,電梯調(diào)度算法要考慮當(dāng)前移臂的方向,即使反方向有請求,并與當(dāng)前磁頭的距離最近也不先服務(wù)。
單向掃描調(diào)度算法總是從0號柱面開始向里掃描,為請求的柱面提供服務(wù),到達(dá)最后一個柱面再把讀寫頭快速返回0柱面,返回后可在進(jìn)行掃描和服務(wù)
38,什么叫“驅(qū)動調(diào)度”?
當(dāng)有多個進(jìn)程等待訪問磁盤時,往往采用一定的調(diào)度策略來決定各等待訪問者的訪執(zhí)行次序,把這項工作稱為驅(qū)動調(diào)度
12.簡單敘述在頁式虛擬存儲管理系統(tǒng)中,一個作業(yè)執(zhí)行中訪問某個頁時的地址轉(zhuǎn)換過程。
(1)硬件地址轉(zhuǎn)換機構(gòu)查詢頁表,若該頁的標(biāo)志位為1.即在內(nèi)存,則按該頁的主存塊號進(jìn)行地址轉(zhuǎn)換,得到絕對地址
(2)若該頁的標(biāo)志位為0,即該頁不在內(nèi)存,硬件產(chǎn)生缺頁中斷
(3)操作系統(tǒng)缺頁中斷
1,查主存分配表,若有空閑的主存塊,則有頁表讀入該頁內(nèi)容
2,并修改頁表中的標(biāo)志位為1
3,若沒有空閑的主存塊,則選擇一項,若該頁已修改,則需寫回磁盤
4,再由頁表讀入該頁內(nèi)容并修改標(biāo)志位
13,簡單敘述段式虛擬存儲管理系統(tǒng)發(fā)生缺段時可以采用的主存分配算法。
最先適應(yīng)分配算法:空區(qū)按地址,從小到大組織,從低地址開始查找足夠大的空區(qū)
最優(yōu)適應(yīng)分配算法:空區(qū)按大小,從小到大組織,查找最小的足夠大的空區(qū)
最壞適應(yīng)分配算法:空區(qū)按大小,從打大到小組織,分配最大的空區(qū)
14,簡單敘述“快表”的作用。
沒有快表,使虛存的一次讀寫必須兩次訪問主存。塊表中存放一部分頁號與主存塊號的對應(yīng)關(guān)系。
由于程序局部性,一些經(jīng)常訪問的頁在塊表中,可快速查找,提高指令執(zhí)行速度
15,簡述樹形目錄結(jié)構(gòu)的優(yōu)點。
解決了文件重名問題;有利于文件分類;提高檢索文件的速度;能進(jìn)行存取權(quán)限控制
16,解釋什么是邏輯文件和物理文件,它們各有哪些基本形式?簡述邏輯文件的幾種形式
邏輯文件:用戶按自己的使用要求組成的文件,可分為流式文件與記錄文件
邏輯文件分類:
(1)流式文件:用戶對文件中的信息不再劃分可獨立的單位,整個文件是由依次的一串信息組成。
(2)記錄式文件:用戶對文件中的信息按邏輯上獨立的含義再劃分信息單位。概念:邏輯記錄、邏輯記錄號、主鍵
物理文件:存放在存儲介質(zhì)上的文件,分為順序文件 鏈接文件 索引文件等三種基本方式
17,簡述文件保護與文件保密的區(qū)別以及為實現(xiàn)文件保護和文件保密所采用的措施。
文件保護是指防止文件被破壞
文件保密是指防止他人竊取文件,確保文件的安全性
文件保護的措施有:防止天災(zāi)人禍造成的破壞、防止系統(tǒng)故障造成的破壞和防止文件共享時造成的破壞。
文件保密的措施有:隱藏文件目錄、設(shè)置口令、使用密碼。
18,簡述設(shè)置文件目錄的主要目的以及目錄項中包括的主要內(nèi)容。
設(shè)置文件目錄的主要目的是能夠?qū)崿F(xiàn)“按名存取”
目錄項中包含的主要內(nèi)容有:文件存取控制信息,文件結(jié)構(gòu)的信息和文件管理信息
19,什么叫文件目錄?文件目錄中應(yīng)包含哪些基本內(nèi)容?
文件目錄?是用來標(biāo)識文件和記錄文件情況信息的集合。文件目中的每個目錄項與一個文件對應(yīng)。包括文件控制信息,文件結(jié)構(gòu)信息,文件的管理信息。
20,什么是文件的保護?簡述實現(xiàn)用戶共享文件進(jìn)行文件保護的方法。
文件保護為了防止未見被破壞和非法訪問,防止用戶共享文件可能造成的破壞涉及用戶對文件使用權(quán)限,具體方法:
(1)采用樹形目錄結(jié)構(gòu):凡能夠獲得某級目錄的使用權(quán)限的用戶,就能使用該級目錄的全部目錄和文件的規(guī)定權(quán)限
(2)存取控制表?列出所有用戶對所有文件的使用權(quán)限
(3)文件使用權(quán)限,以文件為單位,列出文件主、伙伴和一般用戶對該文件的使用權(quán)限。
21,一個含有八個等長邏輯記錄的文件,系統(tǒng)將其以鏈接結(jié)構(gòu)形式組織在磁盤上,其中一個磁盤塊容納一個邏輯記錄。若該文件已被打開,現(xiàn)要求刪除第2個記錄,簡述系統(tǒng)的處理過程。 ???
在系統(tǒng)的“已打開文件表”中找到該文件的目錄信息,根據(jù)文件的地址信息,讀該文件的第一塊內(nèi)容,得到文件第2塊的塊號。讀出文件第2塊的塊號。讀出文件第2塊內(nèi)容,得到文件第3塊的塊號。將文件第3塊的塊號填入第1塊的“文件下一塊指針單元”;啟動盤把文件第1塊寫回盤,
22,什么是相關(guān)臨界區(qū)?對相關(guān)臨界區(qū)的管理有何要求?
相關(guān)臨界區(qū):是指并發(fā)進(jìn)程涉及相同變量臨界區(qū)
管理:一次最多一個進(jìn)程能進(jìn)入臨界區(qū)。其它想入臨界區(qū)執(zhí)行的進(jìn)程必須等待;不能讓一個進(jìn)程無限制地在一個臨界區(qū)執(zhí)行,進(jìn)程必須在有限的時間內(nèi)退出臨界區(qū);不能強迫一個進(jìn)程無限制地等待進(jìn)入它的臨界區(qū)。
32、什么是進(jìn)程調(diào)度?在設(shè)計進(jìn)程調(diào)度算法時通常使用吞吐量、周轉(zhuǎn)時間和處理器的利用率作為衡量指標(biāo),請解釋吞吐量和周轉(zhuǎn)時間的含義?
進(jìn)程調(diào)度即處理器調(diào)度是指根據(jù)一定的調(diào)度算法,系統(tǒng)從就緒隊列中選著一個進(jìn)程,把CPU分配給它。
吞吐量:系統(tǒng)每小時完成的進(jìn)程數(shù)量
周轉(zhuǎn)時間 指從一個批處理進(jìn)程提交時刻開始直到進(jìn)程完成時刻為止的統(tǒng)計平均時間
25.?什么是輪轉(zhuǎn)調(diào)度算法?請分析時間長短對算法性能的影響。
1)輪轉(zhuǎn)調(diào)度算法時指將處理器的處理時間劃分成一個個時間片,就緒隊列中的進(jìn)程輪流運行一個時間片,當(dāng)時間片結(jié)束時,讓出處理器,進(jìn)入就緒隊列等待下一次調(diào)度
2)時間片太短,進(jìn)程頻發(fā)切換,加重系統(tǒng)開銷;時間片太長,引起對短的交互請求的響應(yīng)時間變成
26,進(jìn)程控制通過進(jìn)程控制原語來實現(xiàn),請分別描述創(chuàng)建原語和撤銷原語的操作過程。
創(chuàng)建原語的操作過程是:先申請一空閑PCB區(qū)域,然后將有關(guān)信息填入PCB,置該進(jìn)程為就緒狀態(tài),最后把它插入就緒隊列中。
撤銷原語的操作過程是:找到要被撤銷進(jìn)程PCB,將它從所在隊列中消去,撤銷屬于該進(jìn)程的一起“子孫進(jìn)程”,釋放被撤銷進(jìn)程所占用的全部資源,并消去被撤銷進(jìn)程的PCB。
27,在七狀態(tài)進(jìn)程模型中,什么是阻塞狀態(tài)?什么是阻塞掛起狀態(tài)?兩個狀態(tài)之間如何 轉(zhuǎn)換?
進(jìn)程阻塞:進(jìn)程在內(nèi)存中并等待某事件出現(xiàn)
阻塞掛起:進(jìn)程在外存并等待某事件出現(xiàn)
當(dāng)沒有進(jìn)程處于就緒狀態(tài)或就緒狀態(tài)進(jìn)程要求更多的內(nèi)存資源時,會把進(jìn)程從阻塞狀態(tài)轉(zhuǎn)為阻塞掛起狀態(tài);
當(dāng)一個進(jìn)程釋放足夠內(nèi)存時,系統(tǒng)會把一個高優(yōu)先級阻塞掛起進(jìn)程激活,變成阻塞狀態(tài)
28,請分別從資源分配、創(chuàng)建速度、通信、并行執(zhí)行效率的角度筒述多線程技術(shù)的優(yōu)勢。
創(chuàng)建線程無需另外分配資源,而創(chuàng)建進(jìn)程需要分配資源
創(chuàng)建線程無需分配資源,因此創(chuàng)建線程速度比創(chuàng)建進(jìn)程速度快
線程間的通信在同一地址空間進(jìn)行,不需要額外的通信機制,所以通信簡單,信息傳遞速度也更快
線程能獨立執(zhí)行,充分利用和發(fā)揮處理器與外圍設(shè)備并行工作的能力
29,筒述進(jìn)程調(diào)度的含義以及常用的進(jìn)程調(diào)度算法。
從就緒進(jìn)程中選取一個進(jìn)程,讓它占用處理器的工作稱為進(jìn)程調(diào)度;常進(jìn)程調(diào)度算法有:先來先服務(wù)調(diào)度算法,最高優(yōu)先級調(diào)度算法,時間片輪轉(zhuǎn)調(diào)度算法,分級調(diào)度算法
30,簡述線程的4個屬性。
每個線程都有唯一的標(biāo)識符。
每個線程都有一張線程描述表。
不同的線程可執(zhí)行相同的程序。
同一進(jìn)程中的各個線程共享分配給進(jìn)程的主存地址空間。
線程是處理器的獨立調(diào)度單位。
多個線程可以并發(fā)執(zhí)行。
每個線程被創(chuàng)建后,便開始了它的生命期。
線程生命周期內(nèi)經(jīng)歷等待、就緒、運行等狀態(tài)變化。
31,簡述非搶占式進(jìn)程調(diào)度和可搶占式進(jìn)程調(diào)度。
非搶占式進(jìn)程調(diào)度:一旦某個高優(yōu)先級進(jìn)程占用了處理器就一直運行下去,不管此時是否有更高優(yōu)先級的進(jìn)程變成就緒,直到由他自身的原因讓出處理器,在重新調(diào)度。
可搶占式進(jìn)程調(diào)度:當(dāng)一個進(jìn)程在處理器上運行,一旦有另外一個更高優(yōu)先級的進(jìn)程變成就緒,進(jìn)程調(diào)度就要剝奪正在處理器上運行的進(jìn)程,把處理器讓給該進(jìn)程
32,簡述線程的概念及線程的好處。
線程是進(jìn)程中可獨立執(zhí)行的子任務(wù)
好處:一個進(jìn)程可以有多個線程;多個線程可以并發(fā)執(zhí)行,多線程進(jìn)程可以縮短進(jìn)程的處理時間。一個進(jìn)程內(nèi)的多線程共享分配給進(jìn)程的資源
33,簡述線程與進(jìn)程的關(guān)系。
線程是進(jìn)程中可獨立執(zhí)行的子任務(wù);一個進(jìn)程中可以有一個或多個線程,同一進(jìn)程中的各線程共享分配給進(jìn)程的主存空間;進(jìn)程是資源分配單位,線程是調(diào)度和執(zhí)行單位;一個進(jìn)程內(nèi)的線程共享分配給該進(jìn)程的資源。
34、高級通信是進(jìn)程間用信件交換信息。通常采用哪兩種方式進(jìn)行通信?它們有何區(qū)別?
有直接通信和間接通信
直接通信是固定在對進(jìn)程之間進(jìn)程通信,其中一個進(jìn)程只能想另一進(jìn)程發(fā)送信件,或從另一進(jìn)程接收信息。
間接通信是若干進(jìn)程都可向同一進(jìn)程發(fā)送信件
信件被存入接收進(jìn)程所設(shè)置的信箱中,由接收進(jìn)程逐封處理。
35,進(jìn)程具有哪些特性?簡單解釋這些特性。
進(jìn)程具有動態(tài)性并發(fā)性異步性;
動態(tài)性:進(jìn)程是程序的一次執(zhí)行過程,在執(zhí)行過程中進(jìn)程的狀態(tài)不斷發(fā)生變化
并發(fā)性?若干進(jìn)程是可同時執(zhí)行的,他們輪流占用處理器交替運行
異步性:進(jìn)程的執(zhí)行速度取決于自身與外界原因以及能占用處理器的時間,以不可預(yù)知的速度向前推進(jìn)
36,在SPOOL系統(tǒng)中為每個作業(yè)設(shè)計一張“預(yù)輸人表”,請問哪些程序要訪問“預(yù)輸入表”?簡述如何訪問?
預(yù)輸入程序和井管理程序要訪問作業(yè)?預(yù)輸入表
預(yù)輸入程序啟動輸入機輸入作業(yè)的初始信息組織成文件到輸入井,記錄在作業(yè)預(yù)輸入表中。
“井管理程序”根據(jù)作業(yè)“預(yù)輸入表”從輸入井中讀并裝入運行作業(yè)的信息或作業(yè)運行時從輸入井讀需要的作業(yè)數(shù)據(jù)信息。
37,比較進(jìn)程同步和進(jìn)程互斥的異同。
兩者都是對并發(fā)進(jìn)程競爭共享資源的管理
互斥?各進(jìn)程競爭共享資源沒有必然的邏輯順序,只要無進(jìn)程在使用共享資源就允許任一進(jìn)程使用。
同步 對共享資源的使用有一定的邏輯順序??
39,分別敘述無關(guān)的并發(fā)進(jìn)程和有交往的并發(fā)進(jìn)程及它們執(zhí)行時的特征。
無關(guān)的并發(fā)進(jìn)程?它們分別在各自的數(shù)據(jù)集合上操作,且任何一個進(jìn)程的執(zhí)行都不依賴其他的進(jìn)程,有交往的并發(fā)進(jìn)程,它們一定共享某些資源,且任何一個進(jìn)程的執(zhí)行需依賴其他的進(jìn)程的執(zhí)行情況。
40,試論述影響缺頁中斷率的因素并說明如何影響。
分配給作業(yè)的主存塊數(shù),多則缺頁率低。頁面的大小,大則缺頁率低。程序編制方法,程序局部化程序高則缺頁率低。頁面調(diào)度算法,好的調(diào)度算法會減低缺頁率,
41,簡述進(jìn)程互斥和進(jìn)程同步的區(qū)別。
進(jìn)程互斥和同步都是競爭共享資源的使用權(quán)。進(jìn)程互斥沒有時間順序的限制,而進(jìn)程的同步有時間順序的限制,未得到同步消息的進(jìn)程不能使用共享資源。
42.進(jìn)程與程序有什么區(qū)別?為什么要引入進(jìn)程?
進(jìn)程是一個程序在一個數(shù)據(jù)集合上的一次執(zhí)行,是動態(tài)的;而程序是靜止的。從程序的角度無法描述一個程序同時被多個用戶調(diào)用時的工作狀態(tài),而引入進(jìn)程后,一個程序被多用戶調(diào)用時就形成多個進(jìn)程,它們能正取反映該進(jìn)程。為各用戶服務(wù)時的動態(tài)執(zhí)行情況。
43,簡述批處理操作系統(tǒng)的作業(yè)調(diào)度和作業(yè)調(diào)度選擇作業(yè)的必要條件。
采用批處理控制方式的計算機一班均提供spool技術(shù),操作員用預(yù)輸入命令啟動預(yù)輸入程序,將作業(yè)信息存放到輸入井中,操作系統(tǒng)按一定算法輸入井中選取若干作業(yè)裝入主存,使他們有機會獲得cpu運行,這項工作稱為“作業(yè)調(diào)度”、
作業(yè)調(diào)度選取作業(yè)的必要條件是系統(tǒng)中現(xiàn)有的資源能滿足被選作業(yè)的要求。
44,何謂進(jìn)程通信?寫出兩種通信方式且簡述之。
通過專門的通信機制實現(xiàn)進(jìn)程間交換大量信息的通信方式稱為進(jìn)程通信
進(jìn)程通信有直接通信和間接通信兩種方式
直接通信是固定在一對進(jìn)程間進(jìn)行的
間接通信是以信箱為媒體實現(xiàn)通信的
45,異常的區(qū)別是什么?請指出“時間片到時”、“算法溢出”“掉電”和“虛擬存儲中的缺頁”分別屬于中斷和異常中的哪一種?
中斷是由外部事件引起的,異常是由正在執(zhí)行的指令引發(fā)的
中斷:時間片到時,掉電
異常:虛擬存儲中的缺頁、算法溢出
46,什么是程序性中斷?程序性中斷都必須由操作系統(tǒng)來完成嗎?舉例說明。
程序性中斷時指程序指令出錯、指令越權(quán)或者指令尋址越界引發(fā)的系統(tǒng)保護。
不一定。程序性中斷也可以有程序自己完成,如果系統(tǒng)調(diào)試中斷和算術(shù)錯誤等
47,用戶程序如何使用系統(tǒng)調(diào)用?
訪管指令時一條可在目態(tài)下執(zhí)行的指令
用戶源程序在編譯時將調(diào)用操作系統(tǒng)功能的邏輯要求轉(zhuǎn)換成一條訪管指令,并設(shè)置一些參數(shù)。
當(dāng)執(zhí)行到訪管指令時,產(chǎn)生訪管中斷,轉(zhuǎn)入管態(tài)執(zhí)行系統(tǒng)調(diào)用程序,實現(xiàn)指定功能?
系統(tǒng)調(diào)用完成后會帶目態(tài)執(zhí)行用戶程序
48,何為中斷響應(yīng)?中斷處理程序主要工作有哪些方面?
處理器每執(zhí)行完一條指令后,中斷裝置立即檢查有無中斷事件發(fā)生。
若有中斷事件發(fā)生,則暫停現(xiàn)行進(jìn)程的執(zhí)行,而讓操作系統(tǒng)的中斷處理程序占用處理器
中斷處理程序主要工作如下:
保護被中斷進(jìn)程的現(xiàn)場信息;分析中斷原因;處理發(fā)生的中斷事件
49,中斷系統(tǒng)有哪兩大部分組成?請介紹計算機系統(tǒng)中比較典型的中斷有哪些?
1)硬件中斷裝置和軟件中斷處理程序
2)I/O中斷、時鐘中斷、硬件故障中斷、程序性中斷、自愿中斷
50,什么是中斷?如果同一中斷級中的多個設(shè)備接口中同時都有中斷請求時,如何處理?
中斷是指處理器對系統(tǒng)中或系統(tǒng)外發(fā)生的異步事件的響應(yīng)。
有兩種辦法可以采用:
固定優(yōu)先數(shù):給每個設(shè)備接口安排一個不同的、固定的優(yōu)先順序。
輪轉(zhuǎn)法:用一個表格,依次輪轉(zhuǎn)響應(yīng)。 ??????
51,什么叫死鎖,引起死鎖的原因是什么?
若在系統(tǒng)中存在一組進(jìn)程(兩個或兩個以上),它們中每個進(jìn)程都占用了某種資源,又在等待已被其它進(jìn)程占用的資源,如果這種等待永遠(yuǎn)不能結(jié)束,則說明系統(tǒng)出現(xiàn)了死鎖?;蛘哒f這組進(jìn)程處于死鎖狀態(tài)。
引起的原因:1)系統(tǒng)提供的資源數(shù)量有限,不能滿足每個進(jìn)程的使用。2)多道程序運行時推進(jìn)的順序不合適。3)對資源分配測略不當(dāng)?shù)取?/p>
52,請簡述死鎖預(yù)防與死鎖避免這兩種死鎖解決方法的含義
死鎖預(yù)防是系統(tǒng)預(yù)先確定資源分配策略,這些策略至少能破死鎖必要條件中的一個。進(jìn)程那規(guī)定申請資源,系統(tǒng)按預(yù)先規(guī)定的策略進(jìn)行分配從而防止死鎖的發(fā)生。
死鎖避免是當(dāng)前進(jìn)程提出資源申請時,系統(tǒng)先檢測資源分配后系統(tǒng)的安全狀態(tài),僅當(dāng)能確保系統(tǒng)安全時才把資源分配給進(jìn)程,使系統(tǒng)一直處于安全狀態(tài)之中,從而避免死鎖
53,什么是資源有序分配法?請簡述此方法能夠預(yù)防死鎖的原因。
資源有序分配法指的是將系統(tǒng)中所有資源順序編號。較為緊缺、稀少的資源的編號較大。進(jìn)程在申請資源時,必須嚴(yán)格按照資源編號的順序進(jìn)行,否則系統(tǒng)不予分配。即一個進(jìn)程只有得到編號小的資源,才能夠申請編號大的資源,釋放資源時,應(yīng)按編號遞減的次序進(jìn)行。
采用資源有序分配法,破壞了死鎖的四個必要條件中的循環(huán)等待條件。
54,防止死鎖發(fā)生時可采用什么策略來使循環(huán)等待資源的條件不成立?這個策略如何應(yīng)用到5個哲學(xué)家就餐問題中?
(1)對資源采用按序分配策略:修改第五個哲學(xué)家的程序,即規(guī)定每個哲學(xué)家想吃面條時,總是從自己左右兩旁的筷子中先取編號小的筷子,再去編號大的筷子,對于第5個哲學(xué)家,他必須先拿到右邊的編號小的筷子,然后才能拿到左邊編號大的筷子
(2)采用靜態(tài)分配策略:修改哲學(xué)家程序,每個哲學(xué)家只有當(dāng)左右兩個筷子都空閑時,哲學(xué)家才能拿起筷子就餐。
55,簡述死鎖的含義以及形成死鎖的原因。
若系統(tǒng)中存在一組進(jìn)程,其中每個進(jìn)程都占用了某種資源,又在等待已被該組進(jìn)程中的其他進(jìn)程占用的資源,這種等待永遠(yuǎn)不能結(jié)束,
形成死鎖的原因是若干進(jìn)程需求的資源總數(shù)大于系統(tǒng)提供的資源數(shù),而系統(tǒng)對進(jìn)程競爭資源的管理或分配不當(dāng)
55,簡述防止死鎖發(fā)生的應(yīng)對策略。
只要采用適當(dāng)?shù)馁Y源分配策略使死鎖的四個必要條件之一不成立,就可防止死鎖的發(fā)生。
要使“占有并等待條件“不成立,采用靜態(tài)分配資源和釋放已占資源策略。
要使“不可搶奪條件“不成立,采用搶奪的分配資源策略。
要使“循環(huán)等待條件“不成立,采用按序分配資源策略。
56,簡述產(chǎn)生死鎖的四個必要條件
互斥地使用資源,每個資源每次只能給一個進(jìn)程使用。
占有且等待資源。進(jìn)程在申請新資源得不到滿足時,處于等待資源狀態(tài),但不釋放已占資源。
不可搶奪資源。在一進(jìn)程不能搶奪另一進(jìn)程所占的資源,被占資源只能由占用進(jìn)程自己來釋放。
循環(huán)等待資源。一組進(jìn)程內(nèi)部各個進(jìn)程之間請求資源和占用資源構(gòu)成了環(huán)路。
57,簡述進(jìn)程的“死鎖”與“餓死”的不同點。
死鎖是指一組進(jìn)程處于循環(huán)等待資源狀態(tài)且永遠(yuǎn)不回結(jié)束等待
餓死是指一個進(jìn)程長期得不到資源而無法繼續(xù)執(zhí)行,它并沒有卷入循環(huán)等待資源狀態(tài)
從資源管理的觀點簡述操作系統(tǒng)的層次結(jié)構(gòu)。
操作系統(tǒng)的層次結(jié)構(gòu)從硬件開始,由內(nèi)向外依次為:處理器管理、存儲管理、設(shè)備管理和文件管理。
58,如果系統(tǒng)有R1類資源2個,R2類和R3類資源各1個。有三個進(jìn)程并發(fā)執(zhí)行,進(jìn)程A需使用R3類和R1類的各1個資源,進(jìn)程B需使用R1類和R2類的各1個資源,進(jìn)程C需使用R2類和R1類的各1個資源。且依次為進(jìn)程A、B、C分配資源,請畫出資源分配圖,并說明系統(tǒng)是否會發(fā)生死鎖。
系統(tǒng)不會發(fā)生死鎖,資源分配圖無環(huán)路存在
59,為什么銀行家算法能避免死鎖的發(fā)生?
銀行家算法時通過動態(tài)檢測系統(tǒng)中資源分配情況和進(jìn)程對資源的需求情況決定如何分配資源的。在能確保系統(tǒng)處于安全狀態(tài)時,才把資源分配給申請者,從而避免系統(tǒng)發(fā)生死鎖。
60,說明資源的按序分配策略能防止死鎖的原因。
資源按序分配策略要求所資源類進(jìn)行編號,當(dāng)一個程序申請多個資源時,先申請編號小的資源,然后在申請編號打的資源。這樣破壞了死鎖的必要條件循環(huán)等待條件,從而防止死鎖發(fā)生。
61,什么叫系統(tǒng)處于安全狀態(tài)?怎樣才能使系統(tǒng)保持在安全狀態(tài)?
安全狀態(tài)?是操作系統(tǒng)能夠保證所有的進(jìn)程在有限時間內(nèi)都能夠得到所需要的全部資源。
采用死鎖預(yù)防的方法,可以使系統(tǒng)保持安全狀態(tài)
采用銀行家算法,通過動態(tài)的檢測系統(tǒng)中資源分配情況和進(jìn)程對資源的需求情況來決定如何分配資源,在能確保系統(tǒng)處于安全狀態(tài)時才把資源分配給申請的進(jìn)程,從而避免系統(tǒng)發(fā)生死鎖。
62,說明資源的搶奪式分配策略防止死鎖的方法。
當(dāng)一個進(jìn)程申請的資源尚未被占用?,系統(tǒng)就把資源分配給該進(jìn)程。進(jìn)程A申請資源R被進(jìn)程 B占用,若進(jìn)程B處于等待某一資源,那么系統(tǒng)將搶奪進(jìn)程B占用的R資源分噢誒給進(jìn)程A,否則系統(tǒng)讓A進(jìn)程等待R資源。
一個等待資源的進(jìn)程,只有等待所申請的新資源和所有被搶奪的老資源后,才繼續(xù)運行
63,某系統(tǒng)有同類資源m個,可并發(fā)執(zhí)行且共享該類資源的進(jìn)程最多n個,而每個進(jìn)程申請該類資源的最大數(shù)量為x(1≤x≤m),只要不等式n(x-1)+1 ≤m成立,則系統(tǒng)一定不會發(fā)生死鎖。請解釋說明為什么?
因為每個進(jìn)程最多申請x個資源,最壞的情況是每個進(jìn)程都已得到了(x-1)個資源?,F(xiàn)申請最后一個資源,只要系統(tǒng)至少還有一個資源就可使其中一個或多個進(jìn)程得到所需的全部資源。在它們執(zhí)行結(jié)束后歸還的資源可供其他進(jìn)程使用,因而不可能發(fā)生死鎖
64,簡述可以通過哪些資源分配策略來防止死鎖的發(fā)生。
所謂防止死鎖,即使死鎖的四個必要條件之一不成立,對于互斥條件一般不去考慮,對于占有并等待條件,采用靜態(tài)分配資源,和釋放已占有資源在申請資源,對于循環(huán)等待條件,采用按序分配資源等資源分配策略。
65,對資源采用靜態(tài)分配策略為什么能防止死鎖?
資源的靜態(tài)分配策略要求每一個進(jìn)程在開始執(zhí)行前就申請它所需要的全部資源,僅當(dāng)系統(tǒng)能滿足進(jìn)程的資源申請,且把資源分配給進(jìn)程后,該進(jìn)程才開始執(zhí)行,于是,進(jìn)程在執(zhí)行,于是,進(jìn)程在執(zhí)行中不再申請資源,即能使?“占有等待資源”的條件不成立,從而防止死鎖發(fā)生
66,什么叫獨占設(shè)備?什么叫共享設(shè)備?各舉一例。
每次只允許一道作業(yè)使用的設(shè)備稱為獨占設(shè)備。例如打印機
允許幾個作業(yè)同時使用的設(shè)備稱為共享設(shè)備 例如 讀取磁盤
67,簡單敘述計算機系統(tǒng)的通道結(jié)構(gòu)。
計算機系統(tǒng)結(jié)構(gòu),采用自成系統(tǒng)的通道結(jié)構(gòu),系統(tǒng)的輸入輸出由通道完成。中央處理器啟動通道后,通道會按要求完成輸入輸出,cpu就可以做與輸入輸出無關(guān)的工作。
一個中央處理器可以連接多個通道,一個通道可以連接多個設(shè)備控制器,一個設(shè)備控制器可以連接同類型的多個設(shè)備。
68,什么是設(shè)備獨立性?實現(xiàn)設(shè)備獨立性的好處是什么?
1)設(shè)備獨立性就是應(yīng)用程序獨立于具體使用的物理設(shè)備
2)提高設(shè)備管理軟件的設(shè)計效率,當(dāng)I/O設(shè)備更新時,不需要重新編寫全部軟件
69,簡述“設(shè)備獨立性”的含義以及它為計算機系統(tǒng)帶來的好處。
設(shè)備獨立性的含義是指應(yīng)用程序中的邏輯設(shè)備與實際系統(tǒng)中的物理設(shè)備是相脫離和相獨立的,即程序中的一臺邏輯設(shè)備究竟與系統(tǒng)中的哪臺物理設(shè)備相聯(lián)系,要到程序運行時由操作系統(tǒng)動態(tài)地確定。
邏輯設(shè)備與物理設(shè)備的這種關(guān)系。使得應(yīng)用程序獨立于具體的機器系統(tǒng)。具有可移植性,同時可以使程序員不必過問存儲空間和I/O的分配,而專注羽程序的設(shè)計。
70,簡述獨占設(shè)備的申請和分配方案。
作業(yè)申請獨占設(shè)備時,需要指定設(shè)備:有兩種方法指定,一種是指定設(shè)備的絕對號,另一種是指定設(shè)備類的相對號,一般采用的是后者,用戶程序使用由設(shè)備類和相對號定義邏輯設(shè)備
系統(tǒng)使用設(shè)備類表和設(shè)備表進(jìn)行分配
71,何謂操作系統(tǒng)的可移植性?怎樣才能方便移植?
可移植性是指能否方便地把操作系統(tǒng)移植到一個新的硬件環(huán)境中
在設(shè)計時可把與硬件直接有關(guān)的程序獨立分裝,并采用國際通用標(biāo)注語言書寫操作系統(tǒng)程序
72,為什么要研究操作系統(tǒng)的結(jié)構(gòu)?
操作系統(tǒng)是一種程序量大且復(fù)雜的系統(tǒng)軟件,操作系統(tǒng)是否正確關(guān)系到計算機系統(tǒng)的安全,結(jié)構(gòu)良好的操作系統(tǒng)能減少自身的開銷且提高計算機系統(tǒng)的效率
73,簡述為了降低換進(jìn)換出的頻率并提高系統(tǒng)效率,UNIX系統(tǒng)的交換進(jìn)程采用的措施。
換出一個進(jìn)程時,被其他進(jìn)程正在共享的正文段不能換出,當(dāng)對換區(qū)有就緒進(jìn)程并且內(nèi)存有足夠空間時,立即把它換進(jìn),為了換一個進(jìn)程而必須換出其他進(jìn)程時,總是先換出在內(nèi)存睡眠的進(jìn)程
74,簡述UNIX中系統(tǒng)調(diào)用命令OPEN的處理過程。
分配一個活動索引節(jié)點,引用計數(shù)i_count+1
在進(jìn)程打開文件表和系統(tǒng)打開文件表中分配表項目
調(diào)用設(shè)備驅(qū)動程序檢查打開的合法性
初始化驅(qū)動程序的數(shù)據(jù)結(jié)構(gòu)
建立進(jìn)程和設(shè)備間的聯(lián)系
75,簡述UNIX為管理設(shè)備而采用的設(shè)備分類技術(shù)。
UNIX是按設(shè)備與主存間信息交換的物理單位對設(shè)備分類的
Unix是把設(shè)備分成兩類 塊設(shè)備和字符設(shè)備
Unix系統(tǒng)把設(shè)備當(dāng)作文件對待,每個設(shè)備有一個文件名,對它像文件一樣操作
76,UNIX系統(tǒng)調(diào)用close是如何處理的?
清除有關(guān)表項;檢查塊設(shè)備的緩沖區(qū)是否還有信息未寫回,若有,則寫回設(shè)備
檢查是否其他進(jìn)程打開此設(shè)備,調(diào)用驅(qū)動程序中的關(guān)閉過程,與設(shè)備斷開
77,簡述UNIX系統(tǒng)中文件的索引表結(jié)構(gòu)。
采用多級索引結(jié)構(gòu),每個文件的索引表使用13個登機項,前10個項登記存放文件信息的磁盤塊號,后3個登記項,分別登記 1級 2級 3級間索引塊號
78,UNIX操作系統(tǒng)向用戶提供哪兩類使用接口?并簡述這兩類接口。
操作系統(tǒng)向用戶提供兩類使用接口:操作控制命令和系統(tǒng)功能調(diào)用
Unix提供的操作控制命令稱為shell命令,若干條shell命令可組成一個Shell文件。
在用戶程序使用方管指令“trap”命令,請求系統(tǒng)功能調(diào)用為其服務(wù)
80,簡述UNIX中目錄文件存取權(quán)限的類型和意義。
1)有讀寫執(zhí)行三種存取權(quán)限;
2)權(quán)限讀表示可以讀該目錄
3)權(quán)限寫表示可以增刪目錄項
4)權(quán)限執(zhí)行表示可以搜索該目錄
82,簡述UNIX中系統(tǒng)如何管理設(shè)備,用戶通過什么系統(tǒng)調(diào)用命令使用設(shè)備。
UNIX系統(tǒng)把設(shè)備當(dāng)作文件來對待,每個設(shè)備都有文件名,似文件一樣操作
用戶先調(diào)用OPEN系統(tǒng)調(diào)用打開設(shè)備;后用READ或write系統(tǒng)調(diào)用進(jìn)行讀寫;最后用CLOSE系統(tǒng)調(diào)用關(guān)閉設(shè)備
84,簡述UNIX的目錄文件的存取權(quán)限及其含義。
讀:允許讀該目錄
寫:允許修改該目錄內(nèi)容
執(zhí)行:允許搜索該目錄
81,簡述UNIX系統(tǒng)的磁盤存儲空閑塊管理方法。
成組鏈接法:是把空閑塊分成若干組,把指向一組中各空閑塊的指針集中在一起。UNIX 規(guī)定,每 100 個空閑塊為一組,每組的第一個空閑塊中登記下一組空閑塊的磁盤物理塊號和空閑塊數(shù),最后不足 100 塊的那部分磁盤物理塊號及塊數(shù)記入專用塊中。
85,簡述UNIX的文件系統(tǒng)有什么特點。
Unix文件系統(tǒng)由基本文件系統(tǒng)和可裝卸的子文件系統(tǒng)組成
基本文件系統(tǒng)不能脫卸,子文件系統(tǒng)可以隨時更換
這種結(jié)構(gòu)使得文件系統(tǒng)易于擴展和更換
86,簡單敘述輸入輸出中斷事件的操作異常結(jié)束的情況。
可包括設(shè)備故障和設(shè)備特殊;設(shè)備故障如接口錯,控制錯,通道程序錯,數(shù)據(jù)錯等;一般操作系統(tǒng)會重復(fù)執(zhí)行多次,若任然有錯,系統(tǒng)將提示用戶維護設(shè)備;設(shè)備特殊是一些特殊情況,如打印紙用完,寫磁帶遇磁帶末尾,系統(tǒng)請用戶裝紙,換磁帶等。
87,計算機系統(tǒng)如何禁止用戶程序中執(zhí)行特權(quán)指令?
中央處理器設(shè)置兩種工作狀態(tài):管態(tài)和目態(tài)
在管態(tài)下可執(zhí)行包括特權(quán)指令在內(nèi)的一切指令,在目態(tài)下不可執(zhí)行特權(quán)指令
在目態(tài)下若取的一條特權(quán)指令時,中央處理器將拒絕執(zhí)行并形成一個非法操作事件
暫停當(dāng)前用戶程序的執(zhí)行,操作系統(tǒng)通知用戶“程序中有非法指令”,必須修改
88,簡述批處理操作系統(tǒng)的作業(yè)調(diào)度和作業(yè)調(diào)度選擇作業(yè)的必要條件。
批處理作業(yè)調(diào)度是按系統(tǒng)確定的算法從磁盤輸入井的后備作業(yè)中選取若干作業(yè),調(diào)入主存儲器,讓它們有機會去獲得處理器執(zhí)行
作業(yè)調(diào)度的必要條件,系統(tǒng)現(xiàn)有尚未分配的資源,可以滿足被選作業(yè)的資源要求
90,什么是多道程序設(shè)計?多道程序設(shè)計能提高整個系統(tǒng)的效率具體表現(xiàn)在哪些方面?
多道程序設(shè)計是指:多個程序同時裝入一個主存儲器并行執(zhí)行的程序設(shè)計技術(shù)
多道程序設(shè)計能提高整個系統(tǒng)的效率具體表現(xiàn)在:提高處理器的利用率;充分利用外圍設(shè)備資源;發(fā)揮了處理器與外圍設(shè)備以及外圍設(shè)備之間的并行工作能力
91,操作系統(tǒng)與硬件相互配合才能實現(xiàn)系統(tǒng)的安全保護,請簡述硬件上采取的保護措施。
(1)設(shè)置特權(quán)指令,不允許用戶程序直接使用
(2)中央處理器設(shè)置兩種工作狀態(tài),管態(tài)與目態(tài)
(3)操作系統(tǒng)程序在管態(tài)下工作,可執(zhí)行一切指令
(4)用戶程序在目態(tài)工作下,不允許執(zhí)行特權(quán)指令
(5)配置操作系統(tǒng)使用的基址寄存器等防止越界
93,簡述操作系統(tǒng)為用戶提供的使用接口的種類。
操作系統(tǒng)為用戶提供兩類使用接口:
一類是操作員級接口?是一組操作控制命令,供用戶提出如何控制作業(yè)執(zhí)行要求
一類是程序員接口,是一組系統(tǒng)功能調(diào)用,為用戶程序提供服務(wù)功能
94,假設(shè)一個邏輯文件有15個邏輯記錄,系統(tǒng)把該文件以鏈接結(jié)構(gòu)的形式組織在磁盤上,每個記錄占用一個磁盤塊,現(xiàn)要求在第15個記錄之后增加一個新記錄,簡述它的操作過程。
在磁盤上尋找一個空閑塊,把第15個記錄相應(yīng)的磁盤塊中的鏈接指針修改成1,把新記錄的信息存放到磁盤塊1中,把磁盤塊i中的鏈接指針設(shè)置為0
95,簡述操作系統(tǒng)提供的系統(tǒng)調(diào)用的種類及每一類的功能。
文件操作類、功能有打開文件、建立文件。讀文件、寫文件、關(guān)閉文件。
資源申請表。功能有請求分配、歸還主存空間,分配歸還外圍設(shè)備。
控制類。功能有請求正常結(jié)束、異常結(jié)束。返回斷點/指定點等。
信息維護類、功能有設(shè)置、獲取日歷時間,設(shè)置、獲取文件屬性等。
96,簡述操作系統(tǒng)中引入緩沖技術(shù)的主要目的,并列出常用的緩沖技術(shù)的名稱。
引人緩沖的目的:在主存中開辟緩沖區(qū),用來臨時存放輸入/輸出信息。從而緩解CPU和外設(shè)速度不匹配所產(chǎn)生的矛盾。
常用的緩沖技術(shù):根據(jù)系統(tǒng)設(shè)置的緩沖區(qū)的個數(shù)分為單緩沖技術(shù)、雙緩沖技術(shù)和緩沖池技術(shù)。
97,簡述操作系統(tǒng)結(jié)構(gòu)設(shè)計的主要方法。
無序模塊法;內(nèi)核擴充法;層次結(jié)構(gòu)法;管程設(shè)計法
98,解釋通道命令、通道程序、通道地址字和通道狀態(tài)字。
通道命令:規(guī)定了設(shè)備一種操作的命令
通道程序:若干條通道命令組成的程序,由通道執(zhí)行,完成一次I、o操作
通道地址字:用來存放通道程序首地址的主存固定單元
通道狀態(tài)字:用來記錄通道程序執(zhí)行結(jié)果的主存固定單元
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????100,請回答通道有哪三種類型?簡述三類通道的優(yōu)缺點
通道的三種類型是:選擇通道,數(shù)組多路通道,字節(jié)多路通道
選擇通道的優(yōu)點是以數(shù)據(jù)塊為單位進(jìn)行傳輸,傳輸效率高,缺點是通道利用率低
數(shù)組多路通道的優(yōu)點:以數(shù)據(jù)塊為單位進(jìn)行傳輸,傳輸率高,具有多路并行操作的能力,通道利用率高,缺點是控制復(fù)雜
字節(jié)多路通道優(yōu)點是具有多路并行操作能力,缺點是以字節(jié)為單位傳輸,傳輸效率低
100,常用的控制寄存器有哪些?并簡述它們的功能。
答:控制寄存器:存放控制信息以保證程序的正確執(zhí)行和系統(tǒng)的安全。
主要包括:A.程序狀態(tài)字寄存器:存放當(dāng)前程序執(zhí)行時的狀態(tài)。B.中斷字寄存器:記錄出現(xiàn)的事件。C.基址寄存器:設(shè)定程序執(zhí)行時可訪問的主存空間的開始地址。D.限長寄存器:設(shè)定程序執(zhí)行時可訪問的主存空間的長度。
101,常用的磁盤移臂驅(qū)動調(diào)度算法有哪些?
1)先來先服務(wù)調(diào)度算法
2)電梯調(diào)度算法
3)單向掃描調(diào)度算法
4)最短尋找時間優(yōu)先調(diào)度算法
103,磁盤驅(qū)動調(diào)度包括什么調(diào)度?各涉及什么時間?
磁盤驅(qū)動調(diào)度包括移臂調(diào)度和旋轉(zhuǎn)調(diào)度,分別涉及尋找時間和延遲時間