1、簡(jiǎn)述操作系統(tǒng)的定義。
操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)的一種系統(tǒng)軟件,它統(tǒng)一管理計(jì)算機(jī)系統(tǒng)的資源和控制程序的執(zhí)行。
2、在多道程序設(shè)計(jì)技術(shù)的系統(tǒng)中,操作系統(tǒng)怎樣才會(huì)占領(lǐng)中央處理器?
只有當(dāng)中斷裝置發(fā)現(xiàn)有事件發(fā)生時(shí),它才會(huì)中斷當(dāng)前占用中央處理器的程序執(zhí)行,讓操作系統(tǒng)的處理服務(wù)程序占用中央處理器并執(zhí)行之。
3、簡(jiǎn)述"刪除文件"操作的系統(tǒng)處理過(guò)程。
用戶用本操作向系統(tǒng)提出刪除一個(gè)文件的要求,系統(tǒng)執(zhí)行時(shí)把指定文件的名字從目錄和索引表中除去,并收回它所占用的存儲(chǔ)區(qū)域,但刪除一個(gè)文件前應(yīng)先關(guān)閉該文件。
4、對(duì)相關(guān)臨界區(qū)的管理有哪些要求?
為了使并發(fā)進(jìn)程能正確地執(zhí)行,對(duì)若干進(jìn)程共享某一變量(資源)的相關(guān)臨界區(qū)應(yīng)滿足以下三個(gè)要求:
① 一次最我讓一個(gè)進(jìn)程在臨界區(qū)中執(zhí)行,當(dāng)有進(jìn)程在臨界區(qū)中時(shí),其他想進(jìn)入臨界區(qū)執(zhí)行的進(jìn)程必須等待;
② 任何一個(gè)進(jìn)入臨界區(qū)執(zhí)行的進(jìn)程必須在有限的時(shí)間內(nèi)退出臨界區(qū),即任何一個(gè)進(jìn)程都不應(yīng)該無(wú)限逗留在自己的臨界區(qū)中;
③ 不能強(qiáng)迫一個(gè)進(jìn)程無(wú)限地等待進(jìn)入它的臨界區(qū),即有進(jìn)程退出臨界區(qū)時(shí)應(yīng)讓下一個(gè)等待進(jìn)入臨界區(qū)的進(jìn)程進(jìn)入它的臨界區(qū)。
5、簡(jiǎn)述解決死鎖問題的三種方法。
① 死鎖的防止。系統(tǒng)按預(yù)定的策略為進(jìn)程分配資源,這些分配策略能使死鎖的四個(gè)必要條件之一不成立,從而使系統(tǒng)不產(chǎn)生死鎖。
② 死鎖的避免。系統(tǒng)動(dòng)態(tài)地測(cè)試資源分配情況,僅當(dāng)能確保系統(tǒng)安全時(shí)才給進(jìn)程分配資源。
③ 死鎖的檢測(cè)。對(duì)資源的申請(qǐng)和分配不加限制,只要有剩余的資源就呆把資源分配給申請(qǐng)者,操作系統(tǒng)要定時(shí)判斷系統(tǒng)是否出現(xiàn)了死鎖,當(dāng)有死鎖發(fā)生時(shí)設(shè)法解除死鎖。
6、從操作系統(tǒng)提供的服務(wù)出發(fā),操作系統(tǒng)可分哪幾類?
批處理操作系統(tǒng)、分時(shí)操作系統(tǒng)、實(shí)時(shí)操作系統(tǒng)、網(wǎng)絡(luò)操作系統(tǒng)、分布式操作系統(tǒng)。
7、簡(jiǎn)述計(jì)算機(jī)系統(tǒng)的中斷機(jī)制及其作用。
中斷機(jī)制包括硬件的中斷裝置和操作系統(tǒng)的中斷處理服務(wù)程序。
中斷裝置由一些特定的寄存器和控制線路組成,中央處理器和外圍設(shè)備等識(shí)別到的事件保存在特定的寄存器中,中央處理器每執(zhí)行完一條指令,均由中斷裝置判別是否有事件發(fā)生。
若無(wú)事件發(fā)生,CPU繼續(xù)執(zhí)行;若有事件發(fā)生,則中斷裝置中斷原占有CPU的程序的執(zhí)行,讓操作系統(tǒng)的處理事件服務(wù)程序占用CPU,對(duì)出現(xiàn)的事件進(jìn)行處理,事件處理完后,再讓原來(lái)的程序繼續(xù)占用CPU執(zhí)行。
8、選擇進(jìn)程調(diào)度算法的準(zhǔn)則是什么?
由于各種調(diào)度算法都有自己的特性,因此,很難評(píng)價(jià)哪種算法是最好的。一般說(shuō)來(lái),選擇算法時(shí)可以考慮如下一些原則: ① 處理器利用率; ② 吞吐量; ③ 等待時(shí)間; ④ 響應(yīng)時(shí)間。
在選擇調(diào)度算法前,應(yīng)考慮好采用的準(zhǔn)則,當(dāng)確定準(zhǔn)則后,通過(guò)對(duì)各種算法的評(píng)估,從中選擇出最合適的算法。
9、獨(dú)占設(shè)備采用哪種分配方式? 獨(dú)占設(shè)備通常采用靜態(tài)分配方式。
即在一個(gè)作業(yè)執(zhí)行前,將作業(yè)要使用的這類設(shè)備分配給作業(yè),在作業(yè)執(zhí)行期間均歸該作業(yè)占用,直到作業(yè)執(zhí)行結(jié)束才歸還。
10、產(chǎn)生死鎖的原因是什么?
① 系統(tǒng)資源不足; ② 進(jìn)程推進(jìn)順序不合適。
在早期的系統(tǒng)中,由于系統(tǒng)規(guī)模較小,結(jié)構(gòu)簡(jiǎn)單,以及資源分配大多采用靜態(tài)分配法,使得操作系統(tǒng)死鎖問題的嚴(yán)重性未能充分暴露出來(lái)。但今天由于多道程序系統(tǒng),以至于數(shù)據(jù)系統(tǒng)的出現(xiàn),系統(tǒng)中的共享性和并行性的增加,軟件系統(tǒng)變得日益龐大和復(fù)雜等原因,使得系統(tǒng)出現(xiàn)死鎖現(xiàn)象的可能性大大增加。
11、何謂批處理操作系統(tǒng)?
用戶準(zhǔn)備好要執(zhí)行的程序、數(shù)據(jù)和控制作業(yè)執(zhí)行的說(shuō)明書,由操作員輸入到計(jì)算機(jī)系統(tǒng)中等待處理。操作系統(tǒng)選擇作業(yè)并按作業(yè)說(shuō)明書的要求自動(dòng)控制作業(yè)的執(zhí)行。采用這種批量化處理作業(yè)的操作系統(tǒng)稱為批處理操作系統(tǒng)。
12、對(duì)特權(quán)指令的使用有什么限制?
只允許操作系統(tǒng)使用特權(quán)指令,用戶程序不能使用特權(quán)指令。
13、影響缺頁(yè)中斷率有哪幾個(gè)主要因素? 影響缺頁(yè)中斷率的因素有四個(gè):
① 分配給作業(yè)的主存塊數(shù)多則缺頁(yè)率低,反之缺頁(yè)中斷率就高。
② 頁(yè)面大,缺頁(yè)中斷率低;頁(yè)面小缺頁(yè)中斷率高。
③ 程序編制方法。以數(shù)組運(yùn)算為例,如果每一行元素存放在一頁(yè)中,則按行處理各元素缺頁(yè)中斷率低;反之,按列處理各元素,則缺頁(yè)中斷率高。
④ 頁(yè)面調(diào)度算法對(duì)缺頁(yè)中斷率影響很大,但不可能找到一種最佳算法。
14、磁盤移臂調(diào)度的目的是什么?常用移臂調(diào)度算法有哪些?
磁盤移臂調(diào)度的目的是盡可能地減少輸入輸出操作中的尋找時(shí)間。 常用的移臂調(diào)度算法有: ① 先來(lái)先服務(wù)算法 ② 最短尋找時(shí)間優(yōu)先算法 ③ 電梯調(diào)度算法 ④ 單向掃描算法。
15、常用的作業(yè)調(diào)度算法有哪些?
① 先來(lái)先服務(wù)算法?、?計(jì)算時(shí)間短的作業(yè)優(yōu)先算法 ③ 響應(yīng)比最高者優(yōu)先算法 ④ 優(yōu)先數(shù)調(diào)度算法 ⑤ 均衡調(diào)度算法
16、計(jì)算機(jī)系統(tǒng)的資源包括哪些?
計(jì)算機(jī)系統(tǒng)的資源包括兩大類:硬件資源和軟件資源。
硬件資源主要有中央處理器、主存儲(chǔ)器、輔助存儲(chǔ)器和各種輸入輸出設(shè)備。 軟件資源有編譯程序、編輯程序等各種程序以及有關(guān)數(shù)據(jù)。
17、CPU在管態(tài)和目態(tài)下工作有何不同?
當(dāng)中央處理器處于管態(tài)時(shí),可以執(zhí)行包括特權(quán)指令在內(nèi)的一切面器指令,而在目態(tài)下工作時(shí)不允許執(zhí)行特權(quán)指令。
18、何為頁(yè)表和快表?它們各起什么作用?
頁(yè)表指出邏輯地址中的頁(yè)號(hào)與所占主存塊號(hào)的對(duì)應(yīng)關(guān)系。
作用:頁(yè)式存儲(chǔ)管理在用動(dòng)態(tài)重定位方式裝入作業(yè)時(shí),要利用頁(yè)表做地址轉(zhuǎn)換工作。 快表就是存放在高速緩沖存儲(chǔ)器的部分頁(yè)表。它起頁(yè)表相同的作用。
由于采用頁(yè)表做地址轉(zhuǎn)換,讀寫內(nèi)存數(shù)據(jù)時(shí)CPU要訪問兩次主存。有了快表,有時(shí)只要訪問一次高速緩沖存儲(chǔ)器,一次主存,這樣可加速查找并提高指令執(zhí)行速度。
19、作業(yè)在系統(tǒng)中有哪幾種狀態(tài)?
一個(gè)作業(yè)進(jìn)入系統(tǒng)到運(yùn)行結(jié)束,一般要經(jīng)歷進(jìn)入、后備、運(yùn)行和完成四個(gè)階段,相應(yīng)地,作業(yè)亦有進(jìn)入、后備、運(yùn)行和完成四種狀態(tài)。
① 進(jìn)入狀態(tài):作業(yè)的信息從輸入設(shè)備上預(yù)輸入到輸入井,此時(shí)稱為作業(yè)處于進(jìn)入狀態(tài)。 ② 后備狀態(tài):當(dāng)作業(yè)的全部信息都已輸入,且由操作系統(tǒng)將其存放在輸入井中,此時(shí)稱作業(yè)處于后備狀態(tài)。系統(tǒng)將所有處于后備狀態(tài)的作業(yè)組成后備作業(yè)隊(duì)列,等待作業(yè)調(diào)度程序的調(diào)度。
③ 運(yùn)行狀態(tài):一個(gè)后備作業(yè)被作業(yè)調(diào)度程序選中,分配了必要的資源,調(diào)入內(nèi)存運(yùn)行,稱作業(yè)處于運(yùn)行狀態(tài)。
④ 完成狀態(tài):當(dāng)作業(yè)正常運(yùn)行完畢或因發(fā)生錯(cuò)誤非正常終止時(shí),作業(yè)進(jìn)入這完成狀態(tài)。
20、用fork創(chuàng)建新進(jìn)程,它要做哪些工作? 由fork創(chuàng)建新進(jìn)程的主要工作有:
① 在進(jìn)程表proc[ ]中為子進(jìn)程找一個(gè)空閑的表項(xiàng),用來(lái)存放子進(jìn)程的proc結(jié)構(gòu); ② 為子進(jìn)程分配一個(gè)唯一的標(biāo)識(shí)號(hào);
③ 把父進(jìn)程中的字段復(fù)制到子進(jìn)程的proc中,并把p - pid置為分配到的進(jìn)程標(biāo)識(shí)號(hào),把p-pid置為父進(jìn)程的標(biāo)識(shí)號(hào),把p-stat置為創(chuàng)建狀態(tài);
④ 按父進(jìn)程中p-size所示的長(zhǎng)度為子進(jìn)程申請(qǐng)分配內(nèi)存。若有足夠的內(nèi)存,則把父進(jìn)程的user結(jié)構(gòu)、棧和用戶數(shù)據(jù)區(qū)全部復(fù)制到子進(jìn)程的空間中;若無(wú)足夠的內(nèi)存,則在磁盤對(duì)換區(qū)中分配存儲(chǔ)空間,然后復(fù)制到對(duì)換區(qū)中,置于進(jìn)程狀態(tài)為就緒狀態(tài)。
26、共享設(shè)備允許多個(gè)作業(yè)同時(shí)使用,這里的"同時(shí)使用"的含義是什么?
"同時(shí)使用"的含義是多個(gè)作業(yè)可以交替地啟動(dòng)共享設(shè)備,在某一時(shí)刻仍只有一個(gè)作業(yè)占有。
27、簡(jiǎn)述"打開文件"操作的系統(tǒng)處理過(guò)程。
用戶要使用一個(gè)已經(jīng)存放在存儲(chǔ)介質(zhì)上的文件前,必須先提出"打開文件"要求。這時(shí)用戶也必須向系統(tǒng)提供參數(shù):用戶名、文件名、存取方式、存儲(chǔ)設(shè)備類型、口令等。系統(tǒng)在接到用戶的"打開文件"要求后,找出該用戶的文件目錄,當(dāng)文件目錄不在主存儲(chǔ)器中時(shí)還必須把它讀到主存儲(chǔ)器中;然后檢索文件目錄,指出與用戶要求相符合的目錄項(xiàng),取出文件存放的物理地址。
對(duì)索引文件還必須把該文件的索引表存放在主存儲(chǔ)器中,以便后繼的讀寫操作能快速進(jìn)行。
28、什么是"前臺(tái)"作業(yè)、"后臺(tái)"作業(yè)?為什么對(duì)"前臺(tái)"作業(yè)要及時(shí)響應(yīng)?
批處理操作系統(tǒng)實(shí)現(xiàn)自動(dòng)控制無(wú)需人為干預(yù),分時(shí)操作系統(tǒng)實(shí)現(xiàn)了人機(jī)交互對(duì)話,這兩種操作系統(tǒng)具有各自的優(yōu)點(diǎn)。為了充分發(fā)揮批處理系統(tǒng)和分時(shí)系統(tǒng)的優(yōu)點(diǎn),在一個(gè)計(jì)算機(jī)系統(tǒng)上配置的操作系統(tǒng)往往既具有批處理能力,又有提供分時(shí)交互的能力。這樣,用戶可以先在分時(shí)系統(tǒng)的控制下,以交互式輸入、調(diào)試和修改自己的程序;然后,可以把調(diào)試好的程序轉(zhuǎn)交給批處理系統(tǒng)自動(dòng)控制其執(zhí)行而產(chǎn)生結(jié)果。這些由分時(shí)系統(tǒng)控制的作業(yè)稱為"前臺(tái)"作業(yè),而那些由批處理系統(tǒng)控制的作業(yè)稱為"后臺(tái)"作業(yè)。
在這樣的系統(tǒng)中,對(duì)前臺(tái)作業(yè)應(yīng)該及時(shí)響應(yīng),使用戶滿意;對(duì)后臺(tái)作業(yè)可以按一定的原則進(jìn)行組合,以提高系統(tǒng)的效率。
29、存儲(chǔ)型設(shè)備和輸入輸出型設(shè)備的輸入輸出操作的信息傳輸單位有何不同?
存儲(chǔ)型設(shè)備輸入輸出操作的信息傳輸單位是"塊",而輸入輸出型設(shè)備輸入輸出操作的信息傳輸單位是"字符"。
30、什么是計(jì)算機(jī)系統(tǒng)?它由哪幾部分組成?
計(jì)算機(jī)系統(tǒng)是按用戶的要求接收和存儲(chǔ)信息,自動(dòng)進(jìn)行數(shù)據(jù)處理并輸出結(jié)果信息的系統(tǒng)。
計(jì)算機(jī)系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)組成。硬件系統(tǒng)是計(jì)算機(jī)系統(tǒng)賴以工作的實(shí)體,軟件系統(tǒng)保證計(jì)算機(jī)系統(tǒng)按用戶指定的要求協(xié)調(diào)地工作。
31、計(jì)算機(jī)系統(tǒng)怎樣實(shí)現(xiàn)存儲(chǔ)保護(hù)?
一般硬件設(shè)置了基址寄存器和限長(zhǎng)寄存器。
中央處理器在目態(tài)下執(zhí)行系統(tǒng)中,對(duì)每個(gè)訪問主存的地址都進(jìn)行核對(duì),若能滿足:基址寄存器值≤訪問地址≤基址寄存器值+限長(zhǎng)寄存值,則允許訪問,否則不允許訪問。并且不允許用戶程序隨意修改這兩個(gè)寄存器的值。這就實(shí)現(xiàn)了存儲(chǔ)保護(hù)。
32、給出系統(tǒng)總體上的中斷處理過(guò)程。
CPU每執(zhí)行完一條指令就去掃描中斷寄存器,檢查是否有中斷發(fā)生,若沒有中斷就繼續(xù)執(zhí)行下條指令;若有中斷發(fā)生就轉(zhuǎn)去執(zhí)行相應(yīng)的中斷處理程序。中斷處理過(guò)程可粗略的分為以下四個(gè)過(guò)程:
① 保護(hù)當(dāng)前正在運(yùn)行程序的現(xiàn)場(chǎng);
② 分析是何種中斷,以便轉(zhuǎn)去執(zhí)行相應(yīng)的中斷處理程序; ③ 執(zhí)行相應(yīng)的中斷處理程序; ④ 恢復(fù)被中斷程序的現(xiàn)場(chǎng)。
33、死鎖發(fā)生的必要條件有哪些?
發(fā)生死鎖的必要條件有四點(diǎn):互斥條件、不可搶占條件、部分分配條件和循環(huán)等待條件。
① 互斥條件:系統(tǒng)中存在一個(gè)資源一次只能被一個(gè)進(jìn)程所使用;
② 非搶占條件:系統(tǒng)中存在一個(gè)資源僅能被占有它的進(jìn)程所釋放,而不能被別的進(jìn)程強(qiáng)行搶占。
③ 占有并等待條件:系統(tǒng)中存在一個(gè)進(jìn)程已占有了分給它的資源,但仍然等待其他資源。 ④ 循環(huán)等待條件:在系統(tǒng)中存在一個(gè)由若干進(jìn)程形成的環(huán)形請(qǐng)求鏈,其中的每一個(gè)進(jìn)程均占有若干種資源中的某一種,同時(shí)每個(gè)進(jìn)程還要求(鏈上)下一個(gè)進(jìn)程所占有的資源。
34、用戶程序中通常用什么方式指定要使用的設(shè)備?為什么?
用戶程序中通常用"設(shè)備類、相對(duì)號(hào)"請(qǐng)求要使用的設(shè)備,即不具體指定要哪一臺(tái)設(shè)備,而是提出要申請(qǐng)哪類設(shè)備多少臺(tái)。
這種方式使設(shè)備分配適應(yīng)性好、靈活性強(qiáng)。
否則若用絕對(duì)號(hào)來(lái)指定設(shè)備,如果這臺(tái)設(shè)備已被占用或有故障時(shí),該作業(yè)就無(wú)法裝入主存中。
35、進(jìn)程調(diào)度中"可搶占"和"非搶占"兩種方式,哪一種系統(tǒng)的開銷更大?為什么? 可搶占式會(huì)引起系統(tǒng)的開銷更大。
可搶占式調(diào)度是嚴(yán)格保證任何時(shí)刻,讓具有最高優(yōu)先數(shù)(權(quán))的進(jìn)程占有處理機(jī)運(yùn)行,因此增加了處理機(jī)調(diào)度的時(shí)機(jī),引起為退出處理機(jī)的進(jìn)程保留現(xiàn)場(chǎng),為占有處理機(jī)的進(jìn)程恢復(fù)現(xiàn)場(chǎng)等時(shí)間(和空間)開銷增大。
36、一個(gè)含五個(gè)邏輯記錄的文件,系統(tǒng)把它以鏈接結(jié)構(gòu)的形式組織在磁盤上,每個(gè)記錄占用一個(gè)磁盤塊,現(xiàn)要求在第一記錄和第二記錄之間插入一個(gè)新記錄,簡(jiǎn)述它的操作過(guò)程。