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

字號:

21、為什么說批處理多道系統(tǒng)能極大地提高計算機(jī)系統(tǒng)的工作效率?
    ① 多道作業(yè)并行工作,減少了處理器的空閑時間。
    ② 作業(yè)調(diào)度可以合理選擇裝入主存儲器中的作業(yè),充分利用計算機(jī)系統(tǒng)的資源。
    ③ 作業(yè)執(zhí)行過程中不再訪問低速設(shè)備,而直接訪問高速的磁盤設(shè)備,縮短執(zhí)行時間。
    ④ 作業(yè)成批輸入,減少了從操作到作業(yè)的交接時間。
    22、操作系統(tǒng)為用戶提供哪些接口?
    操作系統(tǒng)為用戶提供兩種類型的使用接口:
    一是操作員級的,它為用戶提供控制作業(yè)執(zhí)行的途徑;
    二是程序員級的,它為用戶程序提供服務(wù)功能。
    23、什么是線程?多線程技術(shù)具有哪些優(yōu)越性?
    線程是進(jìn)程中可獨(dú)立執(zhí)行的子任務(wù),一個進(jìn)程可以有一個或多個線程,每個線程都有一個惟一的標(biāo)識符。線程與進(jìn)程有許多相似之處,往往把線程又稱為“輕型進(jìn)程”,線程與進(jìn)程的根本區(qū)別是把進(jìn)程作為資源分配單位,而線程是調(diào)度和執(zhí)行單位。
    多線程技術(shù)具有多個方面的優(yōu)越性:
    ① 創(chuàng)建速度快、系統(tǒng)開銷?。簞?chuàng)建線程不需要另行分配資源;
    ② 通信簡潔、信息傳送速度快:線程間的通信在統(tǒng)一地址空間進(jìn)程,不需要額外的通信機(jī)制;
    ③ 并行性高:線程能獨(dú)立執(zhí)行,能充分利用和發(fā)揮處理器與外圍設(shè)備并行工作的能力。
    24、UNIX系統(tǒng)中的優(yōu)先權(quán)和優(yōu)先數(shù)有什么關(guān)系?如何確定進(jìn)程的優(yōu)先權(quán)和優(yōu)先數(shù)?
    UNIX中每個進(jìn)程都有一個優(yōu)先數(shù),就緒進(jìn)程能否占用處理器的優(yōu)先權(quán)取決于進(jìn)程的優(yōu)先數(shù),優(yōu)先數(shù)越小則優(yōu)先權(quán)越高。
    UNIX以動態(tài)方式確定優(yōu)先權(quán),如核心的進(jìn)程優(yōu)先權(quán)高于進(jìn)入用戶態(tài)的進(jìn)程;降低用完一個時間片的進(jìn)程的優(yōu)先權(quán);對進(jìn)入睡眠的進(jìn)程,其等待事件越急優(yōu)先數(shù)越高;降低使用處理器時間較長的進(jìn)程的優(yōu)先權(quán)。
    UNIX中確定進(jìn)程優(yōu)先數(shù)的方法有兩種:設(shè)置方法和計算方法。前者對要進(jìn)入睡眠狀態(tài)的進(jìn)程設(shè)置優(yōu)先數(shù),若等待的事件急迫,則設(shè)置較小的優(yōu)先數(shù);后者用戶進(jìn)程正在或即將轉(zhuǎn)入用戶狀態(tài)運(yùn)行時確定優(yōu)先數(shù)。
    25、主存空間信息保護(hù)有哪些措施?
    保存主存空間中的信息一般采用以下措施:
    ① 程序執(zhí)行時訪問屬于自己主存區(qū)域的信息,允許它既可讀,又可寫;
    ② 對共享區(qū)域中的信息只可讀,不可修改;
    ③ 對非共享區(qū)域或非自己的主存區(qū)域中的信息既不可讀,也不可寫。
    26、共享設(shè)備允許多個作業(yè)同時使用,這里的“同時使用”的含義是什么?
    “同時使用”的含義是多個作業(yè)可以交替地啟動共享設(shè)備,在某一時刻仍只有一個作業(yè)占有。
    27、簡述“打開文件”操作的系統(tǒng)處理過程。
    用戶要使用一個已經(jīng)存放在存儲介質(zhì)上的文件前,必須先提出“打開文件”要求。這時用戶也必須向系統(tǒng)提供參數(shù):用戶名、文件名、存取方式、存儲設(shè)備類型、口令等。
    系統(tǒng)在接到用戶的“打開文件”要求后,找出該用戶的文件目錄,當(dāng)文件目錄不在主存儲器中時還必須把它讀到主存儲器中;然后檢索文件目錄,指出與用戶要求相符合的目錄項,取出文件存放的物理地址。
    對索引文件還必須把該文件的索引表存放在主存儲器中,以便后繼的讀寫操作能快速進(jìn)行。
    28、什么是“前臺”作業(yè)、“后臺”作業(yè)?為什么對“前臺”作業(yè)要及時響應(yīng)?
    批處理操作系統(tǒng)實(shí)現(xiàn)自動控制無需人為干預(yù),分時操作系統(tǒng)實(shí)現(xiàn)了人機(jī)交互對話,這兩種操作系統(tǒng)具有各自的優(yōu)點(diǎn)。為了充分發(fā)揮批處理系統(tǒng)和分時系統(tǒng)的優(yōu)點(diǎn),在一個計算機(jī)系統(tǒng)上配置的操作系統(tǒng)往往既具有批處理能力,又有提供分時交互的能力。這樣,用戶可以先在分時系統(tǒng)的控制下,以交互式輸入、調(diào)試和修改自己的程序;然后,可以把調(diào)試好的程序轉(zhuǎn)交給批處理系統(tǒng)自動控制其執(zhí)行而產(chǎn)生結(jié)果。這些由分時系統(tǒng)控制的作業(yè)稱為“前臺”作業(yè),而那些由批處理系統(tǒng)控制的作業(yè)稱為“后臺”作業(yè)。
    在這樣的系統(tǒng)中,對前臺作業(yè)應(yīng)該及時響應(yīng),使用戶滿意;對后臺作業(yè)可以按一定的原則進(jìn)行組合,以提高系統(tǒng)的效率。
    29、存儲型設(shè)備和輸入輸出型設(shè)備的輸入輸出操作的信息傳輸單位有何不同?
    存儲型設(shè)備輸入輸出操作的信息傳輸單位是“塊”,而輸入輸出型設(shè)備輸入輸出操作的信息傳輸單位是“字符”。
    30、簡述信號量S的物理含義
    S>0時,S表示可使用的資源數(shù);或表示可使用資源的進(jìn)程數(shù);
    S=0時,表示無資源可供使用;或表示不允許進(jìn)程再進(jìn)入臨界區(qū);
    S<0時,-S表示等待使用資源的進(jìn)程個數(shù);或表示等待進(jìn)入臨界區(qū)的進(jìn)程個數(shù);
    當(dāng)S>0時,調(diào)用P(S)的進(jìn)程不會等待;調(diào)用V(S)后使可用資源數(shù)加1或使可用資源的進(jìn)程數(shù)加1;
    當(dāng)S<0時,調(diào)用P(S)的進(jìn)程必須等待;調(diào)用V(S)后將釋放一個等待使用資源者或釋放一個等待進(jìn)入臨界區(qū)者。
    31、簡述“關(guān)閉文件”操作的系統(tǒng)處理過程
    執(zhí)行“關(guān)閉”操作時先要檢查讀到主存中的文件目錄或索引表是否被修改過,若被修改過,則應(yīng)把修改過的文件目錄或索引表重新保存好。
    用戶提出“關(guān)閉”要求時,必須說明關(guān)閉哪個文件。
    32、什么是計算機(jī)系統(tǒng)?它由哪幾部分組成?
    計算機(jī)系統(tǒng)是按用戶的要求接收和存儲信息,自動進(jìn)行數(shù)據(jù)處理并輸出結(jié)果信息的系統(tǒng)。
    計算機(jī)系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)組成。硬件系統(tǒng)是計算機(jī)系統(tǒng)賴以工作的實(shí)體,軟件系統(tǒng)保證計算機(jī)系統(tǒng)按用戶指定的要求協(xié)調(diào)地工作。
    33、計算機(jī)系統(tǒng)怎樣實(shí)現(xiàn)存儲保護(hù)?
    一般硬件設(shè)置了基址寄存器和限長寄存器。
    中央處理器在目態(tài)下執(zhí)行系統(tǒng)中,對每個訪問主存的地址都進(jìn)行核對,若能滿足:基址寄存器值≤訪問地址≤基址寄存器值+限長寄存值,則允許訪問,否則不允許訪問。并且不允許用戶程序隨意修改這兩個寄存器的值。這就實(shí)現(xiàn)了存儲保護(hù)。
    34、給出系統(tǒng)總體上的中斷處理過程
    CPU每執(zhí)行完一條指令就去掃描中斷寄存器,檢查是否有中斷發(fā)生,若沒有中斷就繼續(xù)執(zhí)行下條指令;若有中斷發(fā)生就轉(zhuǎn)去執(zhí)行相應(yīng)的中斷處理程序。中斷處理過程可粗略的分為以下四個過程:
    ① 保護(hù)當(dāng)前正在運(yùn)行程序的現(xiàn)場;
    ② 分析是何種中斷,以便轉(zhuǎn)去執(zhí)行相應(yīng)的中斷處理程序;
    ③ 執(zhí)行相應(yīng)的中斷處理程序;
    ④ 恢復(fù)被中斷程序的現(xiàn)場。
    35、死鎖發(fā)生的必要條件有哪些?
    發(fā)生死鎖的必要條件有四點(diǎn):互斥條件、不可搶占條件、部分分配條件和循環(huán)等待條件。
    ① 互斥條件:系統(tǒng)中存在一個資源一次只能被一個進(jìn)程所使用;
    ② 非搶占條件:系統(tǒng)中存在一個資源僅能被占有它的進(jìn)程所釋放,而不能被別的進(jìn)程強(qiáng)行搶占。
    ③ 占有并等待條件:系統(tǒng)中存在一個進(jìn)程已占有了分給它的資源,但仍然等待其他資源。
    ④ 循環(huán)等待條件:在系統(tǒng)中存在一個由若干進(jìn)程形成的環(huán)形請求鏈,其中的每一個進(jìn)程均占有若干種資源中的某一種,同時每個進(jìn)程還要求(鏈上)下一個進(jìn)程所占有的資源。
    36、用戶程序中通常用什么方式指定要使用的設(shè)備?為什么?
    用戶程序中通常用“設(shè)備類、相對號”請求要使用的設(shè)備,即不具體指定要哪一臺設(shè)備,而是提出要申請哪類設(shè)備多少臺。
    這種方式使設(shè)備分配適應(yīng)性好、靈活性強(qiáng)。
    否則若用絕對號來指定設(shè)備,如果這臺設(shè)備已被占用或有故障時,該作業(yè)就無法裝入主存中。
    37、進(jìn)程調(diào)度中“可搶占”和“非搶占”兩種方式,哪一種系統(tǒng)的開銷更大?為什么?
    可搶占式會引起系統(tǒng)的開銷更大。
    可搶占式調(diào)度是嚴(yán)格保證任何時刻,讓具有優(yōu)先數(shù)(權(quán))的進(jìn)程占有處理機(jī)運(yùn)行,因此增加了處理機(jī)調(diào)度的時機(jī),引起為退出處理機(jī)的進(jìn)程保留現(xiàn)場,為占有處理機(jī)的進(jìn)程恢復(fù)現(xiàn)場等時間(和空間)開銷增大。
    38、一個含五個邏輯記錄的文件,系統(tǒng)把它以鏈接結(jié)構(gòu)的形式組織在磁盤上,每個記錄占用一個磁盤塊,現(xiàn)要求在第一記錄和第二記錄之間插入一個新記錄,簡述它的操作過程。
    從文件目錄中找到該文件,按址讀出第一個記錄;
    取出第一個記錄塊中指針,存放到新記錄的指針位置;
    把新記錄占用的物理塊號填入第一個記錄的指針位置;
    啟動磁盤把第一個記錄和新記錄寫到指字的磁盤塊上。
    39、在SPOOL系統(tǒng)中設(shè)計了一張“緩輸出表”,請問哪些程序執(zhí)行時要訪問緩輸出表,簡單說明之。
    井管理寫程序把作業(yè)執(zhí)行結(jié)果文件登記在緩輸出表中;
    緩輸出程序從緩輸出表中查找結(jié)果文件并打印輸出。
    40、試比較進(jìn)程調(diào)度與作業(yè)調(diào)度的不同點(diǎn)
    ① 作業(yè)調(diào)度是宏觀調(diào)度,它決定了哪一個作業(yè)能進(jìn)入主存。進(jìn)程調(diào)度是微觀調(diào)度,它決定各作業(yè)中的哪一個進(jìn)程占有中央處理器。
    ② 作業(yè)調(diào)度是選符合條件的收容態(tài)作業(yè)裝入主存。進(jìn)程調(diào)度是從就緒態(tài)進(jìn)程中選一個占用處理器。
    41、試說明資源的靜態(tài)分配策略能防止死鎖的原因
    資源靜態(tài)分配策略要求每個過程在開始執(zhí)行前申請所需的全部資源,僅在系統(tǒng)為之分配了所需的全部資源后,該進(jìn)程才開始執(zhí)行。
    這樣,進(jìn)程在執(zhí)行過程中不再申請資源,從而破壞了死鎖的四個必要條件之一“占有并等待條件”,從而防止死鎖的發(fā)生。
    42、簡述操作系統(tǒng)提供的服務(wù)功能
    處理用戶命令;讀/寫文件;分配/回收資源;
    處理硬件/軟件出現(xiàn)的錯誤;及其他控制功能。
    43、簡述中斷裝置的主要職能
    中斷裝置的職能主要有三點(diǎn):
    ① 檢查是否有中斷事件發(fā)生;
    ② 若有中斷發(fā)生,保護(hù)好被中斷進(jìn)程的斷點(diǎn)及現(xiàn)場信息,以便進(jìn)程在適當(dāng)時候能恢復(fù)執(zhí)行;
    ③ 啟動操作系統(tǒng)的中斷處理程序。
    44、實(shí)現(xiàn)虛擬設(shè)備的硬件條件是什么?操作系統(tǒng)應(yīng)設(shè)計哪些功能程序?
    硬件條件是:配置大容量的磁盤,要有中斷裝置和通道。
    操作系統(tǒng)應(yīng)設(shè)計好“預(yù)輸入”程序,“井管理”程序,“緩輸出”程序。
    45、一個具有分時兼批處理功能的操作系統(tǒng)應(yīng)怎樣調(diào)度和管理作業(yè)?
    ① 優(yōu)先接納終端作業(yè),僅當(dāng)終端作業(yè)數(shù)小于系統(tǒng)可以允許同時工作的作業(yè)數(shù)時,可以調(diào)度批處理作業(yè);
    ② 允許終端作業(yè)的批處理作業(yè)混合同時執(zhí)行;
    ③ 把終端作業(yè)的就緒進(jìn)程排成一個就緒隊列,把批處理作業(yè)的就緒進(jìn)程排入另外的就緒隊列中;
    ④ 有終端作業(yè)進(jìn)程就緒時,優(yōu)先讓其按“時間片輪轉(zhuǎn)”法先運(yùn)行。沒有終端作業(yè)時再按確定算法選批處理作業(yè)就緒進(jìn)程運(yùn)行。
    46、簡述死鎖的防止與死鎖的避免的區(qū)別
    死鎖的防止是系統(tǒng)預(yù)先確定一些資源分配策略,進(jìn)程按規(guī)定申請資源,系統(tǒng)按預(yù)先規(guī)定的策略進(jìn)行分配從而防止死鎖的發(fā)生。
    而死鎖的避免是當(dāng)進(jìn)程提出資源申請時系統(tǒng)測試資源分配僅當(dāng)能確保系統(tǒng)安全時才把資源分配給進(jìn)程,使系統(tǒng)一直處于安全狀態(tài)之中,從而避免死鎖。