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