自考《操作系統(tǒng)》問答題總結(jié)(1)

字號:

1、簡述操作系統(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、簡述“刪除文件”操作的系統(tǒng)處理過程
    用戶用本操作向系統(tǒng)提出刪除一個(gè)文件的要求,系統(tǒng)執(zhí)行時(shí)把指定文件的名字從目錄和索引表中除去,并收回它所占用的存儲(chǔ)區(qū)域,但刪除一個(gè)文件前應(yīng)先關(guān)閉該文件。
    4、對相關(guān)臨界區(qū)的管理有哪些要求?
    為了使并發(fā)進(jìn)程能正確地執(zhí)行,對若干進(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)該無限逗留在自己的臨界區(qū)中;
    ③ 不能強(qiáng)迫一個(gè)進(jìn)程無限地等待進(jìn)入它的臨界區(qū),即有進(jìn)程退出臨界區(qū)時(shí)應(yīng)讓下一個(gè)等待進(jìn)入臨界區(qū)的進(jìn)程進(jìn)入它的臨界區(qū)。
    5、簡述解決死鎖問題的三種方法
    ① 死鎖的防止。系統(tǒng)按預(yù)定的策略為進(jìn)程分配資源,這些分配策略能使死鎖的四個(gè)必要條件之一不成立,從而使系統(tǒng)不產(chǎn)生死鎖。
    ② 死鎖的避免。系統(tǒng)動(dòng)態(tài)地測試資源分配情況,僅當(dāng)能確保系統(tǒng)安全時(shí)才給進(jìn)程分配資源。
    ③ 死鎖的檢測。對資源的申請和分配不加限制,只要有剩余的資源就呆把資源分配給申請者,操作系統(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、簡述計(jì)算機(jī)系統(tǒng)的中斷機(jī)制及其作用
    中斷機(jī)制包括硬件的中斷裝置和操作系統(tǒng)的中斷處理服務(wù)程序。
    中斷裝置由一些特定的寄存器和控制線路組成,中央處理器和外圍設(shè)備等識別到的事件保存在特定的寄存器中,中央處理器每執(zhí)行完一條指令,均由中斷裝置判別是否有事件發(fā)生。
    若無事件發(fā)生,CPU繼續(xù)執(zhí)行;若有事件發(fā)生,則中斷裝置中斷原占有CPU的程序的執(zhí)行,讓操作系統(tǒng)的處理事件服務(wù)程序占用CPU,對出現(xiàn)的事件進(jìn)行處理,事件處理完后,再讓原來的程序繼續(xù)占用CPU執(zhí)行。
    8、選擇進(jìn)程調(diào)度算法的準(zhǔn)則是什么?
    由于各種調(diào)度算法都有自己的特性,因此,很難評價(jià)哪種算法是的。一般說來,選擇算法時(shí)可以考慮如下一些原則:
    ① 處理器利用率;
    ② 吞吐量;
    ③ 等待時(shí)間;
    ④ 響應(yīng)時(shí)間。
    在選擇調(diào)度算法前,應(yīng)考慮好采用的準(zhǔn)則,當(dāng)確定準(zhǔn)則后,通過對各種算法的評估,從中選擇出最合適的算法。
    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)簡單,以及資源分配大多采用靜態(tài)分配法,使得操作系統(tǒng)死鎖問題的嚴(yán)重性未能充分暴露出來。但今天由于多道程序系統(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í)行的說明書,由操作員輸入到計(jì)算機(jī)系統(tǒng)中等待處理。操作系統(tǒng)選擇作業(yè)并按作業(yè)說明書的要求自動(dòng)控制作業(yè)的執(zhí)行。采用這種批量化處理作業(yè)的操作系統(tǒng)稱為批處理操作系統(tǒng)。
    12、對特權(quán)指令的使用有什么限制?
    只允許操作系統(tǒng)使用特權(quán)指令,用戶程序不能使用特權(quán)指令。
    13、影響缺頁中斷率有哪幾個(gè)主要因素?
    影響缺頁中斷率的因素有四個(gè):
    ① 分配給作業(yè)的主存塊數(shù)多則缺頁率低,反之缺頁中斷率就高。
    ② 頁面大,缺頁中斷率低;頁面小缺頁中斷率高。
    ③ 程序編制方法。以數(shù)組運(yùn)算為例,如果每一行元素存放在一頁中,則按行處理各元素缺頁中斷率低;反之,按列處理各元素,則缺頁中斷率高。
    ④ 頁面調(diào)度算法對缺頁中斷率影響很大,但不可能找到一種算法。
    14、磁盤移臂調(diào)度的目的是什么?常用移臂調(diào)度算法有哪些?
    磁盤移臂調(diào)度的目的是盡可能地減少輸入輸出操作中的尋找時(shí)間。
    常用的移臂調(diào)度算法有:
    ① 先來先服務(wù)算法
    ② 最短尋找時(shí)間優(yōu)先算法
    ③ 電梯調(diào)度算法
    ④ 單向掃描算法。
    15、常用的作業(yè)調(diào)度算法有哪些?
    ① 先來先服務(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īng)關(guān)系。
    作用:頁式存儲(chǔ)管理在用動(dòng)態(tài)重定位方式裝入作業(yè)時(shí),要利用頁表做地址轉(zhuǎn)換工作。
    快表就是存放在高速緩沖存儲(chǔ)器的部分頁表。它起頁表相同的作用。
    由于采用頁表做地址轉(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),用來存放子進(jìn)程的proc結(jié)構(gòu);
    ② 為子進(jìn)程分配一個(gè)的標(biāo)識號;
    ③ 把父進(jìn)程中的字段復(fù)制到子進(jìn)程的proc中,并把p – pid置為分配到的進(jìn)程標(biāo)識號,把p-pid置為父進(jìn)程的標(biāo)識號,把p-stat置為創(chuàng)建狀態(tài);
    ④ 按父進(jìn)程中p-size所示的長度為子進(jìn)程申請分配內(nèi)存。若有足夠的內(nèi)存,則把父進(jìn)程的user結(jié)構(gòu)、棧和用戶數(shù)據(jù)區(qū)全部復(fù)制到子進(jìn)程的空間中;若無足夠的內(nèi)存,則在磁盤對換區(qū)中分配存儲(chǔ)空間,然后復(fù)制到對換區(qū)中,置于進(jìn)程狀態(tài)為就緒狀態(tài)。