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