版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一章1什么是操作系統(tǒng)的基本功能 ?答:操作系統(tǒng)的職能是管理和控制計(jì)算機(jī)系統(tǒng)中的所有硬、 軟件資源, 合理 地組織計(jì)算機(jī)工作流程, 并為用戶提供一個(gè)良好的工作環(huán)境和友好的接口。 操作 系統(tǒng)的基本功能包括:處理機(jī)管理、存儲(chǔ)管理、設(shè)備管理、信息管理 ( 文件系統(tǒng) 管理) 和用戶接口等。2什么是批處理、分時(shí)和實(shí)時(shí)系統(tǒng) ?各有什么特征 ?答:批處理系統(tǒng) (batch processingsystem) :操作員把用戶提交的作業(yè)分類, 把一批作業(yè)編成一個(gè)作業(yè)執(zhí)行序列,由專門編制的監(jiān)督程序 (monitor) 自動(dòng)依次 處理。其主要特征是:用戶脫機(jī)使用計(jì)算機(jī)、成批處理、多道程序運(yùn)行。分時(shí)系統(tǒng) (time
2、sharing operation system):把處理機(jī)的運(yùn)行時(shí)間分成很短的時(shí)間片,按時(shí)間片輪轉(zhuǎn)的方式, 把處理機(jī)分配給各進(jìn)程使用。 其主要特征是: 交互性、多用戶同時(shí)性、獨(dú)立性。實(shí)時(shí)系統(tǒng) (real time system) :在被控對(duì)象允許時(shí)間范圍內(nèi)作出響應(yīng)。其主 要特征是:對(duì)實(shí)時(shí)信息分析處理速度要比進(jìn)入系統(tǒng)快、 要求安全可靠、 資源利用 率低。3 多道程序設(shè)計(jì)和多重處理有何區(qū)別 ?答;多道程序 (multiprogramming) 是作業(yè)之間自動(dòng)調(diào)度執(zhí)行、 共享系統(tǒng)資源, 并不是真正地同時(shí)執(zhí)行多個(gè)作業(yè);而多重處理 (multiprocessing) 系統(tǒng)配置多個(gè) CPU能真正同時(shí)執(zhí)行
3、多道程序。要有效使用多重處理,必須采用多道程序設(shè)計(jì) 技術(shù),而多道程序設(shè)計(jì)原則上不一定要求多重處理系統(tǒng)的支持。4 討論操作系統(tǒng)可以從哪些角度出發(fā),如何把它們統(tǒng)一起來?答;討論操作系統(tǒng)可以從以下角度出發(fā):( 1)操作系統(tǒng)是計(jì)算機(jī)資源的管 理者;(2)操作系統(tǒng)為用戶提供使用計(jì)算機(jī)及界面; (3)用進(jìn)程管理觀點(diǎn)研究 操作系統(tǒng),即圍繞進(jìn)程運(yùn)行過程來討論操作系統(tǒng)。上述這些觀點(diǎn)彼此并不矛盾, 分別代表了從不同角度對(duì)同一事物 (操作系統(tǒng)) 的觀點(diǎn)。每種觀點(diǎn)都有助于理解、分析和設(shè)計(jì)操作系統(tǒng)。6 設(shè)計(jì)計(jì)算機(jī)操作系統(tǒng)與哪些硬件器件有關(guān)? 答;計(jì)算機(jī)操作系統(tǒng)的重要功能之一是對(duì)硬件資源的管理。 因此設(shè)計(jì)計(jì)算機(jī)操作 系統(tǒng)
4、時(shí)應(yīng)考慮下述計(jì)算機(jī)硬件資源:(1)CPU與指令的長(zhǎng)度與執(zhí)行方式;(2) 內(nèi)存、緩存和高速緩存等存儲(chǔ)裝置;( 3)各類寄存器,包括各種通用寄存器、 控制寄存器和狀態(tài)寄存器; ( 4)中斷機(jī)構(gòu);( 5)外部設(shè)備與 I/O 控制裝置;( 6) 內(nèi)部總線與外部總線;( 7)對(duì)硬件進(jìn)行操作的指令集。第二章1. 什么是作業(yè) ? 作業(yè)步 ?答:把在一次應(yīng)用業(yè)務(wù)處理過程中, 從輸入開始到輸出結(jié)束, 用戶要求計(jì)算 機(jī)所做的有關(guān)該次業(yè)務(wù)處理的全部工作稱為一個(gè)作業(yè)。 作業(yè)由不同的順序相連的 作業(yè)步組成。作業(yè)步是在一個(gè)作業(yè)的處理過程中, 計(jì)算機(jī)所做的相對(duì)獨(dú)立的工作。 如,編輯輸入是一個(gè)作業(yè)步,它產(chǎn)生源程序文件;編譯也
5、是一個(gè)作業(yè)步,它產(chǎn)生 目標(biāo)代碼文件。2. 作業(yè)由哪幾部分組成 ? 各有什么功能 ? 答:作業(yè)由三部分組成:程序、數(shù)據(jù)和作業(yè)說明書。程序和數(shù)據(jù)完成用戶所 要求的業(yè)務(wù)處理工作,作業(yè)說明書則體現(xiàn)用戶的控制意圖。3作業(yè)的輸入方式有哪幾種 ?各有何特點(diǎn)答:作業(yè)的輸入方式有 5 種:聯(lián)機(jī)輸入方式、脫機(jī)輸入方式、直接耦合方式、 SPOOLING(Simultaneous Peripheral Operations Online) 系統(tǒng)和網(wǎng)絡(luò)輸入方式, 各有如下特點(diǎn):(1) 聯(lián)機(jī)輸入方式:用戶和系統(tǒng)通過交互式會(huì)話來輸入作業(yè)。(2) 脫機(jī)輸入方式: 又稱預(yù)輸入方式, 利用低檔個(gè)人計(jì)算機(jī)作為外圍處理機(jī) 進(jìn)行輸入處
6、理, 存儲(chǔ)在后備存儲(chǔ)器上, 然后將此后援存儲(chǔ)器連接到高速外圍設(shè)備 上和主機(jī)相連,從而在較短的時(shí)間內(nèi)完成作業(yè)的輸入工作。(3) 直接耦合方式:把主機(jī)和外圍低檔機(jī)通過一個(gè)公用的大容量外存直接耦 合起來,從而省去了在脫機(jī)輸入中那種依靠人工干預(yù)來傳遞后援存儲(chǔ)器的過程。SPOOLING系統(tǒng):可譯為外圍設(shè)備同時(shí)聯(lián)機(jī)操作。在 SPOOLING!統(tǒng)中, 多臺(tái)外圍設(shè)備通過通道或DMA器件和主機(jī)與外存連接起來,作業(yè)的輸入輸出過程 由主機(jī)中的操作系統(tǒng)控制。(5) 網(wǎng)絡(luò)輸入方式: 網(wǎng)絡(luò)輸入方式以上述幾種輸入方式為基礎(chǔ), 當(dāng)用戶需要 把在計(jì)算機(jī)網(wǎng)絡(luò)中某一臺(tái)主機(jī)上輸入的信息傳送到同一網(wǎng)中另一臺(tái)主機(jī)上進(jìn)行 操作或執(zhí)行時(shí),就
7、構(gòu)成了網(wǎng)絡(luò)輸入方式。4. 試述SPOOLIN系統(tǒng)的工作原理。答:在SPOOLIN系統(tǒng)中,多臺(tái)外圍設(shè)備通過通道或 DMA器件和主機(jī)與外存 連接起來, 作業(yè)的輸入輸出過程由主機(jī)中的操作系統(tǒng)控制。 操作系統(tǒng)中的輸入程 序包含兩個(gè)獨(dú)立的過程, 一個(gè)過程負(fù)責(zé)從外部設(shè)備把信息讀入緩沖區(qū), 另一個(gè)過 程是寫過程,負(fù)責(zé)把緩沖區(qū)中的信息送入到外存輸入井中。在系統(tǒng)輸入模塊收到作業(yè)輸入請(qǐng)求后, 輸入管理模塊中的讀過程負(fù)責(zé)將信息 從輸入裝置讀入緩沖區(qū)。 當(dāng)緩沖區(qū)滿時(shí), 由寫過程將信息從緩沖區(qū)寫到外存輸入 井中。讀過程和寫過程反復(fù)循環(huán), 直到一個(gè)作業(yè)輸入完畢。 當(dāng)讀過程讀到一個(gè)硬 件結(jié)束標(biāo)志后,系統(tǒng)再次驅(qū)動(dòng)寫過程把最后
8、一批信息寫入外存并調(diào)用中斷處理程 序結(jié)束該次輸入。然后,系統(tǒng)為該作業(yè)建立作業(yè)控制塊JCB從而使輸入井中的作業(yè)進(jìn)入作業(yè)等待隊(duì)列,等待作業(yè)調(diào)度程序選中后進(jìn)入內(nèi)存。5. 操作系統(tǒng)為用戶提供哪些接口 ?它們的區(qū)別是什么 ?答:操作系統(tǒng)為用戶提供兩個(gè)接口, 一個(gè)是系統(tǒng)為用戶提供的各種命令接口, 用戶利用這些操作命令來組織和控制作業(yè)的執(zhí)行或管理計(jì)算機(jī)系統(tǒng)。 另一個(gè)接口 是系統(tǒng)調(diào)用, 編程人員使用系統(tǒng)調(diào)用來請(qǐng)求操作系統(tǒng)提供服務(wù), 例如申請(qǐng)和釋放 外設(shè)等類資源、控制程序的執(zhí)行速度等。6. 作業(yè)控制方式有哪幾種 ?調(diào)查你周圍的計(jì)算機(jī)的作業(yè)控制方式 答:作業(yè)控制的主要方式有兩種:脫機(jī)方式和聯(lián)機(jī)方式。脫機(jī)控制方式利
9、用作業(yè)控制語言來編寫表示用戶控制意圖的作業(yè)控制程序, 也就是作業(yè)說明書。 作業(yè)控制語言的語句就是作業(yè)控制命令。 不同的批處理系統(tǒng) 提供不同的作業(yè)控制語言。聯(lián)機(jī)控制方式不同于脫機(jī)控制方式,它不要求用戶填寫作業(yè)說明書,系統(tǒng) 只為用戶提供一組鍵盤或其他操作方式的命令。 用戶使用操作系統(tǒng)提供的操作命 令和系統(tǒng)會(huì)話,交互地控制程序執(zhí)行和管理計(jì)算機(jī)系統(tǒng)。7什么是系統(tǒng)調(diào)用 ?系統(tǒng)調(diào)用與一般用戶程序有什么區(qū)別 ?與庫函數(shù)和實(shí)用程序 又有什么區(qū)別 ?答:系統(tǒng)調(diào)用是操作系統(tǒng)提供給編程人員的唯一接口。 編程人員利用系統(tǒng)調(diào) 用,在源程序一級(jí)動(dòng)態(tài)請(qǐng)求和釋放系統(tǒng)資源, 調(diào)用系統(tǒng)中已有的系統(tǒng)功能來完成 那些與機(jī)器硬件部分相
10、關(guān)的工作以及控制程序的執(zhí)行速度等。 因此,系統(tǒng)調(diào)用像 一個(gè)黑箱子那樣,對(duì)用戶屏蔽了操作系統(tǒng)的具體動(dòng)作而只提供有關(guān)的功能。系統(tǒng)調(diào)用與一般用戶程序、 庫函數(shù)和實(shí)用程序的區(qū)別是: 系統(tǒng)調(diào)用程序是在 核心態(tài)執(zhí)行,調(diào)用它們需要一個(gè)類似于硬件中斷處理的中斷處理機(jī)制來提供系統(tǒng) 服務(wù)。8簡(jiǎn)述系統(tǒng)調(diào)用的實(shí)現(xiàn)過程。答:用戶在程序中使用系統(tǒng)調(diào)用, 給出系統(tǒng)調(diào)用名和函數(shù)后, 即產(chǎn)生一條相 應(yīng)的陷入指令, 通過陷入處理機(jī)制調(diào)用服務(wù), 引起處理機(jī)中斷, 然后保護(hù)處理機(jī) 現(xiàn)場(chǎng),取系統(tǒng)調(diào)用功能號(hào)并尋找子程序入口, 通過入口地址表來調(diào)用系統(tǒng)子程序, 然后返回用戶程序繼續(xù)執(zhí)行。9為什么說分時(shí)系統(tǒng)沒有作業(yè)的概念? 答:因?yàn)檎Ψ謺r(shí)系
11、統(tǒng)中, 每個(gè)用戶得到的時(shí)間片有限, 用戶的程序和數(shù)據(jù)信 息直接輸入到內(nèi)存工作區(qū)中和其它程序一起搶占系統(tǒng)資源投入執(zhí)行, 而不必進(jìn)入 外存輸入井等待作業(yè)調(diào)度程序選擇。 因此,分時(shí)系統(tǒng)沒有作業(yè)控制表, 也沒有作 業(yè)調(diào)度程序。第三章 1有人說,一個(gè)進(jìn)程是由偽處理機(jī)執(zhí)行的一個(gè)程序,這話對(duì)嗎?為什么? 答:對(duì)。因?yàn)閭翁幚頇C(jī)的概念只有在執(zhí)行時(shí)才存在, 它表示多個(gè)進(jìn)程在單處 理機(jī)上并發(fā)執(zhí)行的一個(gè)調(diào)度單位。 因此,盡管進(jìn)程是動(dòng)態(tài)概念, 是程序的執(zhí)行過 程,但是,在多個(gè)進(jìn)程并發(fā)執(zhí)行時(shí),仍然只有一個(gè)進(jìn)程占據(jù)處理機(jī)執(zhí)行,而其它 并發(fā)進(jìn)程則處于就緒或等待狀態(tài)。這些并發(fā)進(jìn)程就相當(dāng)于由偽處理機(jī)執(zhí)行的程 序。2試比較進(jìn)程和程
12、序的區(qū)別。答:(1) 進(jìn)程是一個(gè)動(dòng)態(tài)概念, 而程序是一個(gè)靜態(tài)概念, 程序是指令的有序 集合,無執(zhí)行含義,進(jìn)程則強(qiáng)調(diào)執(zhí)行的過程。(2) 進(jìn)程具有并行特征 (獨(dú)立性,異步性 ) ,程序則沒有。(3) 不同的進(jìn)程可以包含同一個(gè)程序, 同一程序在執(zhí)行中也可以產(chǎn)生多個(gè)進(jìn) 程。4試比較作業(yè)和進(jìn)程的區(qū)別答:并非對(duì)所有的程序均成立。例如:begin local x x:=10 print(x)end上述程序中 x 是內(nèi)部變量, 不可能被外部程序訪問, 因此這段程序的運(yùn)行不 會(huì)受外界環(huán)境影響。4試比較作業(yè)和進(jìn)程的區(qū)別。 答:一個(gè)進(jìn)程是一個(gè)程序?qū)δ硞€(gè)數(shù)據(jù)集的執(zhí)行過程, 是分配資源的基本單位。 作業(yè)是用于需要計(jì)算機(jī)
13、完成某項(xiàng)任務(wù), 而要求計(jì)算機(jī)所做工作的集合。 一個(gè)作業(yè) 的完成要經(jīng)過作業(yè)提交, 作業(yè)收容、作業(yè)執(zhí)行和作業(yè)完成 4 個(gè)階段。而進(jìn)程是已 提交完畢的程序所執(zhí)行過程的描述, 是資源分配的基本單位。 其主要區(qū)別關(guān)系如 下:(1) 作業(yè)是用戶向計(jì)算機(jī)提交任務(wù)的任務(wù)實(shí)體。 在用戶向計(jì)算機(jī)提交作業(yè)之 后,系統(tǒng)將存儲(chǔ)在外存中的作業(yè)等待隊(duì)列中等待執(zhí)行。 而進(jìn)程則是完成用戶任務(wù) 的執(zhí)行實(shí)體,是向系統(tǒng)申請(qǐng)分配資源的基本單位。任一進(jìn)程,只要它被創(chuàng)建,總 有相應(yīng)的部分存在于內(nèi)存中。(2) 一個(gè)作業(yè)可由多個(gè)進(jìn)程組成。 且必須至少由一個(gè)進(jìn)程組成, 但反過來不 成立。(3) 作業(yè)的概念主要用在批處理系統(tǒng)中。像 Unix 這樣
14、的分時(shí)系統(tǒng)中,則沒 有作業(yè)概念。而進(jìn)程的概念則用在幾乎所有的多道程序系統(tǒng)中。6什么是臨界區(qū) ?試舉一臨界區(qū)的例子。 答:臨界區(qū)是指不允許多個(gè)并發(fā)進(jìn)程交叉執(zhí)行的一段程序。 它是由于不同并 發(fā)進(jìn)程的程序段共享公用數(shù)據(jù)或公用數(shù)據(jù)變量而引起的。 所以它又被稱為訪問公 用數(shù)據(jù)的那段程序。例如: getspace : begin local g g=stacttop top=top-1End release(ad) : Begin top=top+1stacktop= adEnd7并發(fā)進(jìn)程間的制約有哪兩種 ?引起制約的原因是什么 ? 答:并發(fā)進(jìn)程所受的制約有兩種:直接制約和間接制約。 直接制約是由并發(fā)進(jìn)程
15、互相共享對(duì)方的私有資源所引起的。間接制約是由競(jìng)爭(zhēng)共有資源而引起的8什么是進(jìn)程間的互斥 ?什么是進(jìn)程間同步 ?答:進(jìn)程間的互斥是指: 一組并發(fā)進(jìn)程中的一個(gè)或多個(gè)程序段, 因共享某一 公有資源而導(dǎo)致它們必須以一個(gè)不許交叉執(zhí)行的單位執(zhí)行, 即不允許兩個(gè)以上的 共享該資源的并發(fā)進(jìn)程同時(shí)進(jìn)入臨界區(qū)。進(jìn)程間的同步是指:異步環(huán)境下的一組并發(fā)進(jìn)程因直接制約互相發(fā)送消息而 進(jìn)行互相合作、互相等待,使得各進(jìn)程按一定的速度執(zhí)行的過程。9試比較 P,V 原語法和加鎖法實(shí)現(xiàn)進(jìn)程間互斥的區(qū)別。答:互斥的加鎖實(shí)現(xiàn)是這樣的: 當(dāng)某個(gè)進(jìn)程進(jìn)入臨界區(qū)之后, 它將鎖上臨界 區(qū),直到它退出臨界區(qū)時(shí)為止。 并發(fā)進(jìn)程在申請(qǐng)進(jìn)入臨界區(qū)時(shí),
16、 首先測(cè)試該臨界 區(qū)是否是上鎖的, 如果該臨界區(qū)已被鎖住, 則該進(jìn)程要等到該臨界區(qū)開鎖之后才 有可能獲得臨界區(qū)。加鎖法存在如下弊端:(1)循環(huán)測(cè)試鎖定位將損耗較多的 CPU計(jì)算時(shí)間;(2) 產(chǎn)生不公平現(xiàn)象。P,V原語法采用信號(hào)量管理相應(yīng)臨界區(qū)的公有資源,信號(hào)量的數(shù)值僅能由P,V原語操作改變,而P,V原語執(zhí)行期間不允許中斷發(fā)生。其過程是這樣的:當(dāng) 某個(gè)進(jìn)程正在臨界區(qū)內(nèi)執(zhí)行時(shí),其他進(jìn)程如果執(zhí)行了P原語,則該進(jìn)程并不像lock 時(shí)那樣因進(jìn)不了臨界區(qū)而返回到 lock 的起點(diǎn),等以后重新執(zhí)行測(cè)試,而是 在等待隊(duì)列中等待由其他進(jìn)程做 V原語操作釋放資源后,進(jìn)入臨界區(qū),這時(shí)P原語才算真正結(jié)束。若有多個(gè)進(jìn)程
17、做 P原語操作而進(jìn)入等待狀態(tài)之后,一旦有 V 原語釋放資源,則等待進(jìn)程中的一個(gè)進(jìn)入臨界區(qū),其余的繼續(xù)等待??傊渔i法是采用反復(fù)測(cè)試lock而實(shí)現(xiàn)互斥的,存在CPU良費(fèi)和不公平 現(xiàn)像,P,V原語使用了信號(hào)量,克服了加鎖法的弊端。10 答:設(shè)第 I 塊緩沖區(qū)的公有信號(hào)量為 metexI ,保證生產(chǎn)者進(jìn)程和消費(fèi)者 進(jìn)程對(duì)同一塊緩沖區(qū)操作的互斥,初值為 1;設(shè)信號(hào)量 avail 為生產(chǎn)者進(jìn)程的私有信號(hào)量,初值為 m; 設(shè)信號(hào)量 full 為消費(fèi)者進(jìn)程的私有信號(hào)量,初值為 0。用信號(hào)量和P、V操作描述發(fā)送過程deposit(data)和接收過程remove(data)如下:deposit(data)
18、:beginP(avail)選擇一個(gè)空緩沖區(qū) iP(mutexi)送數(shù)據(jù)入緩沖區(qū) iV(mutexi) V(full)Endremove(data) :beginP(full)選擇一個(gè)滿緩沖區(qū) iP(mutexi)取緩沖區(qū) i 中的數(shù)據(jù)V(mutexi)V(avail)End12答:定義數(shù)組 buf0,buf1 。設(shè) bufempty0,buffull1是 Pa 的公有信號(hào)量 ;設(shè) bufempty1,buffull0是 Pb 的公有信號(hào)量 ;初值為:bufempty0= bufempty1=nbuffull0= buffull1=0用信號(hào)量和P、V操作描述發(fā)送過程send(i,m)和接收過程
19、receive(i,m) 如下:send (i,m):beginlocal xP(bufemptyi)按 FIFO 選擇一個(gè)空緩沖區(qū) bufi(x)bufi(x)=mbufi(x)置滿標(biāo)記V(buffulli)Endreceive(i,m) :beginlocal xP(buffulli)按 FIFO 選擇一個(gè)滿緩沖區(qū) bufi(x)m=bufi(x)bufi(x)置空標(biāo)記V(bufemptyi)EndPa調(diào)用 send(O,m)和 receive(1,m)Pb調(diào)用 send(1,m)和 receive(O,m)答:設(shè)信號(hào)量ci,初值為1; i=0,1,2,3,40 i表示第i號(hào)筷子。(1)
20、第 i 個(gè)哲學(xué)家要吃飯:eat(i) :beginP(ci)14 P(ci+1 mod 5)吃飯V(ci+1 mod 5) V(ci)End 該過程能保證兩個(gè)鄰座不同時(shí)吃飯, 但有可能出現(xiàn)每人只拿到一支筷子, 誰 也吃不上飯的情況。(1) 為解決上述情況,讓奇數(shù)號(hào)的哲學(xué)家先取右手邊的筷子,偶數(shù)號(hào)的哲 學(xué)家先取左手邊的筷子。 這樣只要有一個(gè)哲學(xué)家拿到了一支筷子, 就阻止了鄰座 的哲學(xué)家吃法的企圖,從而不會(huì)死鎖,除非某哲學(xué)家永遠(yuǎn)吃下去。算法描述如下:eat(i) :beginif i mod 2 = 0 then P(ci) P(ci+1 mod 5) 吃飯 V(ci+1 mod 5) V(ci)
21、elseP(ci+1 mod 5)P(ci)吃飯V(ci) V(ci+1 mod 5) End另解:最多只允許 4 個(gè)哲學(xué)家同時(shí)要求進(jìn)餐,這樣至少有一位哲學(xué)家能取到兩只筷子并可以進(jìn)餐,進(jìn)餐后釋放兩只筷子,其他哲學(xué)家可以陸續(xù)進(jìn)餐。設(shè)哲學(xué)家進(jìn)餐信號(hào)量sm=4;筷子信號(hào)量ci=1(i=0,1,2,3,4) eat(i) :beginP(sm)P(ci)P(ci+1 mod 5)吃飯V(ci+1 mod 5) V(ci)V(sm)End15什么是線程 ? 試述線程與進(jìn)程的區(qū)別。答;線程是在進(jìn)程內(nèi)用于調(diào)度和占有處理機(jī)的基本單位,它由線程控制表、 存儲(chǔ)線程上下文的用戶棧以及核心棧組成。 線程可分為用戶級(jí)線
22、程、 核心級(jí)線程 以及用戶/核心混合型線程等類型。其中用戶級(jí)線程在用戶態(tài)下執(zhí)行,CPU調(diào)度算法和各線程優(yōu)先級(jí)都由用戶設(shè)置, 與操作系統(tǒng)內(nèi)核無關(guān)。 核心級(jí)線程的調(diào)度算 法及線程優(yōu)先級(jí)的控制權(quán)在操作系統(tǒng)內(nèi)核。 混合型線程的控制權(quán)則在用戶和操作 系統(tǒng)內(nèi)核二者。線程與進(jìn)程的主要區(qū)別有:(1) 進(jìn)程是資源管理的基本單位, 它擁有自己的地址空間和各種資源, 例如 內(nèi)存空間、外部設(shè)備等; 線程只是處理機(jī)調(diào)度的基本單位, 它只和其他線程一起 共享進(jìn)程資源,但自己沒有任何資源。(2) 以進(jìn)程為單位進(jìn)行處理機(jī)切換和調(diào)度時(shí), 由于涉及到資源轉(zhuǎn)移以及現(xiàn)場(chǎng) 保護(hù)等問題, 將導(dǎo)致處理機(jī)切換時(shí)間變長(zhǎng), 資源利用率降低。 以
23、線程為單位進(jìn)行 處理機(jī)切換和調(diào)度時(shí), 由于不發(fā)生資源變化, 特別是地址空間的變化, 處理機(jī)切 換的時(shí)間較短,從而處理機(jī)效率也較高。(3) 對(duì)用戶來說, 多線程可減少用戶的等待時(shí)間。 提高系統(tǒng)的響應(yīng)速度。 例 如,當(dāng)一個(gè)進(jìn)程需要對(duì)兩個(gè)不同的服務(wù)器進(jìn)行遠(yuǎn)程過程凋用時(shí), 對(duì)于無線程系統(tǒng) 的操作系統(tǒng)來說需要順序等待兩個(gè)不同調(diào)用返回結(jié)果后才能繼續(xù)執(zhí)行, 且在等待 中容易發(fā)生進(jìn)程調(diào)度。 對(duì)于多線程系統(tǒng)而言, 則可以在同一進(jìn)程中使用不同的線 程同時(shí)進(jìn)行遠(yuǎn)程過程調(diào)用,從而縮短進(jìn)程的等待時(shí)間。(4) 線程和進(jìn)程一樣,都有自己的狀態(tài)也有相應(yīng)的同步機(jī)制,不過,由于 線程沒有單獨(dú)的數(shù)據(jù)和程序空間, 因此,線程不能像進(jìn)
24、程的數(shù)據(jù)與程序那樣, 交 換到外存存儲(chǔ)空間。從而線程沒有掛起狀態(tài)。(5) 進(jìn)程的調(diào)度、同步等控制大多由操作系統(tǒng)內(nèi)核完成, 而線程的控制既可 以由操作系統(tǒng)內(nèi)核進(jìn)行,也可以由用戶控制進(jìn)行。 思考題:讀者與寫者關(guān)系問題(讀者優(yōu)先)。答:設(shè)寫者互斥信號(hào)量 wm=1讀者計(jì)數(shù)器readcount=O;互斥操作readcount 的信號(hào)量 rm=1;reader()beginP(rm)Readcount:=readcount+1If readcount=1 then P(wm)V(rm)讀數(shù)據(jù)P(rm)Readcount:=readcount-1If readcount=O then V(wm)V(rm)e
25、ndwriter()beginP(wm)寫數(shù)據(jù)V(wm)end第四章1什么是分級(jí)調(diào)度 ?分時(shí)系統(tǒng)中有作業(yè)調(diào)度的概念嗎 ?如果沒有,為什么 ? P86 答:處理機(jī)調(diào)度問題實(shí)際上也是處理機(jī)的分配問題。 顯然只有那些參與競(jìng)爭(zhēng) 處理及所必需的資源都已得到滿足的進(jìn)程才能享有競(jìng)爭(zhēng)處理機(jī)的資格。 這時(shí)它們 處于內(nèi)存就緒狀態(tài)。這些必需的資源包括內(nèi)存、外設(shè)及有關(guān)數(shù)據(jù)結(jié)構(gòu)等。從而, 在進(jìn)程有資格競(jìng)爭(zhēng)處理機(jī)之前, 作業(yè)調(diào)度程序必須先調(diào)用存儲(chǔ)管理、 外設(shè)管理程 序,并按一定的選擇順序和策略從輸入井中選擇出幾個(gè)處于后備狀態(tài)的作業(yè), 為 它們分配資源和創(chuàng)建進(jìn)程,使它們獲得競(jìng)爭(zhēng)處理機(jī)的資格。另外,由于處于執(zhí)行狀態(tài)下的作業(yè)一
26、般包括多個(gè)進(jìn)程, 而在單機(jī)系統(tǒng)中, 每 一時(shí)刻只能有一個(gè)進(jìn)程占有處理機(jī), 這樣,在外存中, 除了處于后備狀態(tài)的作業(yè) 外,還存在處于就緒狀態(tài)而等待得到內(nèi)存的作業(yè)。 我們需要有一定的方法和策略 為這部分作業(yè)分配空間。因此處理機(jī)調(diào)度需要分級(jí)。一般來說,處理機(jī)調(diào)度可分為 4 級(jí):(1)作業(yè)調(diào)度 : 又稱宏觀調(diào)度,或高級(jí)調(diào)度。(2)交換調(diào)度:又稱中級(jí)調(diào)度。其主要任務(wù)是按照給定的原則和策略,將 處于外存交換區(qū)中的就緒狀態(tài)或等待狀態(tài)的進(jìn)程調(diào)入內(nèi)存, 或處于內(nèi)存就緒狀態(tài) 或等待狀態(tài)的進(jìn)程交換到外存交換區(qū)。交換調(diào)度主要涉及到內(nèi)存管理與擴(kuò)充。(3)進(jìn)程調(diào)度:又稱微觀調(diào)度或低級(jí)調(diào)度。其主要任務(wù)是按照某種策略和 方法
27、選取一個(gè)處于就緒狀態(tài)的進(jìn)程占用處理機(jī)。在確立了占用處理機(jī)的進(jìn)程之 后,系統(tǒng)必須進(jìn)行進(jìn)程上下文切換以建立與占用處理機(jī)進(jìn)程相適應(yīng)的執(zhí)行環(huán)境。(4)線程調(diào)度:進(jìn)程中相關(guān)堆棧和控制表等的調(diào)度。2試述作業(yè)調(diào)度的主要功能。 P88答: 作業(yè)調(diào)度的主要功能是:(1)記錄系統(tǒng)中各作業(yè)的狀況。(2)按一定的原則對(duì)外存輸入井上的大量后備作業(yè)進(jìn)行選擇。(3)給選出的作業(yè)分配內(nèi)存、輸入輸出設(shè)備等必要的資源,并建立相應(yīng)進(jìn) 程,使該作業(yè)的相關(guān)進(jìn)程獲得競(jìng)爭(zhēng)處理機(jī)的權(quán)利。(4)當(dāng)作業(yè)執(zhí)行完畢時(shí),還負(fù)責(zé)回收系統(tǒng)資源。3作業(yè)調(diào)度的性能評(píng)價(jià)標(biāo)準(zhǔn)有哪些 ?這些性能評(píng)價(jià)標(biāo)準(zhǔn)在任何情況下都能反映調(diào) 度策略的優(yōu)劣嗎 ?答:調(diào)度的性能評(píng)價(jià)標(biāo)
28、準(zhǔn):(1)對(duì)所有作業(yè)應(yīng)該是公平合理的;(2)應(yīng)使設(shè)備有高的利用率;(3)每天執(zhí)行盡可能多的作業(yè);(4)有快的響應(yīng)時(shí)間。不能。對(duì)于批處理系統(tǒng), 由于主要用于計(jì)算, 因而對(duì)于作業(yè)的周轉(zhuǎn)時(shí)間要求 較高。從而作業(yè)的平均周轉(zhuǎn)時(shí)間或平均帶權(quán)周轉(zhuǎn)時(shí)間被用來衡量調(diào)度程序的優(yōu) 劣。但對(duì)于分時(shí)系統(tǒng)來說, 平均響應(yīng)時(shí)間又被用來衡量調(diào)度策略的優(yōu)劣。 對(duì)于分 時(shí)系統(tǒng),除了要保證系統(tǒng)吞吐量大、 資源利用率高之外, 還應(yīng)保證用戶能夠容忍 的響應(yīng)時(shí)間。因此,在分時(shí)系統(tǒng)中, 僅僅用周轉(zhuǎn)時(shí)間或帶權(quán)周轉(zhuǎn)時(shí)間來衡量調(diào)度 性能是不夠的。對(duì)于實(shí)時(shí)系統(tǒng),衡量調(diào)度算法優(yōu)劣的主要標(biāo)志則是滿足用戶要求的時(shí)限時(shí) 間。4進(jìn)程調(diào)度的功能有哪些 ? P
29、91 答:進(jìn)程調(diào)度的功能有:(1) 記錄和保存系統(tǒng)中所有進(jìn)程的執(zhí)行情況;(2) 選擇占有處理機(jī)的進(jìn)程;(3) 進(jìn)行進(jìn)程上下文切換。5進(jìn)程調(diào)度的時(shí)機(jī)有哪幾種 ? P92 答:進(jìn)程調(diào)度的時(shí)機(jī)有:(1) 正在執(zhí)行的進(jìn)程執(zhí)行完畢。 這時(shí)如果不選擇新的就緒進(jìn)程執(zhí)行, 將浪費(fèi) 處理機(jī)資源。(2) 執(zhí)行中進(jìn)程自己調(diào)用阻塞原語將自己阻塞起來進(jìn)入睡眠等待狀態(tài)。(3) 執(zhí)行中進(jìn)程調(diào)用了 P 原語操作,從而因資源不足而被阻塞:或調(diào)用了 V 原語操作激活了等待資源的進(jìn)程隊(duì)列。(4) 執(zhí)行中進(jìn)程提出I /O請(qǐng)求后被阻塞。(5) 在分時(shí)系統(tǒng)中時(shí)間片已經(jīng)用完。(6) 在執(zhí)行完系統(tǒng)調(diào)用等系統(tǒng)程序后返回用戶程序時(shí),可看做系統(tǒng)進(jìn)
30、程執(zhí)行 完畢,從而調(diào)度選擇一新的用戶進(jìn)程執(zhí)行。(7) 在CPL執(zhí)行方式是可剝奪時(shí),還有:就緒隊(duì)列中的某進(jìn)程的優(yōu)先級(jí)變得 高于當(dāng)前執(zhí)行進(jìn)程的優(yōu)先級(jí),從而也將引發(fā)進(jìn) 程調(diào)度。6假設(shè)有 4 道作業(yè),它們的提交時(shí)間及執(zhí)行時(shí)間由下表給出:作業(yè)號(hào)提交時(shí)刻(時(shí))執(zhí)行時(shí)間(小時(shí))110:00 2210:20 1310:40410:50計(jì)算在單道程序環(huán)境下, 采用先來先服務(wù)調(diào)度算法和最短作業(yè)優(yōu)先調(diào)度算法 時(shí)的平均周轉(zhuǎn)時(shí)間和平均帶權(quán)周轉(zhuǎn)時(shí)間,并指出它們的調(diào)度順序。答: (1) 先來先服務(wù)調(diào)度:調(diào)度順序: 1 、2、3、41Ts1 : 10:00Te1: 12:00Tr1 : 2 Tw1: 02Ts2 : 10:2
31、0Te2 : 13:00Tr2: 1 Tw2:3Ts3 : 10:40Te3 : 13:30Tr3Tw3 :4Ts4 : 10:50Te4 : 13:50Tr4Tw4:T=*(2+3)=(h)W=*(4+0+1+=(2) 最短作業(yè)優(yōu)先調(diào)度 :調(diào)度順序: 4 、3、2、11Ts4: 10:50Te4:11:10Tr4: Tw4 : 02Ts3 : 10:40Te3:11:40Tr3:Tw3 :3Ts2 ; 10:20Te2:12:40Tr2: 1Tw2:4Ts1 : 10:00Te1: 14:40 Tr1: 2Tw1T :*+1+= (h)W: *(4+0+1+ 2)=以上是 4 個(gè)作業(yè)提交完后
32、的調(diào)度情況(提交過程中運(yùn)行其它作業(yè))。如果邊 提交邊調(diào)度,又如何?第五章1存儲(chǔ)管理的主要功能是什么 ? P109 節(jié) 答:存儲(chǔ)管理的主要功能包括以下幾點(diǎn):(1) 在硬件的支持下完成統(tǒng)一管理內(nèi)存和外存之間數(shù)據(jù)和程序段自動(dòng)交換的 虛擬存儲(chǔ)。(2) 將多個(gè)虛存的一維線性空間或多維線性空間變換到內(nèi)存的唯一的一維物 理線性地址。(3) 控制內(nèi)外存之間的數(shù)據(jù)傳輸。(4) 實(shí)現(xiàn)內(nèi)存的分配和回收。(5) 實(shí)現(xiàn)內(nèi)存信息的共享與保護(hù)。2 什么是虛擬存儲(chǔ)器 ?其特點(diǎn)是什么 ? P110 答:由進(jìn)程中的目標(biāo)代碼、 數(shù)據(jù)等的虛擬地址組成的虛擬空間稱為虛擬存儲(chǔ) 器。虛擬存儲(chǔ)器不考慮物理存儲(chǔ)器的大小和信息存放的實(shí)際位置,
33、只規(guī)定每個(gè)進(jìn) 程中相互關(guān)聯(lián)信息的相對(duì)位置。 每個(gè)進(jìn)程都擁有自己的虛擬存儲(chǔ)器, 且虛擬存儲(chǔ) 器的容量是由計(jì)算機(jī)的地址結(jié)構(gòu)和尋址方式來確定。實(shí)現(xiàn)虛擬存儲(chǔ)器要求有相應(yīng)的地址變換機(jī)構(gòu), 以便把指令的虛擬地址變換為 實(shí)際物理地址;另外,由于內(nèi)存空間較小,進(jìn)程只有部分內(nèi)容存放于內(nèi)存中,待 執(zhí)行時(shí)根據(jù)需要再調(diào)入內(nèi)存。3實(shí)現(xiàn)地址重定位的方法有哪幾類 ? P111 答:實(shí)現(xiàn)地址重定位的方法有兩種:靜態(tài)地址重定位和動(dòng)態(tài)地址重定位。(1) 靜態(tài)地址重定位是在虛空間程序執(zhí)行之前由裝配程序完成地址映射工 作。靜態(tài)重定位的優(yōu)點(diǎn)是不需要硬件支持, 但是用靜態(tài)地址重定位方法進(jìn)行地址 變換無法實(shí)現(xiàn)虛擬存儲(chǔ)器。 靜 態(tài)重定位的另
34、一個(gè)缺點(diǎn)是必須占用連續(xù) 的內(nèi)存空間和難以做到程序和數(shù)據(jù)的共享。(2) 動(dòng)態(tài)地址重定位是在程序執(zhí)行過程中,在 CPU訪問內(nèi)存之前由硬件地址 變換機(jī)構(gòu)將要訪問的程序或數(shù)據(jù)地址轉(zhuǎn)換成內(nèi)存地址。 動(dòng)態(tài)地址重定位的主要優(yōu) 點(diǎn)有: 可以對(duì)內(nèi)存進(jìn)行非連續(xù)分配。 動(dòng)態(tài)重定位提供了實(shí)現(xiàn)虛擬存儲(chǔ)器的基礎(chǔ)。 動(dòng)態(tài)重定位有利于程序段的共享。4常用的內(nèi)存信息保護(hù)方法有哪幾種 ?它們各自的特點(diǎn)是什么 ? P113 答:常用的內(nèi)存保護(hù)方法有硬件法、軟件法和軟硬件結(jié)合保護(hù)法三種。上下界保護(hù)法是一種常用的硬件保護(hù)法。 上下界存儲(chǔ)保護(hù)技術(shù)要求為每個(gè)進(jìn) 程設(shè)置對(duì)上下界寄存器。 上下界寄存器中裝有被保護(hù)程序和數(shù)據(jù)段的起始地址和 終止
35、地址。在程序執(zhí)行過程 中,在對(duì)內(nèi)存進(jìn)行訪問操作時(shí)首先進(jìn)行訪問 地址合法性檢查, 即檢查經(jīng)過重定位之后的內(nèi)存地址是否在上、 下界寄存器所規(guī) 定的范圍之內(nèi)。若在規(guī)定的范圍之內(nèi) , 則訪問是合法的;否則是非法的,并產(chǎn)生 訪問越界中斷。保護(hù)鍵法也是一種常用的軟件存儲(chǔ)保護(hù)法。 保護(hù)鍵法為每個(gè)被保護(hù)存儲(chǔ)塊 分配一個(gè)單獨(dú)的保護(hù)鍵。 在程序狀態(tài)字中則設(shè)置相應(yīng)的保護(hù)鍵開關(guān)字段, 對(duì)不同 的進(jìn)程賦予不同的開關(guān)代碼 以和被保護(hù)的存儲(chǔ)塊中的保護(hù)鍵匹配。保護(hù) 鍵可以設(shè)置成對(duì)讀寫同時(shí)保護(hù)的或只對(duì)讀寫進(jìn)行單項(xiàng)保護(hù)的。 如果開關(guān)字段與保 護(hù)鍵匹配或存儲(chǔ)塊未受到保護(hù), 則訪問該存儲(chǔ)塊是允許的, 否則將產(chǎn)生訪問出錯(cuò) 中斷。另外一
36、種常用的硬軟件內(nèi)存保護(hù)方式是: 界限存儲(chǔ)器與CPU勺用戶態(tài),核心 態(tài)相結(jié)合的保護(hù)方式。 在這種保護(hù)方式下, 用戶態(tài)進(jìn)程只能訪問那些在界限寄存 器所規(guī)定范圍內(nèi)的內(nèi)存部分,而核心態(tài)進(jìn)程則可以訪問整個(gè)內(nèi)存地址空間。6動(dòng)態(tài)分區(qū)式管理的常用內(nèi)存分配算法有哪幾種 ?比較它們各自的優(yōu)缺點(diǎn)。 P118 答:動(dòng)態(tài)分區(qū)式管理的常用內(nèi)存分配算法有最先適應(yīng)法 (FF) 、最佳適應(yīng)法 (BF) 和最壞適應(yīng)法 (WF)。優(yōu)缺點(diǎn)比較: 從搜索速度上看最先適應(yīng)法最佳,最佳適應(yīng)法和最壞適應(yīng)法都要求把不 同大小的空閑區(qū)按大小進(jìn)行排隊(duì)。 從回收過程來看,最先適應(yīng)法也是最佳,因?yàn)樽罴堰m應(yīng)法和最壞適應(yīng)法 都必須重新調(diào)整空閑區(qū)的位置。
37、最佳適應(yīng)法找到的空閑區(qū)是最佳的,但是會(huì)造成內(nèi)存碎片較多,影響了 內(nèi)存利用率, 而最壞適應(yīng)法的內(nèi)存碎片最少, 但是對(duì)內(nèi)存的請(qǐng)求較多的進(jìn)程有可 能分配失敗??傊?,三種算法各有所長(zhǎng), 針對(duì)不同的請(qǐng)求隊(duì)列, 它們的效率和功能是不一 樣的。8簡(jiǎn)述什么是覆蓋 ?什么是交換 ?覆蓋和交換的區(qū)別是什么 ? P121 答:將程序劃分為若干個(gè)功能上相對(duì)獨(dú)立的程序段,按照程序的邏輯結(jié)構(gòu)讓 那些不會(huì)同時(shí)執(zhí)行的程序段共享同一塊內(nèi)存區(qū)的內(nèi)存擴(kuò)充技術(shù)就是覆蓋。 交換是 指先將內(nèi)存某部分的程序或數(shù)據(jù)寫入外存交換區(qū), 再從外存交換區(qū)中調(diào)入指定的 程序或數(shù)據(jù)到內(nèi)存中來, 并讓其執(zhí)行的一種內(nèi)存擴(kuò)充技術(shù)。 與覆蓋技術(shù)相比, 交 換不
38、要求程序員給出程序段之間的覆蓋結(jié)構(gòu), 而且,交換主要是在進(jìn)程或作業(yè)之 間進(jìn)行,而覆蓋則主要在同一個(gè)作業(yè)或同一個(gè)進(jìn)程內(nèi)進(jìn)行。 另外,覆蓋只能覆蓋 那些與覆蓋程序段無關(guān)的程序段。9什么是頁式管理 ?靜態(tài)頁式管理可以實(shí)現(xiàn)虛存嗎 ? P123 答:頁式管理就是把各進(jìn)程的虛擬空間劃分為若干長(zhǎng)度相等的頁,把指令按 頁面大小劃分后存放在內(nèi)存中執(zhí)行或只在內(nèi)存中存放那些經(jīng)常被執(zhí)行或即將被 執(zhí)行的頁,而那些不被經(jīng)常執(zhí)行以及在近期內(nèi)不可能被執(zhí)行的頁則存放于外存 中,按一定規(guī)則調(diào)入的一種內(nèi)存管理方式。靜態(tài)頁式管理不能實(shí)現(xiàn)虛存, 這是因?yàn)殪o態(tài)頁式管理要求進(jìn)程或作業(yè)在執(zhí)行前全部被裝入內(nèi)存,作業(yè)或進(jìn)程的大小仍受內(nèi)存可用頁面
39、數(shù)的限制。10. 什么是請(qǐng)求頁式管理 ? P127 答:請(qǐng)求頁式管理是動(dòng)態(tài)頁式內(nèi)存管理的一種,它在作業(yè)或進(jìn)程開始執(zhí)行 之前,不把作業(yè)或進(jìn)程的程序段和數(shù)據(jù)段一次性的全部裝入內(nèi)存, 而只裝入被認(rèn) 為是經(jīng)常反復(fù)執(zhí)行和調(diào)用的工作區(qū)部分。其他部分則在執(zhí)行過程中動(dòng)態(tài)裝入。 請(qǐng)求頁式管理的調(diào)入方式是, 當(dāng)需要執(zhí)行某條指令而又發(fā)現(xiàn)它不在內(nèi)存時(shí), 或當(dāng)執(zhí)行某條指令需要訪問其他數(shù)據(jù)或指令時(shí),而這些指令和數(shù)據(jù)又不在內(nèi)存 中,從而發(fā)生缺頁中斷,系統(tǒng)將外存中相應(yīng)的頁調(diào)入內(nèi)存。11. 請(qǐng)求頁式管理中有哪幾種常用的頁面置換算法?試比較它們的優(yōu)缺點(diǎn)。 P129答:比較常用的頁面置換算法有:(1) 隨機(jī)淘汰算法 (random
40、glongram) 。即隨機(jī)地選擇某個(gè)用戶頁面并將其換 出。(2) 輪轉(zhuǎn)法 RR(roundrobin) 。輪轉(zhuǎn)法循回?fù)Q出內(nèi)存可用區(qū)內(nèi)一個(gè)可以被換 出的頁,無論該頁是剛被換進(jìn)或已經(jīng)換進(jìn)內(nèi)存很長(zhǎng)時(shí)間。(3) 先進(jìn)先出法FIFO(firstinfirstout) 。FIFO算法選擇在內(nèi)存駐留時(shí)間最 長(zhǎng)的一頁將其淘汰。(4) 最近最久未使用頁面置換算法 LRU(1east recently unused) 。該算法 的基本思想是: 當(dāng)需要淘汰某一頁時(shí), 選擇離當(dāng)前時(shí)間最近的一段時(shí)間內(nèi)最久沒 有使用過的頁面先淘汰。該算法很難實(shí)現(xiàn),比較常用的近似算法:最不經(jīng)常使用頁面淘汰算法LFU、最近沒有使用頁面淘汰
41、算法 NUR。(5) 理想型淘汰算法 OPT(optimalreplacementalgorithm) 。該算法淘汰在 訪問串中將來再也不出現(xiàn)的或是在離當(dāng)前最遠(yuǎn)的位置上出現(xiàn)的頁面。12. 什么是 Belady 現(xiàn)象?找出一個(gè) Belady 現(xiàn)象的例子。 P131答:使用FIFO算法時(shí),在未給進(jìn)程或作業(yè)分配足它所要求的頁面數(shù)時(shí), 有時(shí) 會(huì)出現(xiàn)分配的頁面數(shù)增多, 缺頁次數(shù)反而增加的奇怪現(xiàn)象。 這種現(xiàn)象稱為 Belady 現(xiàn)象。假設(shè)進(jìn)程P共有5個(gè)頁,訪問順序是:1,2,3,4,1,2,5,1,234,5的缺頁情況。分配 3 個(gè)頁面,缺頁 9 次:缺頁率 9/12=75%分配 4 個(gè)頁面,缺頁 10
42、次:缺頁率 10/12=%此例就出現(xiàn)分配的頁面數(shù)增多,缺頁次數(shù)反而增加的奇怪現(xiàn)象,即 Belady現(xiàn)象14. 什么是段式管理 ?它與頁式管理有何區(qū)別 ? P133 答:段式管理就是將程序按照內(nèi)容或過程 ( 函數(shù)) 關(guān)系分成段,每段擁有自己 的名字。一個(gè)用戶作業(yè)或進(jìn)程所包含的段對(duì)應(yīng)于一個(gè)二維線性虛擬空間, 也就是 一個(gè)二維虛擬存儲(chǔ)器。 段式管理程序以段為單位分配內(nèi)存, 然后通過地址映射機(jī) 構(gòu)把段式虛擬地址轉(zhuǎn)換成實(shí)際的內(nèi)存物理地址。 同頁式管理時(shí)一樣, 段式管理也 采用只把那些經(jīng)常訪問的段駐留內(nèi)存, 而把那些在將來一段時(shí)間內(nèi)不被訪問的段 放入外存,待需要時(shí)自動(dòng)調(diào)入相關(guān)段的方法實(shí)現(xiàn)二維虛擬存儲(chǔ)器。段
43、式管理和頁式管理的主要區(qū)別有:(1) 頁式管理中源程序進(jìn)行編譯鏈接時(shí)是將主程序、 子程序、數(shù)據(jù)區(qū)等按照 線性空間的一維地址順序排列起來。 段式管理則是將程序按照內(nèi)容或過程 (函數(shù) ) 關(guān)系分成段, 每段擁有自己的名字。 一個(gè)用戶作業(yè)或進(jìn)程所包含的段對(duì)應(yīng)于一個(gè) 二維線性虛擬空間,也就是一個(gè)二維虛擬存儲(chǔ)器。(2) 同動(dòng)態(tài)頁式管理一樣,段式管理也提供了內(nèi)外存統(tǒng)一管理的虛存實(shí)現(xiàn)。 與頁式管理不同的是: 段式虛存每次交換的是一段有意義的信息, 而不是像頁式 虛存管理那樣只交換固定大小的頁, 從而需要多次的缺頁中斷才能把所需信息完 整地調(diào)入內(nèi)存。(3) 在段式管理中, 段長(zhǎng)可根據(jù)需要?jiǎng)討B(tài)增長(zhǎng)。 這對(duì)那些需
44、要不斷增加或改 變新數(shù)據(jù)或子程序的段來說,將是非常有好處的。(4) 段式管理便于對(duì)具有完整邏輯功能的信息段進(jìn)行共享。(5) 段式管理便于進(jìn)行動(dòng)態(tài)鏈接,而頁式管理進(jìn)行動(dòng)態(tài)鏈接的過程非常復(fù) 雜。15. 段式管理可以實(shí)現(xiàn)虛存嗎 ?如果可以,簡(jiǎn)述實(shí)現(xiàn)方法。 P133 答:段式管理可以實(shí)現(xiàn)虛存。段式管理把程序按照內(nèi)容或過程 ( 函數(shù))關(guān)系分成段,每段擁有自己的名字。 一個(gè)用戶作業(yè)或進(jìn)程所包含的段對(duì)應(yīng)于一個(gè)二維線性虛擬空間 (段號(hào) s 與段內(nèi)相 對(duì)地址w),也就是一個(gè)二維虛擬存儲(chǔ)器。段式管理以段為單位分配內(nèi)存,然后 通過地址映射機(jī)構(gòu)把段式虛擬地址轉(zhuǎn)換成實(shí)際的內(nèi)存物理地址。 只把那些經(jīng)常訪 問的段駐留內(nèi)存,
45、 而把那些在將來一段時(shí)間內(nèi)不被訪問的段放入外存, 待需要時(shí) 產(chǎn)生缺段中斷,自動(dòng)調(diào)入。16. 為什么要提出段頁式管理 ?它與段式管理及頁式管理有何區(qū)別 ? P138 答:因?yàn)槎问焦芾砗晚撌焦芾砀饔兴L(zhǎng)。 段式管理為用戶提供了一個(gè)二維的 虛擬地址空間, 反映了程序的邏輯結(jié)構(gòu), 有利于段的動(dòng)態(tài)增長(zhǎng)以及共享和內(nèi)存保 護(hù)等,這極大地方便了用戶。 而分頁系統(tǒng)則有效地克服了碎片, 提高了存儲(chǔ)器的 利用效率。 從存儲(chǔ)管理的目的來講, 主要是方便用戶的程序設(shè)計(jì)和提高內(nèi)存的利 用率。所以人們提出了將段式管理和頁式管理結(jié)合起來讓其互相取長(zhǎng)補(bǔ)短的段頁 式管理。段頁式管理與段式和頁式管理相比,其訪問時(shí)間較長(zhǎng)。因此,執(zhí)行
46、效率 低。17. 為什么說段頁式管理時(shí)的虛擬地址仍是二維的 ? 答:因?yàn)樵诙雾撌絻?nèi)存管理中, 對(duì)每一段內(nèi)的地址空間進(jìn)行分頁式管理只是 為了克服在內(nèi)存分配過程中產(chǎn)生的大量碎片, 從而提高存儲(chǔ)器的利用效率, 它并 沒有改變段內(nèi)地址空間的一維結(jié)構(gòu), 所以段頁式內(nèi)存管理中的虛擬地址仍然和段式內(nèi)存管理中的虛擬地址一樣,是二維結(jié)構(gòu)的18. 段頁式管理的主要缺點(diǎn)是什么 ?有什么改進(jìn)辦法 ? 答:段頁式管理的主要缺點(diǎn)是對(duì)內(nèi)存中指令或數(shù)據(jù)進(jìn)行存取時(shí),至少需要 對(duì)內(nèi)存進(jìn)行三次以上的訪問。第一次是由段表地址寄存器取段表始址后訪問段 表,由此取出對(duì)應(yīng)段的頁表在內(nèi)存中的地址。 第二次則是訪問頁表得到所要訪問 的指令或數(shù)
47、據(jù)的物理地址。 只有在訪問了段表和頁表之后, 第三次才能訪問真正 需要訪問的物理單元。顯然。這將大大降低 CPU執(zhí)行指令的速度。改進(jìn)辦法是設(shè)置快速聯(lián)想寄存器。在快速聯(lián)想寄存器中存放當(dāng)前最常用的段號(hào)s,頁號(hào)p和對(duì)應(yīng)的內(nèi)存頁面地址與其他控制項(xiàng)。當(dāng)需要訪問內(nèi)存空間某 一單元時(shí), 可在通過段表、 頁表進(jìn)行內(nèi)存地址查找的同時(shí), 根據(jù)快速聯(lián)想寄存器 查找其段號(hào)和頁號(hào)。 如果所要訪問的段或頁的地址在快速聯(lián)想寄存器中, 則系統(tǒng) 不再訪問內(nèi)存中的段表、 頁表而直接把快速聯(lián)想寄存器中的值與頁內(nèi)相對(duì)地址 d 拼接起來得到內(nèi)存地址。19. 什么是局部性原理 ?什么是抖動(dòng) ?你有什么辦法減少系統(tǒng)的抖動(dòng)現(xiàn)象 ? P140
48、 答:局部性原理是指在幾乎所有程序的執(zhí)行過程中,在一段時(shí)間內(nèi), CPU 總是集中地訪問程序中的某一個(gè)部分而不是對(duì)程序的所有部分具有平均的訪問 概率。抖動(dòng)是指當(dāng)給進(jìn)程分配的內(nèi)存小于所要求的工作區(qū)時(shí),由于內(nèi)存外存之間 交換頻繁,訪問外存的時(shí)間和輸入輸出處理時(shí)間大大增加, 反而造成CPU因等待 數(shù)據(jù)而空轉(zhuǎn),使得整個(gè)系統(tǒng)性能大大下降。在物理系統(tǒng)中,為防止抖動(dòng)的產(chǎn)生,在進(jìn)行淘汰或替換時(shí),一般總是把缺 頁進(jìn)程鎖住, 不讓其換出, 從而防止抖動(dòng)發(fā)生。 防止抖動(dòng)發(fā)生的另一個(gè)辦法是設(shè) 置較大的內(nèi)存工作區(qū)。第六章1簡(jiǎn)述 Linux 系統(tǒng)進(jìn)程的概念 ?答: P1482Linux 進(jìn)程上下文由哪幾部分組成?為什么說核
49、心程序不是進(jìn)程上下文上午 一部分?進(jìn)程頁表也在核心區(qū),它們也不是進(jìn)程上下文上午一部分嗎?答:進(jìn)程上下文由 task_struct 結(jié)構(gòu)、用戶棧和核心棧的內(nèi)容、 用戶地址空 間的征文段、數(shù)據(jù)段、硬件寄存器的內(nèi)容以及頁表等組成。核心頁表被所有進(jìn)程共享, 所以不是進(jìn)程上下文的一部分。 而進(jìn)程頁表是進(jìn) 程上下文的一部分。4Linux 的調(diào)度策略是什么 ? 調(diào)度時(shí)應(yīng)該封鎖中斷嗎?如果不封鎖,會(huì)發(fā)生什 么問題?答:Linux使用三種調(diào)度策略,動(dòng)態(tài)優(yōu)先數(shù)調(diào)度SCHED_OTHER來先服務(wù)調(diào) 度SCHED_FIF和輪轉(zhuǎn)法調(diào)度SCHED_R其中動(dòng)態(tài)優(yōu)先級(jí)調(diào)度策略用于普通進(jìn)程, 后兩種調(diào)度策略用于實(shí)時(shí)進(jìn)程。在調(diào)度
50、時(shí)應(yīng)封鎖中斷, 否則在調(diào)度過程中由于中斷會(huì)使進(jìn)程上下文的切換出 現(xiàn)錯(cuò)誤。6 Linux 在哪幾種情況下發(fā)生調(diào)度 ?答:兩種情況: 一是進(jìn)程自動(dòng)放棄處理機(jī)時(shí)主動(dòng)裝入調(diào)度過程, 二是在由核 心態(tài)轉(zhuǎn)入用戶態(tài)時(shí),系統(tǒng)設(shè)置了高優(yōu)先級(jí)就緒進(jìn)程的強(qiáng)迫調(diào)度標(biāo)識(shí) need_resched 時(shí)發(fā)生調(diào)度。8什么是軟中斷 ?答: P16213Linux 存儲(chǔ)管理策略中交換和請(qǐng)求調(diào)頁方式有何區(qū)別 ?答: P171第八章1什么是文件、文件系統(tǒng)?文件系統(tǒng)有哪些功能? P198 答:在計(jì)算機(jī)系統(tǒng)中,文件被解釋為一組賦名的相關(guān)字符流的集合,或者 是相關(guān)紀(jì)錄的集合。文件系統(tǒng)是操作系統(tǒng)中與管理文件有關(guān)的軟件和數(shù)據(jù)。 文件系統(tǒng)的功能
51、是為用戶建立文件、撤銷、讀寫、修改和復(fù)制文件,以及 完成對(duì)文件的按名存取和進(jìn)行存取控制。2、文件一般按什么分類?可以分為哪幾類? P199 答:文件一般按性質(zhì)、用途、組織形式、文件中的信息流向或文件的保護(hù) 級(jí)別等分類。按性質(zhì)和用途可分為系統(tǒng)文件、庫文件和用戶文件。 按文件的組織形式可分為普通文件、目錄文件和特殊文件。 按文件中的信息流向可分為輸入文件、輸出文件和輸入 / 輸出文件。 按文件的保護(hù)級(jí)別可分為只讀文件、 讀寫文件、 可執(zhí)行文件和不保護(hù)文件。3、什么是文件的邏輯結(jié)構(gòu)?什么是紀(jì)錄? P200 答:文件的邏輯結(jié)構(gòu)就是用戶可見的結(jié)構(gòu),可分為字符流式的 無結(jié)構(gòu)文件和記錄式的有結(jié)構(gòu)文件兩大類。
52、記錄是一個(gè)具有特定意義的信息單位, 他由該紀(jì)錄在文件中的邏輯地址 (相 對(duì)位置)與記錄名所對(duì)應(yīng)的一組關(guān)鍵字、屬性及其屬性值所組成。7、文件的物理結(jié)構(gòu)有哪幾種?為什么說串聯(lián)文件結(jié)構(gòu)不適于隨機(jī)存?。?P205 答:文件的物理結(jié)構(gòu)是指文件在存儲(chǔ)設(shè)備上的存取方法。常用的文件的物 理結(jié)構(gòu)有連續(xù)文件、串聯(lián)文件和索引文件三種。串聯(lián)文件結(jié)構(gòu)用非連續(xù)的物理塊來存取文件信息。這些非連續(xù)的物理塊之 間沒有順序關(guān)系, 鏈接成一個(gè)串聯(lián)隊(duì)列。 搜索時(shí)只能按隊(duì)列中的串聯(lián)指針順序搜 索,存取方法應(yīng)該是順序存取的。 否則,為了讀取某個(gè)信息塊而造成的磁頭大幅 度移動(dòng)將花去較多的時(shí)間。因此,串聯(lián)文件結(jié)構(gòu)不適于隨機(jī)存取。9、常用的文
53、件存儲(chǔ)設(shè)備的管理方法有哪些?試述主要優(yōu)缺點(diǎn)。 P209 答:文件存儲(chǔ)設(shè)備的管理實(shí)質(zhì)上是一個(gè)空閑塊的組織和管理問題。有 3 種 不同的空閑塊管理方法,即空閑文件目錄、空閑塊鏈和位示圖??臻e文件目錄管理方法就是把文件存儲(chǔ)設(shè)備中的空閑塊的塊號(hào)統(tǒng)一放在一 個(gè)稱為空閑文件目錄的物理塊中, 其中空閑文件目錄的每個(gè)表項(xiàng)對(duì)應(yīng)一個(gè)由多個(gè) 空閑塊構(gòu)成的空閑區(qū)。 該方法實(shí)現(xiàn)簡(jiǎn)單, 適于連續(xù)文件結(jié)構(gòu)的文件存儲(chǔ)區(qū)的分配 與回收。但是由于回收時(shí)不進(jìn)行合并, 所以使用該方法容易產(chǎn)生大量的小塊空閑 區(qū)。空閑塊鏈法把文件存儲(chǔ)設(shè)備上的所有空閑塊鏈接在一起,從鏈頭分配空閑 塊,把回收的空閑塊插入到鏈尾。該方法不占用額外的空間,但實(shí)
54、現(xiàn)復(fù)雜。位示圖法是從內(nèi)存中劃出若干字節(jié),每個(gè)比特位對(duì)應(yīng)一個(gè)物理塊的使用情 況。如果該位為 0 表示對(duì)應(yīng)的塊是空閑的,為 1 表示對(duì)應(yīng)的物理塊已分配出去。 位示圖法在查找空閑塊時(shí)無需啟動(dòng)外設(shè),但要占用內(nèi)存空間。11、什么是文件目錄?文件目錄中包含哪些信息? P211 答:一個(gè)文件的文件名和對(duì)該文件實(shí)施控制管理的說明信息成為該文件的 說明信息,又稱為該文件的文件控制塊(FCB)。把所有的FCB組織在一起,就構(gòu) 成了文件目錄,即文件控制塊的有序集合。文件目錄中包含文件名、與文件名相對(duì)應(yīng)的文件內(nèi)部標(biāo)識(shí)以及文件信息在 文件存儲(chǔ)設(shè)備上的第一個(gè)物理塊的地址等信息。 另外還可能包含關(guān)于文件的邏輯 結(jié)構(gòu)、物理結(jié)
55、構(gòu)、存取控制信息和管理等信息。13、文件存取控制方式有哪幾種?試比較它們各自的優(yōu)缺點(diǎn)。P216答:文件存取控制方式一般有存取控制矩陣、存取控制表、口令和密碼術(shù)4 種方式。 存取控制矩陣方式以一個(gè)二維矩陣來進(jìn)行存取控制。而且矩陣的一維是所 有的用戶。另一維是所有的文件。 對(duì)應(yīng)的矩陣元素則是用戶對(duì)文件的存取控制權(quán)。 存取控制矩陣的方法在概念上比較簡(jiǎn)單, 但是當(dāng)用戶和文件較多時(shí), 存取控制矩 陣將變得非常龐大,從而時(shí)間和空間的開銷都很大。存取控制表以文件為單位,把用戶按某種關(guān)系劃分為若干組,同時(shí)規(guī)定每 組的存取限制。這樣所有用戶組對(duì)文件權(quán)限的集合就形成了該文件的存取控制 表。存取控制表方法占用空間較
56、小,搜索效率也較高,但要對(duì)用戶分組,引入了 額外的開銷??诹罘绞接袃煞N。一種是當(dāng)用戶進(jìn)入系統(tǒng)時(shí),為建立終端進(jìn)程時(shí)獲得系統(tǒng) 使用權(quán)的口令。 另一種方式是, 每個(gè)用戶在創(chuàng)建文件時(shí), 為每個(gè)創(chuàng)建的文件設(shè)置 一個(gè)口令, 且將其置于文件說明中。 當(dāng)任一用戶想使用該文件時(shí), 都必須首先提 供口令??诹罘绞奖容^簡(jiǎn)單,占用的內(nèi)存單元以及驗(yàn)證口令所費(fèi)時(shí)間都非常少。 不過,相對(duì)來說,口令方式保密性能比較差。密碼術(shù)方式在用戶創(chuàng)建源文件并寫入存儲(chǔ)設(shè)備時(shí)對(duì)文件進(jìn)行編碼加密,在 讀出文件時(shí)對(duì)文件進(jìn)行譯碼解密。 加密方式具有保密性強(qiáng)的優(yōu)點(diǎn)。 但是,由于加 密解密工作要耗費(fèi)大量的處理時(shí)間, 因此,加密技術(shù)是以犧牲系統(tǒng)開銷為代價(jià)的。第九章1. 設(shè)備管理的目標(biāo)和功能是什么 ? 答:設(shè)備管理的目標(biāo)是:(1) 選擇和分配輸入輸出設(shè)備以便進(jìn)行數(shù)據(jù)傳輸操作;(2) 控制輸入/輸出設(shè)備和CPU或內(nèi)存)之間交換數(shù)據(jù);(3) 為用戶提供一個(gè)友好的透明接口 ;(4) 提高設(shè)備和設(shè)備之間、CPU和設(shè)備之間,以及進(jìn)程和進(jìn)程之間的并行操 作,以使操作系統(tǒng)獲得
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇科版八年級(jí)物理下冊(cè)《第八章力與運(yùn)動(dòng)》單元檢測(cè)卷及答案
- 人教版七年級(jí)數(shù)學(xué)下冊(cè)全冊(cè)導(dǎo)學(xué)案
- 廣東省深圳市福田區(qū)2024年中考數(shù)學(xué)三??荚囋嚲砀酱鸢?/a>
- 《誡子書》復(fù)習(xí)課
- 中小學(xué)機(jī)房作品管理系統(tǒng)的開發(fā)與應(yīng)用研究
- 高一化學(xué)二第二章第二節(jié)化學(xué)能與電能練習(xí)
- 2024屆安徽省巢湖市某中學(xué)高考仿真模擬化學(xué)試卷含解析
- 2024高中地理第3章地理信息技術(shù)應(yīng)用第4節(jié)數(shù)字地球精練含解析湘教版必修3
- 2024高中物理第二章交變電流第六節(jié)變壓器達(dá)標(biāo)作業(yè)含解析粵教版選修3-2
- 2024高中語文第一單元以意逆志知人論世湘夫人訓(xùn)練含解析新人教版選修中國古代詩歌散文欣賞
- 走進(jìn)創(chuàng)業(yè)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2024年石油石化技能考試-鉆井液工考試近5年真題附答案
- 世界經(jīng)典神話與傳說故事閱讀測(cè)試(四)
- 2024年第五屆插花花藝行業(yè)技能競(jìng)賽理論考試題庫(含答案)
- 軍事理論(2024年版)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 二年級(jí)下冊(cè)混合計(jì)算題100道及答案
- DBJ∕T 15-19-2020 建筑防水工程技術(shù)規(guī)程
- 2025屆浙江省杭州市學(xué)軍中學(xué)生物高一第一學(xué)期期末統(tǒng)考試題含解析
- 互助資金管理辦法
- 青島版科學(xué)四年級(jí)下冊(cè)課程綱要
- 金葡素注射液與血小板功能的關(guān)聯(lián)
評(píng)論
0/150
提交評(píng)論