操作系統(tǒng)期末復(fù)習(xí)要點(diǎn)_第1頁(yè)
操作系統(tǒng)期末復(fù)習(xí)要點(diǎn)_第2頁(yè)
操作系統(tǒng)期末復(fù)習(xí)要點(diǎn)_第3頁(yè)
操作系統(tǒng)期末復(fù)習(xí)要點(diǎn)_第4頁(yè)
操作系統(tǒng)期末復(fù)習(xí)要點(diǎn)_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

精選優(yōu)質(zhì)文檔-----傾情為你奉上精選優(yōu)質(zhì)文檔-----傾情為你奉上專心---專注---專業(yè)專心---專注---專業(yè)精選優(yōu)質(zhì)文檔-----傾情為你奉上專心---專注---專業(yè)《操作系統(tǒng)》復(fù)習(xí)指導(dǎo)考試共有5種題型:選擇、填空、判斷、簡(jiǎn)答、操作,基本上每種題型20分。操作題出自下面6種題型。簡(jiǎn)答題:什么是多道程序設(shè)計(jì)?其主要特點(diǎn)是什么?2..什么是進(jìn)程?進(jìn)程和程序有什么區(qū)別與聯(lián)系?3.什么是線程?建立線程的目的是什么?4.什么是臨界資源?什么是臨界區(qū)?舉一個(gè)臨界資源的例子。5.在進(jìn)程的整個(gè)生命周期中,可能要經(jīng)歷哪幾種狀態(tài)?這幾種狀態(tài)在什么情況下會(huì)發(fā)生什么樣的變遷(主要敘述三狀態(tài)模型即可)?所謂三狀態(tài)模型、五狀態(tài)模型、七狀態(tài)模型各包括進(jìn)程的哪幾種狀態(tài)?6.什么是死鎖?產(chǎn)生死鎖的根本原因是什么?解決死鎖有哪幾種解決策略?這些策略有哪些具體的解決方案?7.為什么要使用聯(lián)想寄存器(快表)?聯(lián)想寄存器里存放的內(nèi)容是什么?8.什么是虛擬技術(shù)?虛擬技術(shù)需要什么物質(zhì)基礎(chǔ)?9.在設(shè)備管理中為什么要引入緩沖區(qū)?常見的緩沖技術(shù)有哪幾種?現(xiàn)在最常用的是哪種?10.什么是SPOOLING系統(tǒng)?SPOOLING系統(tǒng)由哪幾部份構(gòu)成?舉一個(gè)利用SPOOLING技術(shù)的例子。11.以打印機(jī)為例,說(shuō)明SPOOLING的工作原理12.有哪幾種常見的輸入輸出控制機(jī)制?簡(jiǎn)述其工作原理。操作題(共有6種類型的題,20分上下))(1)作業(yè)調(diào)度:分別用先來(lái)先服務(wù)、最短作業(yè)優(yōu)先、響應(yīng)比高者優(yōu)先算法調(diào)度,計(jì)算作業(yè)的平均周轉(zhuǎn)時(shí)間和平均帶權(quán)周轉(zhuǎn)時(shí)間。注:在時(shí)間運(yùn)算上,可用10進(jìn)程,也可用60進(jìn)制參與運(yùn)算。(2)信號(hào)量機(jī)制和P、V(Wait、Signal)操作。理解P、V操作的定義,理解信號(hào)量值的含義。能夠在具體的應(yīng)用里,根據(jù)題意,建立信號(hào)量,并用偽代碼(類C或類PASCAL)來(lái)表達(dá)進(jìn)程之間的同步與互斥。(3)銀行家算法:(一種典型的死鎖避免策略)這是一種避免死鎖的策略。要會(huì)根據(jù)當(dāng)前資源情況和進(jìn)程需求情況,判斷當(dāng)前狀態(tài)是否安全;若當(dāng)前狀態(tài)安全,再有進(jìn)程申請(qǐng)新的資源,可否給它?邏輯地址到內(nèi)存地址的轉(zhuǎn)換:給定一個(gè)邏輯地址(段號(hào),段內(nèi)地址)和段表,要求給出物理地址;給定一個(gè)邏輯地址(邏輯地址)、頁(yè)面尺寸、頁(yè)表,要求換算出物理地址;頁(yè)面淘汰算法:給定一個(gè)頁(yè)面訪問(wèn)序列,會(huì)用以下幾種算法分別計(jì)算頁(yè)面的缺頁(yè)中斷數(shù)和缺頁(yè)中斷率:最佳淘汰算法(OPT)、先進(jìn)先出淘汰算法(FIFO)、最近最久未使用淘汰算法(LRU)(6)磁盤調(diào)度算法:給定一個(gè)磁盤訪問(wèn)序列,會(huì)分別用以下幾種磁盤調(diào)度算法計(jì)算尋道總長(zhǎng)度和平均尋道長(zhǎng)度:先來(lái)先服務(wù)(FCFS)、最短尋道時(shí)間優(yōu)先(SSTF)掃描算法(SCAN)——又叫電梯算法、循環(huán)掃描(CSCAN)章節(jié)復(fù)習(xí)要點(diǎn):第一章1.什么是操作系統(tǒng)?操作系統(tǒng)的目標(biāo)和作用是什么?答:操作系統(tǒng)是最復(fù)雜、最典型的系統(tǒng)軟件。其目標(biāo)有以下幾點(diǎn):1.方便性2.有效性3.可擴(kuò)充性4.開放性作用:操作系統(tǒng)是為改善計(jì)算機(jī)系統(tǒng)的性能、提高計(jì)算機(jī)的利用率、方便用戶使用計(jì)算機(jī)而配備的一種最基本的低層系統(tǒng)軟件,是計(jì)算機(jī)系統(tǒng)的核心。其作用可以概括如下:1.OS作為用戶與計(jì)算機(jī)硬件之間的接口2.OS作為計(jì)算機(jī)系統(tǒng)資源的管理者3.OS用作擴(kuò)充機(jī)器2.操作系統(tǒng)給用戶提供哪幾種接口來(lái)操縱和使用計(jì)算機(jī)?體會(huì)這些接口的含義。答:操作系統(tǒng)提供給用戶的接口有兩大類:脫機(jī)用戶接口和聯(lián)機(jī)用戶接口脫機(jī)用戶接口主要是為批處理系統(tǒng)中的脫機(jī)用戶準(zhǔn)備的。用戶在提交作業(yè)時(shí),不僅要提交源程序和初始數(shù)據(jù),還要將反映控制意圖的說(shuō)明書“作業(yè)控制說(shuō)明書”一并交給計(jì)算機(jī)系統(tǒng)。這時(shí)操作系統(tǒng)提供給用戶的接口稱為“作業(yè)控制語(yǔ)言(JCL)”,“作業(yè)控制說(shuō)明書”就是用這種語(yǔ)言寫成的。聯(lián)機(jī)用戶接口:又可分為命令接口、程序接口(又叫系統(tǒng)調(diào)用)和圖形用戶接口。俗稱命令口、程序口和圖形口。(1)命令接口。這是指由OS提供了一組聯(lián)機(jī)命令(語(yǔ)言),用戶可通過(guò)鍵盤輸入有關(guān)命令,來(lái)直接操縱計(jì)算機(jī)系統(tǒng)。(2)程序接口。又稱“系統(tǒng)調(diào)用”或應(yīng)用程序編程接口(API)。OS提供了一組系統(tǒng)調(diào)用,用戶可以在自己的程序中通過(guò)使用系統(tǒng)調(diào)用,來(lái)獲得操作系統(tǒng)的底層服務(wù),訪問(wèn)系統(tǒng)的各種軟硬件資源。(3)圖形接口。用戶通過(guò)屏幕上的窗口和圖標(biāo)來(lái)操縱計(jì)算機(jī)系統(tǒng)和運(yùn)行自己的程序。3.OS作為計(jì)算機(jī)系統(tǒng)資源的管理者,主要管理哪幾方面的資源? 答:OS的主要功能也正是針對(duì)這四類資源進(jìn)行有效的管理,即:(1)處理機(jī)管理:用于分配和控制處理機(jī);(2)存儲(chǔ)器管理:主要負(fù)責(zé)內(nèi)存的分配與回收;(3)I/O設(shè)備管理:負(fù)責(zé)I/O設(shè)備的分配與操縱;(4)文件管理:負(fù)責(zé)文件的存取、共享和保護(hù)。4.在操作系統(tǒng)中什么叫并發(fā)?并發(fā)是真正的并行處理嗎?至少有幾個(gè)CPU的情況下才可能實(shí)現(xiàn)真正的并行處理?什么叫共享,什么叫虛擬?什么叫異步?答:并發(fā):并行性和并發(fā)性是既相似又有區(qū)別的兩個(gè)概念,并行性是指兩個(gè)或多個(gè)事件在同一時(shí)刻發(fā)生;而并發(fā)性是指兩個(gè)或多個(gè)事件在同一時(shí)間間隔內(nèi)發(fā)生。在多道程序環(huán)境下,并發(fā)性是指在一段時(shí)間內(nèi),宏觀上有多個(gè)程序在同時(shí)運(yùn)行,但在單處理機(jī)系統(tǒng)中,每一時(shí)刻卻僅能有一道程序執(zhí)行,故微觀上這些程序只能是分時(shí)地交替執(zhí)行。倘若在計(jì)算機(jī)系統(tǒng)中有多個(gè)處理機(jī),則這些可以并發(fā)執(zhí)行的程序便可被分配到多個(gè)處理機(jī)上,實(shí)現(xiàn)并行執(zhí)行,即利用每個(gè)處理機(jī)來(lái)處理一個(gè)可并發(fā)執(zhí)行的程序,這樣,多個(gè)程序便可同時(shí)執(zhí)行。共享:在操作系統(tǒng)環(huán)境下,所謂共享是指系統(tǒng)中的資源可供內(nèi)存中多個(gè)并發(fā)執(zhí)行的進(jìn)程(線程)共同使用。虛擬:操作系統(tǒng)中的所謂“虛擬”,是指通過(guò)某種技術(shù)把一個(gè)物理實(shí)體變?yōu)槿舾蓚€(gè)邏輯上的對(duì)應(yīng)物。物理實(shí)體(前者)是實(shí)的,即實(shí)際存在的;而后者是虛的,是用戶感覺上的東西。相應(yīng)地,用于實(shí)現(xiàn)虛擬的技術(shù),稱為虛擬技術(shù)。異步:在多道程序環(huán)境下,允許多個(gè)進(jìn)程并發(fā)執(zhí)行,但只有進(jìn)程在獲得所需的資源后方能執(zhí)行。在單處理機(jī)環(huán)境下,由于系統(tǒng)中只有一個(gè)處理機(jī),因而每次只允許一個(gè)進(jìn)程執(zhí)行,其余進(jìn)程只能等待?;蛘哒f(shuō),進(jìn)程是以人們不可預(yù)知的速度向前推進(jìn),此即進(jìn)程的異步性?;镜牟僮飨到y(tǒng)有哪幾種?它們各有什么特點(diǎn)?答:批處理系統(tǒng)(單道和多道),分時(shí)系統(tǒng),實(shí)時(shí)系統(tǒng)特點(diǎn):(a)是計(jì)算機(jī)對(duì)一批作業(yè)進(jìn)行自動(dòng)處理的技術(shù),為此,把一批作業(yè)以脫機(jī)的方式輸入到磁帶上,并在系統(tǒng)中配置監(jiān)督程序。在監(jiān)督程序的控制下,先把磁帶上的第一個(gè)作業(yè)裝入內(nèi)存,并把運(yùn)行控制權(quán)交給該作業(yè),當(dāng)該作業(yè)處理完后,又把控制權(quán)交還給監(jiān)督程序,由監(jiān)督程序再把第二個(gè)作業(yè)裝入內(nèi)存,直至一批作業(yè)處理完。多道批處理系統(tǒng)的特征(1)多道性。(2)無(wú)序性。(3)調(diào)度性。多道批處理系統(tǒng)的優(yōu)缺點(diǎn)(1)資源利用率高。(2)系統(tǒng)吞吐量大。(3)平均周轉(zhuǎn)時(shí)間長(zhǎng)。(4)無(wú)交互能力(b)分時(shí)系統(tǒng)的特征.(1)多路性。(2)獨(dú)立性。(3)及時(shí)性。(4)交互性。(c)實(shí)時(shí)系統(tǒng)與分時(shí)系統(tǒng)特征的比較(1)多路性。(2)獨(dú)立性。(3)及時(shí)性。(4)交互性。(5)可靠性。第二章:進(jìn)程描述與控制1.什么是進(jìn)程?為什么要引入進(jìn)程?在單道程序環(huán)境中有無(wú)必要引入進(jìn)程?進(jìn)程由哪幾個(gè)部分構(gòu)成?系統(tǒng)是通過(guò)什么來(lái)感知進(jìn)程的存在的?答:(1)進(jìn)程的定義有多種,比較典型的有:1)進(jìn)程是程序在處理器上的一次執(zhí)行過(guò)程。2)進(jìn)程是一個(gè)程序及其數(shù)據(jù)在處理機(jī)上順序執(zhí)行時(shí)所發(fā)生的活動(dòng)。3)進(jìn)程是程序在一個(gè)數(shù)據(jù)集合上的運(yùn)行的過(guò)程,是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位。通常人們定義進(jìn)程為:進(jìn)程是進(jìn)程實(shí)體的運(yùn)行過(guò)程,是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位。(2)在多道程序環(huán)境下,程序的并發(fā)執(zhí)行代替了程序的順序執(zhí)行,程序不再像單道程序環(huán)境那樣,順序連貫地執(zhí)行,而是走走停停,具有執(zhí)行——暫?!獔?zhí)行的規(guī)律。它破壞了程序的“封閉性”和“可再現(xiàn)性”,使得程序和機(jī)器執(zhí)行程序的活動(dòng)不再一一對(duì)應(yīng),程序執(zhí)行的結(jié)果也不再唯一,這樣,程序的執(zhí)行也就失去了意義。這時(shí)“程序”這個(gè)靜態(tài)的概念已經(jīng)不能反映程序活動(dòng)所具有的特征,需要引進(jìn)一個(gè)新的概念——進(jìn)程。為了使程序能并發(fā)執(zhí)行,且為了對(duì)并發(fā)執(zhí)行的程序加以描述和控制,人們引入了“進(jìn)程”的概念。(3)程序段、數(shù)據(jù)段及PCB三個(gè)部分組成。(4)PCB2.進(jìn)程有哪幾種基本的狀態(tài)?這些狀態(tài)都在哪些典型情況下會(huì)發(fā)生哪種變遷?掛起有幾種狀態(tài)?掛起的進(jìn)程能獲得處理機(jī)嗎?答:(1)進(jìn)程的三種基本狀態(tài):1)就緒(Ready)狀態(tài)2)執(zhí)行狀態(tài)3)阻塞狀態(tài)(2)就緒(Ready)狀態(tài):當(dāng)進(jìn)程已分配到除CPU以外的的所有必要資源后,只要再獲得CPU就可以立即執(zhí)行,這時(shí)的進(jìn)程狀態(tài)稱為就緒狀態(tài)。在一個(gè)系統(tǒng)中處于就緒狀態(tài)的進(jìn)程可能有多個(gè),通常將他們排成一個(gè)隊(duì)列,稱為就緒隊(duì)列執(zhí)行狀態(tài):進(jìn)程已獲得CPU,其程序正在執(zhí)行。在單處理機(jī)系統(tǒng)中,只有一個(gè)進(jìn)程處于執(zhí)行狀態(tài);在多處理器系統(tǒng)中,則有多個(gè)進(jìn)程處于執(zhí)行狀態(tài)。阻塞狀態(tài):正在執(zhí)行的進(jìn)程由于發(fā)生某事件(如需要輸入或輸出數(shù)據(jù))而暫時(shí)無(wú)法繼續(xù)執(zhí)行時(shí),便放棄處理機(jī)而處于暫停狀態(tài),即進(jìn)程的執(zhí)行受到阻塞,這種暫停的狀態(tài)稱為阻塞狀態(tài)致使進(jìn)程阻塞的典型事件有:請(qǐng)求I/O,申請(qǐng)緩沖空間等。(3)當(dāng)內(nèi)存所有進(jìn)程阻塞時(shí),操作系統(tǒng)可將一進(jìn)程置為掛起狀態(tài)并交換到磁盤,再將另一個(gè)處于就緒狀態(tài)的進(jìn)程調(diào)入另一進(jìn)程執(zhí)行。掛起狀態(tài)與原有的阻塞和就緒狀態(tài)結(jié)合為起來(lái)又可形成阻塞掛起狀態(tài)和就緒掛起狀態(tài)。1)活動(dòng)就緒→靜止就緒。(通過(guò)掛起原語(yǔ)將其掛起)2)活動(dòng)阻塞→靜止阻塞。3)靜止就緒→活動(dòng)就緒。(用激活原語(yǔ)將靜止?fàn)顟B(tài)變?yōu)榛顒?dòng)狀態(tài))4)靜止阻塞→活動(dòng)阻塞。3.什么是線程?操作系統(tǒng)根據(jù)什么來(lái)感知線程的存在?線程有哪幾種不同的實(shí)現(xiàn)方式?答:(1)線程是進(jìn)程內(nèi)的一個(gè)相對(duì)獨(dú)立的、可獨(dú)立調(diào)度和指派的執(zhí)行單元。(2)線程使用線程控制塊(TCB)來(lái)描述其數(shù)據(jù)結(jié)構(gòu)。(3)內(nèi)核級(jí)線程(KLT):內(nèi)核級(jí)線程KLT中的所有線程的創(chuàng)建、調(diào)度和管理全部由操作系統(tǒng)內(nèi)核負(fù)責(zé).用戶級(jí)線程(ULT):用戶級(jí)線程是指不依賴于操作系統(tǒng)內(nèi)核,由應(yīng)用進(jìn)程利用線程庫(kù)提供的創(chuàng)建、同步、調(diào)度和管理線程的函數(shù)來(lái)控制線程。用戶級(jí)線程ULT由用戶應(yīng)用程序建立,由用戶應(yīng)用程序負(fù)責(zé)對(duì)這些線程進(jìn)行調(diào)度和管理,操作系統(tǒng)內(nèi)核并不知道有用戶級(jí)線程的存在。KLT和ULT結(jié)合:即內(nèi)核支持多線程的建立、調(diào)度與管理;同時(shí)系統(tǒng)又提供使用線程庫(kù)的便利,允許用戶應(yīng)用程序建立、調(diào)度和管理用戶級(jí)的線程。4.比較進(jìn)程和程序有什么異同和聯(lián)系。5.為什么要引進(jìn)線程的概念?比較線程和進(jìn)程之間有什么異同和聯(lián)系。答:(1)線程的引入,進(jìn)一步提高了程序并發(fā)執(zhí)行的程度,從而進(jìn)一步提高了系統(tǒng)的吞吐量。為了既能提高程序的并發(fā)程度,又能減少OS的開銷,操作系統(tǒng)設(shè)計(jì)者引入了線程,把進(jìn)程的兩個(gè)基本屬性分離開來(lái)。即以進(jìn)程為單位分配資源,以線程為單位進(jìn)行調(diào)度。(2)進(jìn)程和線程的區(qū)別與聯(lián)系:調(diào)度擁有資源并發(fā)性系統(tǒng)開銷第三章并發(fā)控制——進(jìn)程的同步與互斥1.什么叫進(jìn)程同步?什么叫進(jìn)程互斥?通過(guò)前趨圖進(jìn)一步感受進(jìn)程的同步。答:(1)同步,也稱為直接相互制約,是指某些并發(fā)執(zhí)行的進(jìn)程為共同完成一個(gè)任務(wù),需要相互合作、協(xié)同工作。這些合作的進(jìn)程都是獨(dú)立地以不可預(yù)知的速度推進(jìn),這就需要在一些關(guān)鍵點(diǎn)上互相等待,互通消息。所謂進(jìn)程同步,是指多個(gè)相互合作的進(jìn)程,在一些關(guān)鍵點(diǎn)上可能需要互相等待或互相交換信息,這種相互制約的關(guān)系稱為進(jìn)程同步。進(jìn)程同步是進(jìn)程之間直接的相互作用,是合作進(jìn)程間有意識(shí)的行為。(2)互斥:也稱間接相互制約關(guān)系,是指多個(gè)進(jìn)程同時(shí)競(jìng)爭(zhēng)一個(gè)需要互斥使用的資源(如打印機(jī)等),當(dāng)該資源已經(jīng)分配給某個(gè)進(jìn)程使用時(shí),其它進(jìn)程只能等待,直到該資源被釋放。所謂進(jìn)程互斥是指當(dāng)有若干進(jìn)程都要使用某一共享資源時(shí),最多允許一個(gè)進(jìn)程使用,而其他要使用該資源的進(jìn)程必須等待,直到占用該資源的進(jìn)程釋放了該資源為止。2.什么叫臨界資源?什么叫臨界區(qū)?答:(1操作系統(tǒng)中將一次僅允許一個(gè)進(jìn)程訪問(wèn)的資源稱為臨界資源,如打印機(jī)、共享變量等(2)操作系統(tǒng)中把每個(gè)進(jìn)程中訪問(wèn)臨界資源的那段代碼段稱為臨界區(qū)。3.什么叫信號(hào)量?它是一種解決什么問(wèn)題的機(jī)制?信號(hào)量的值可以人為設(shè)定幾次?它的值是由哪些操作改變的?答:(1)信號(hào)量是一個(gè)確定的兩元組(S,Q),其中S是一個(gè)具有非負(fù)初值的整型變量,Q是一個(gè)初始狀態(tài)為空的隊(duì)列。整型變量S表示系統(tǒng)中某類資源的數(shù)目,當(dāng)其值大于或等于0時(shí),表示系統(tǒng)中當(dāng)前可用資源的數(shù)目;當(dāng)其值小于0時(shí),其絕對(duì)值表示系統(tǒng)中因請(qǐng)求該類資源而被阻塞的進(jìn)程數(shù)目。(2)信號(hào)量是一種用來(lái)有效地解決進(jìn)程同步與互斥問(wèn)題的機(jī)制。(3)信號(hào)量的初值(4)除信號(hào)量的初值外,信號(hào)量的值僅能由P操作(又叫Wait操作)和V操作(又稱Signal操作)來(lái)改變。4.體會(huì)、理解信號(hào)量以及P、V(Wait、Signal)操作的意義。答:一個(gè)信號(hào)量的建立必須經(jīng)過(guò)說(shuō)明,即應(yīng)該準(zhǔn)確說(shuō)明S的意義和初值(注意這個(gè)初值不是一個(gè)負(fù)值)。每個(gè)信號(hào)量都有一個(gè)相應(yīng)的隊(duì)列,在建立信號(hào)量時(shí),隊(duì)列為空。P、V操作以原語(yǔ)方式實(shí)現(xiàn),信號(hào)量的值僅能由這兩條原語(yǔ)加以改變。P、V操作的定義為:P操作。P操作記為P(S),其中S為一個(gè)信號(hào)量,它執(zhí)行時(shí)主要完成下述動(dòng)作:S=S-1;若S>=0則進(jìn)程繼續(xù)運(yùn)行;否則(即S<0)阻塞該進(jìn)程,并將它插入該信號(hào)量的等待隊(duì)列中。V操作。V操作記為V(S),S為一個(gè)信號(hào)量,它執(zhí)行時(shí)主要完成下述動(dòng)作:S=S+1;若S大于0則進(jìn)程繼續(xù)執(zhí)行;否則(即S<=0)則從信號(hào)量等待隊(duì)列中移出第一個(gè)進(jìn)程,使其變?yōu)榫途w狀態(tài)并插入就緒隊(duì)列,然后再返回原進(jìn)程繼續(xù)執(zhí)行。只需要把臨界區(qū)置于P(S)和V(S)之間,即可以實(shí)現(xiàn)兩個(gè)進(jìn)程的互斥?;コ庠L問(wèn)臨界區(qū)的描述如下:----要求P1、P2互斥訪問(wèn)臨界區(qū)://注意書寫格式!semaphoreS=1;main(){cobeginP1();P2();coend}P1(){……/*剩余區(qū)*/P(S);進(jìn)程P1的臨界區(qū);V(S);……}P2(){……/*剩余區(qū)*/P(S);進(jìn)程P2的臨界區(qū);V(S);……}當(dāng)我們可使用的資源數(shù)量最多為1的時(shí)候,信號(hào)量一般用mutex表示.如:semaphoremutex=15.為什么要引入管程?管程由哪幾個(gè)部分組成?答:(1)雖然信號(hào)量機(jī)制是一種既方便又有效的進(jìn)程同步機(jī)制,但每個(gè)要訪問(wèn)臨界資源的進(jìn)程都必須自備同步操作P(S)和V(S)。這使得大量的同步操作分散在各個(gè)進(jìn)程中。這不僅給系統(tǒng)管理帶來(lái)麻煩,而且還會(huì)因?yàn)橥讲僮鞯氖褂貌划?dāng)造成系統(tǒng)死鎖。于是在解決上述問(wèn)題的基礎(chǔ)上,又產(chǎn)生了一種新的同步工具——管程.Hasan為管程下的定義為:“一個(gè)管程定義了一個(gè)數(shù)據(jù)結(jié)構(gòu)和能為并發(fā)進(jìn)程所執(zhí)行(在該數(shù)據(jù)結(jié)構(gòu)上)的一組操作,這組操作能同步進(jìn)程和改變管程中的數(shù)據(jù)”建立管程的基本理由:由于對(duì)臨界區(qū)的執(zhí)行分散在各個(gè)進(jìn)程之中,這樣不便于系統(tǒng)對(duì)臨界資源的控制和管理,也很難發(fā)現(xiàn)和糾正分散在用戶程序中的對(duì)同步原語(yǔ)的錯(cuò)誤使用等問(wèn)題。為此應(yīng)把分散的各同類臨界區(qū)集中起來(lái),并為每個(gè)可共享資源設(shè)立一個(gè)專門的管程來(lái)統(tǒng)一管理各進(jìn)程對(duì)資源的訪問(wèn)。這樣,既便于系統(tǒng)管理共享資源,又能保證互斥訪問(wèn)。(2)定義一個(gè)管程:具體包括:(1)聲明一個(gè)管程,給出名字:(2)聲明管程內(nèi)的數(shù)據(jù)結(jié)構(gòu)、變量、條件變量:(3)聲明管程從外部可調(diào)用的函數(shù)(里面就包含了CWait和CSignal操作)(4)對(duì)管程聲明的變量進(jìn)行初始化6.什么是進(jìn)程的低級(jí)通信、高級(jí)通信?高級(jí)通信機(jī)制分為哪幾大類?答:(1)進(jìn)程之間的互斥與同步也是一種通信,由于其所交換的信息量少而被叫做“低級(jí)通信”。高級(jí)進(jìn)程通信,是指用戶可直接利用操作系統(tǒng)所提供的一組通信命令,高效地傳送大量數(shù)據(jù)的一種通信方式。(2)目前的高級(jí)通信機(jī)制可以歸為三大類:a.共享存儲(chǔ)器系統(tǒng);在共享存儲(chǔ)器系統(tǒng)中,相互通信的進(jìn)程共享某些數(shù)據(jù)結(jié)構(gòu)或共享存儲(chǔ)區(qū),進(jìn)程之間能夠通過(guò)這些空間進(jìn)行通信。于是又可再分為以下兩種通信方式:基于共享數(shù)據(jù)結(jié)構(gòu)的通信方式:要求諸進(jìn)程共用某些數(shù)據(jù)結(jié)構(gòu),借以實(shí)現(xiàn)進(jìn)程間的數(shù)據(jù)交換。如在生產(chǎn)者-消費(fèi)者問(wèn)題中,就是用有界緩沖區(qū)這種數(shù)據(jù)結(jié)構(gòu)來(lái)實(shí)現(xiàn)通信的。這里,公用數(shù)據(jù)結(jié)構(gòu)的設(shè)置及對(duì)進(jìn)程間同步的處理,都是程序員的職責(zé)。這無(wú)疑增加了程序員的負(fù)擔(dān),而操作系統(tǒng)只需提供共享存儲(chǔ)器。因此這種通信方式是低效的,只適宜于傳送較少量的數(shù)據(jù)?;诠蚕泶鎯?chǔ)區(qū)的通信方式:為了傳遞大量數(shù)據(jù),在存儲(chǔ)器中劃出了一塊共享存儲(chǔ)區(qū),諸進(jìn)程可通過(guò)對(duì)共享存儲(chǔ)區(qū)中數(shù)據(jù)的讀或?qū)憗?lái)實(shí)現(xiàn)通信。這種通信方式屬于高級(jí)通信。進(jìn)程在通信前,先向系統(tǒng)申請(qǐng)獲得共享存儲(chǔ)區(qū)中的一個(gè)分區(qū),并指定該分區(qū)的關(guān)鍵字;接著由申請(qǐng)者把獲得的共享存儲(chǔ)分區(qū)連接到本進(jìn)程上。此后,便可像讀寫普通存儲(chǔ)器一樣讀寫該公用存儲(chǔ)分區(qū)。b消息傳遞系統(tǒng);在消息傳遞系統(tǒng)中,進(jìn)程間的數(shù)據(jù)交換,是以格式化的消息(message)為單位的。在計(jì)算機(jī)網(wǎng)絡(luò)中又把信息叫作“報(bào)文”。程序員直接利用系統(tǒng)提供的一組通信命令(原語(yǔ))進(jìn)行通信。操作系統(tǒng)隱藏了通信的實(shí)現(xiàn)細(xì)節(jié),大大簡(jiǎn)化了通信程序編程的復(fù)雜性,因而獲得廣泛的應(yīng)用。消息傳遞系統(tǒng)的通信屬于高級(jí)通信。又因其實(shí)現(xiàn)方式的不同進(jìn)一步細(xì)分為直接通信方式和間接通信方式。直接通信方式發(fā)送進(jìn)程利用操作系統(tǒng)提供的發(fā)送命令,直接把消息發(fā)送給目標(biāo)進(jìn)程。此時(shí)要求發(fā)送進(jìn)程和接收進(jìn)程都以顯式方式提供對(duì)方的標(biāo)識(shí)符。間接通信方式進(jìn)程間的通信需要通過(guò)作為共享數(shù)據(jù)結(jié)構(gòu)的實(shí)體。該實(shí)體暫存發(fā)送進(jìn)程發(fā)出的消息,接收進(jìn)程則從該實(shí)體中取出對(duì)方發(fā)給自己的消息,通常把這種實(shí)體叫作“信箱”。消息在信箱中可以安全地保存,只允許核準(zhǔn)的目標(biāo)用戶隨時(shí)讀取。因此利用信箱既可實(shí)現(xiàn)實(shí)時(shí)通信,又可實(shí)現(xiàn)非實(shí)時(shí)通信。系統(tǒng)為信箱通信提供了若干條原語(yǔ),分別用于信箱的創(chuàng)建、撤銷和消息的發(fā)送、接收等。c管道通信系統(tǒng):管道是用于連接一個(gè)寫進(jìn)程和一個(gè)讀進(jìn)程以及實(shí)現(xiàn)它們之間通信的一個(gè)共享文件,又叫pipe文件。向管道(共享文件)提供輸入的發(fā)送進(jìn)程(即寫進(jìn)程)以字符流的形式將大量的數(shù)據(jù)送入管道;接收管道輸出的接收進(jìn)程(即讀進(jìn)程),則從管道中接收(讀)數(shù)據(jù)。由于發(fā)送進(jìn)程和接收進(jìn)程是利用管道進(jìn)行通信的,故又稱為管道通信。這種方式首創(chuàng)于Unix,由于它能有效地傳送大量數(shù)據(jù),因而又被引入到其它操作系統(tǒng)中。第四章處理機(jī)調(diào)度與死鎖1.簡(jiǎn)述三級(jí)調(diào)度的概念。是否任何操作系統(tǒng)都必須配置作業(yè)調(diào)度?哪一級(jí)調(diào)度是所有操作系統(tǒng)必備的?答:(1)用戶作業(yè)從進(jìn)入系統(tǒng)成為后備作業(yè),直到運(yùn)行程序、退出系統(tǒng),可能會(huì)經(jīng)歷三級(jí)調(diào)度:高級(jí)調(diào)度:又稱作業(yè)調(diào)度、長(zhǎng)程調(diào)度。操作系統(tǒng)根據(jù)允許并發(fā)執(zhí)行的作業(yè)道數(shù)和一定的算法,從作業(yè)后備隊(duì)列中選取若干作業(yè)裝入內(nèi)存,使它們能夠獲得處理器運(yùn)行,這項(xiàng)工作稱為作業(yè)調(diào)度,完成這項(xiàng)工作的程序稱為作業(yè)調(diào)度程序(——這是操作系統(tǒng)的一個(gè)子程序)。作業(yè)共有四種狀態(tài):提交狀態(tài)、收容狀態(tài)、執(zhí)行狀態(tài)、完成狀態(tài)。高級(jí)調(diào)度又稱作業(yè)調(diào)度或長(zhǎng)程調(diào)度,它的功能是按照某種原則從后備作業(yè)隊(duì)列中選取若干作業(yè)進(jìn)入主存。用于決定把外存中處于后備隊(duì)列中的哪些作業(yè)調(diào)入內(nèi)存,并為它們建立進(jìn)程,分配必要的資源,然后再將新建立的進(jìn)程排在就緒隊(duì)列上,準(zhǔn)備執(zhí)行(這時(shí)進(jìn)入進(jìn)程調(diào)度階段)。因此也把作業(yè)調(diào)度叫作接納調(diào)度。中級(jí)調(diào)度:又稱平衡負(fù)載調(diào)度、中程調(diào)度。引入中級(jí)調(diào)度的主要目的,是為了提高內(nèi)存利用率和系統(tǒng)吞吐量。為此,應(yīng)使那些暫時(shí)不能運(yùn)行的進(jìn)程不再占用寶貴的內(nèi)存資源,而將它們調(diào)到外存上去等待,把此時(shí)的狀態(tài)稱為就緒駐外存狀態(tài)或掛起狀態(tài)。當(dāng)這些進(jìn)程重又具備運(yùn)行條件,且內(nèi)存又稍有空閑時(shí),由中級(jí)調(diào)度決定把外存上的那些又具備運(yùn)行條件的就緒進(jìn)程重新調(diào)入內(nèi)存,并修改其狀態(tài)為就緒,掛在就緒隊(duì)列上等待進(jìn)程調(diào)度??傊?,中級(jí)調(diào)度實(shí)際上就是存儲(chǔ)器管理中的對(duì)換功能。特別在采用虛擬存儲(chǔ)技術(shù)的系統(tǒng)或分時(shí)系統(tǒng)中,往往都會(huì)增加中級(jí)調(diào)度這一級(jí)。低級(jí)調(diào)度:又稱進(jìn)程調(diào)度、短程調(diào)度。用來(lái)決定就緒隊(duì)列中的哪個(gè)進(jìn)程應(yīng)獲得處理機(jī),然后再由分派程序(——操作系統(tǒng)的一個(gè)子程序)執(zhí)行具體的操作,把處理機(jī)分配給具體的進(jìn)程。(2)在批處理系統(tǒng)中,作業(yè)進(jìn)入系統(tǒng)后是先駐留在外存上的,需要有作業(yè)調(diào)度的過(guò)程,以便將其分批地裝入內(nèi)存。然而在分時(shí)系統(tǒng)中,為了做到及時(shí)響應(yīng),用戶通過(guò)鍵盤輸入的命令和數(shù)據(jù)都是被直接送入內(nèi)存的,無(wú)須再配置作業(yè)調(diào)度機(jī)制,在實(shí)時(shí)系統(tǒng)中一般也不需要作業(yè)調(diào)度?!Y(jié)論:并不是所有的操作系統(tǒng)都必須具備作業(yè)調(diào)度(3)進(jìn)程調(diào)度是最基本的調(diào)度,在三種基本類型的OS中,都必須配備這一級(jí)調(diào)度。2.常見的作業(yè)調(diào)度算法有哪些?常見的進(jìn)程調(diào)度有哪些?哪些調(diào)度是可剝奪的,哪些是不可剝奪的?答:(1)先來(lái)先服務(wù)調(diào)度算法(FCFS)、短作業(yè)優(yōu)先調(diào)度算法(SJF)、響應(yīng)比高者優(yōu)先(HRF)調(diào)度算法(2)剝奪式:當(dāng)系統(tǒng)按照某種原則發(fā)現(xiàn)一個(gè)比現(xiàn)運(yùn)行的進(jìn)程更合適、更應(yīng)該占用CPU的進(jìn)程時(shí),系統(tǒng)將強(qiáng)迫處于運(yùn)行狀態(tài)的進(jìn)程將CPU的使用權(quán)交給這個(gè)更合適的進(jìn)程。常見的調(diào)度原則有優(yōu)先權(quán)原則、短進(jìn)程優(yōu)先原則和時(shí)間片原則等。非剝奪式:一旦某個(gè)進(jìn)程占用了CPU,除非是由于它自身的原因自動(dòng)放棄CPU,否則它將一直運(yùn)行下去直到完成。常見的進(jìn)程調(diào)度算法有以下4種:先來(lái)先服務(wù)算法、最高優(yōu)先權(quán)優(yōu)先調(diào)度算法、時(shí)間片輪轉(zhuǎn)調(diào)度算法、多級(jí)反饋隊(duì)列調(diào)度算法3.給定一個(gè)作業(yè)序列,按先來(lái)先服務(wù)、短作業(yè)優(yōu)先、響應(yīng)比高者優(yōu)先算法調(diào)度,分別計(jì)算該作業(yè)序列的平均周轉(zhuǎn)時(shí)間和平均帶權(quán)周轉(zhuǎn)時(shí)間答:衡量作業(yè)調(diào)度算法性能的指標(biāo)1.系統(tǒng)吞吐率:平均每單位時(shí)間內(nèi)完成的作業(yè)數(shù)2.周轉(zhuǎn)時(shí)間:作業(yè)從提交到完成所經(jīng)歷的時(shí)間作業(yè)i的周轉(zhuǎn)時(shí)間為:Ti=Tei-Tsi其中,Tei為作業(yè)i的完成時(shí)間,Tsi為提交時(shí)間3.平均周轉(zhuǎn)時(shí)間:多個(gè)作業(yè)周轉(zhuǎn)時(shí)間的平均值T=(T1+T2+……+Tn)/n平均周轉(zhuǎn)時(shí)間越短,作業(yè)吞吐率越大,系統(tǒng)效率越高4.帶權(quán)周轉(zhuǎn)時(shí)間:作業(yè)周轉(zhuǎn)時(shí)間與作業(yè)實(shí)際運(yùn)行時(shí)間的比。作業(yè)i的帶權(quán)周轉(zhuǎn)時(shí)間為:Wi=Ti/Tri其中Ti為作業(yè)i的周轉(zhuǎn)時(shí)間,Tri為作業(yè)i的實(shí)際運(yùn)行時(shí)間5.平均帶權(quán)周轉(zhuǎn)時(shí)間:多個(gè)作業(yè)帶權(quán)周轉(zhuǎn)時(shí)間的平均值W=(W1+W2+……+Wn)/n4.什么是死鎖?死鎖產(chǎn)生的根本原因是什么?至少有幾個(gè)進(jìn)程并發(fā)才可能發(fā)生死鎖?答:(1)所謂死鎖是指多個(gè)進(jìn)程在運(yùn)行過(guò)程中因爭(zhēng)奪資源而造成的一種僵局,當(dāng)進(jìn)程處于這種僵局的時(shí)候,若沒有外力的干預(yù),它們都將無(wú)法再向前推進(jìn)。死鎖的定義1:在系統(tǒng)中某個(gè)進(jìn)程提出資源申請(qǐng)后,使得若干進(jìn)程在沒有外力作用的情況下永遠(yuǎn)不能前進(jìn),這種現(xiàn)象稱為死鎖。處于死鎖狀態(tài)的進(jìn)程稱為死鎖進(jìn)程。死鎖定義2指兩個(gè)或兩個(gè)以上的進(jìn)程因競(jìng)爭(zhēng)系統(tǒng)資源或相互通信而處于永久阻塞狀態(tài),每一個(gè)進(jìn)程都在等待另一個(gè)進(jìn)程釋放資源而被封鎖,若無(wú)外力作用,這些進(jìn)程都將無(wú)法向前推進(jìn)。(2)一是系統(tǒng)提供的資源有限,不能滿足每個(gè)進(jìn)程的需要;二是多道程序運(yùn)行時(shí),進(jìn)程推進(jìn)順序不合理。(3)25.總的來(lái)說(shuō),解決死鎖問(wèn)題有哪幾個(gè)方面的策略?答:解決死鎖的基本方法有三種(或死鎖有三種解決策略)(注意填空):死鎖的預(yù)防:死鎖的避免:銀行家算法死鎖的檢測(cè)與恢復(fù):6.預(yù)防死鎖可從哪幾個(gè)方面著手?常見的措施有哪些?答:死鎖的預(yù)防主要是打破造成死鎖的4個(gè)必要條件之一:(1)破壞“互斥”條件:該條無(wú)法做到。因?yàn)橛?jì)算機(jī)系統(tǒng)中大多數(shù)資源必須互斥使用,所以無(wú)法使互斥條件不成立而防止死鎖,相反還必須嚴(yán)格遵守互斥使用資源的要求。(2)破壞“占用并等待”條件:可以采用靜態(tài)分配策略。靜態(tài)分配就是要求每一個(gè)進(jìn)程在開始執(zhí)行前就一次性申請(qǐng)它所需要的全部資源。僅當(dāng)系統(tǒng)能滿足進(jìn)程全部資源要求并把資源分配給進(jìn)程后,該進(jìn)程才能開始執(zhí)行,否則,只要有一種資源不能滿足,即使其它資源空閑也不分配,讓該進(jìn)程等待。在等待期間,該進(jìn)程不占有任何資源。這種策略也稱“預(yù)分配資源法”,該方法實(shí)現(xiàn)簡(jiǎn)單,但降低了資源的利用率。(3)破壞“不可剝奪”條件:方法:進(jìn)程需要的資源不是一次性分配給它,而是在運(yùn)行的過(guò)程中,它需要的時(shí)候才進(jìn)行分配。當(dāng)一個(gè)進(jìn)程已占有了某些資源,又申請(qǐng)新的資源而不能立即得到滿足時(shí),該進(jìn)程將被剝奪已占有的全部資源,進(jìn)入阻塞狀態(tài)。只有在進(jìn)程重新獲得了原有資源和新資源后,才能繼續(xù)執(zhí)行。(4)破壞“循環(huán)等待”條件:可采用按序分配資源策略,具體做法是:把系統(tǒng)中所有的資源都按類型順序排列,并對(duì)每類資源確定一個(gè)序號(hào),如掃描儀、輸入機(jī)、打印機(jī)、磁盤的編號(hào)依次為1、2、3、4,每個(gè)進(jìn)程對(duì)資源的申請(qǐng)要嚴(yán)格按照序號(hào)遞增的次序進(jìn)行。7.銀行家算法是解決死鎖問(wèn)題的一種什么策略?什么樣的狀態(tài)為安全狀態(tài)?什么樣的為不安全狀態(tài)?會(huì)根據(jù)具體問(wèn)題用銀行家算法判斷系統(tǒng)是否安全。答:(1)銀行家算法是一種避免死鎖的方法。其實(shí)現(xiàn)思想是:允許進(jìn)程動(dòng)態(tài)地申請(qǐng)資源,系統(tǒng)在每次實(shí)施資源分配之前,先計(jì)算資源分配的安全性,若此次資源分配安全(即資源分配后,系統(tǒng)能按某種順序,來(lái)為每個(gè)進(jìn)程分配其所需的資源,直至最大需求,使每個(gè)進(jìn)程最終都可以順利完成),便將資源分配給該進(jìn)程,否則不分配資源,讓進(jìn)程等待。資源分配的安全性是指要保證至少有一個(gè)進(jìn)程能夠運(yùn)行到結(jié)束,并且通過(guò)回收該進(jìn)程所占用的資源再分配能依次使其它進(jìn)程運(yùn)行結(jié)束,然后繼續(xù)回收資源、繼續(xù)分配,直到全部進(jìn)程運(yùn)行結(jié)束??梢砸来潍@得資源并運(yùn)行結(jié)束的進(jìn)程序列稱為安全序列。如果計(jì)算出來(lái)的資源分配是不安全的,系統(tǒng)將拒絕分配。(2)若在某一時(shí)刻,系統(tǒng)能按某種順序如<P1,P2,…,Pn>來(lái)為每個(gè)進(jìn)程分配所需的資源,直至最大需求,使得每個(gè)進(jìn)程都能順利完成,則稱此時(shí)的系統(tǒng)狀態(tài)為安全狀態(tài),稱<P1,P2,…Pn>為安全序列。(3)若某一時(shí)刻系統(tǒng)中一個(gè)安全序列都沒有,則稱此時(shí)的系統(tǒng)狀態(tài)為不安全狀態(tài)。并非所有的不安全狀態(tài)都是死鎖狀態(tài);但當(dāng)系統(tǒng)進(jìn)入不安全狀態(tài)后,便有可能進(jìn)入死鎖狀態(tài);反之,只要系統(tǒng)處于安全狀態(tài),系統(tǒng)便可以避免進(jìn)入死鎖。另:若系統(tǒng)有同類資源m個(gè),可并發(fā)執(zhí)行且共享該類資源的的進(jìn)程最多是n個(gè),而每個(gè)進(jìn)程申請(qǐng)?jiān)擃愘Y源的最大量為x(1<=x<=m)只要不等式n(x-1)+1<=m成立,則系統(tǒng)就一定不會(huì)死鎖。例題:a.有3個(gè)進(jìn)程競(jìng)爭(zhēng)7個(gè)同類資源,每個(gè)進(jìn)程競(jìng)爭(zhēng)的資源數(shù)一樣多,問(wèn)最大請(qǐng)求資源在什么范圍就一定不會(huì)引起死鎖?b.有某類資源10個(gè),每個(gè)進(jìn)程需要的最大資源數(shù)為4,問(wèn)競(jìng)爭(zhēng)該類資源的進(jìn)程數(shù)為多少就一定不會(huì)死鎖?c.有5個(gè)進(jìn)程各需要申請(qǐng)某類資源4個(gè),問(wèn)系統(tǒng)有該類資源多少個(gè)就一定不會(huì)引起死鎖?8.什么是死鎖定理?死鎖定理有什么用?答:(1)系統(tǒng)為死鎖狀態(tài)的充分條件是:當(dāng)且僅當(dāng)該系統(tǒng)狀態(tài)的資源分配圖是不可完全簡(jiǎn)化的。該充分條件被稱為死鎖定理。資源分配圖(RAG)(2)死鎖的檢測(cè)第五章存儲(chǔ)器管理1.內(nèi)存管理的任務(wù)是什么?操作系統(tǒng)的內(nèi)存管理應(yīng)具備哪些功能?答:(1)在多道程序的環(huán)境中,存儲(chǔ)管理的目的主要有兩個(gè):一是提高資源的利用率,盡量滿足多個(gè)用戶對(duì)主存的要求;二是能方便用戶使用主存儲(chǔ)器,使用戶不必考慮作業(yè)存放在哪塊區(qū)域,也不必考慮如何能實(shí)現(xiàn)正確運(yùn)行等問(wèn)題。(2)存儲(chǔ)管理一般應(yīng)能完成如下功能:1)按作業(yè)要求進(jìn)行內(nèi)存的分配并進(jìn)行實(shí)時(shí)回收;2)實(shí)現(xiàn)程序中的邏輯地址到物理地址的重定位;3)對(duì)操作系統(tǒng)及其用戶的信息提供存儲(chǔ)保護(hù);4)實(shí)現(xiàn)主存的邏輯擴(kuò)充,提供給用戶更大的存儲(chǔ)空間。2.什么是重定位?什么是靜態(tài)重定位和動(dòng)態(tài)重定位?它們重定位的時(shí)機(jī)都在什么時(shí)候?答:(1)為使程序能正確運(yùn)行,必須將邏輯地址空間中的邏輯地址轉(zhuǎn)換為內(nèi)存空間中的物理地址,這一過(guò)程稱為地址重定位或地址映射。換句話說(shuō),地址重定位就是建立用戶程序的邏輯地址和物理地址之間的對(duì)應(yīng)關(guān)系。(2)靜態(tài)地址重定位是在程序執(zhí)行之前由操作系統(tǒng)的重定位裝入程序完成的。它根據(jù)要裝入的內(nèi)存起始地址,直接修改所有涉及到的邏輯地址,一次性完成邏輯地址到物理地址的轉(zhuǎn)換,在程序運(yùn)行中,不再進(jìn)行任何地址轉(zhuǎn)換。靜態(tài)地址重定位的優(yōu)點(diǎn)是只需通過(guò)重定位裝入程序,即可實(shí)現(xiàn)邏輯地址向物理地址的轉(zhuǎn)化,不需要硬件的支持,可以在任何機(jī)器上實(shí)現(xiàn)。早期的操作系統(tǒng)大多采用這種方法。缺點(diǎn)是程序必須占據(jù)連續(xù)的內(nèi)存空間,且一旦裝入內(nèi)存后,就不能被移動(dòng),不利于內(nèi)存空間的利用動(dòng)態(tài)地址重定位也稱動(dòng)態(tài)地址映射,是指把目標(biāo)程序裝入內(nèi)存的時(shí)候,并不立即把邏輯地址轉(zhuǎn)換為物理地址,而是在程序運(yùn)行過(guò)程中,當(dāng)CPU訪問(wèn)程序和數(shù)據(jù)的時(shí)候,才進(jìn)行地址轉(zhuǎn)換。為了提高轉(zhuǎn)換效率,一般需要重定位寄存器的支持。通常在程序裝入內(nèi)存后,將其在內(nèi)存中的起始地址裝入重定位寄存器。在程序執(zhí)行時(shí),把要訪問(wèn)的程序(數(shù)據(jù))的邏輯地址加上重定位寄存器中的起始地址,便可形成CPU能夠訪問(wèn)的物理地址。動(dòng)態(tài)地址重定位的優(yōu)點(diǎn)是不要求程序裝入連續(xù)的內(nèi)存空間。在內(nèi)存中允許程序再次移動(dòng)位置,而且還可以部分地裝入程序運(yùn)行。便于作業(yè)共享同一程序的副本。因此現(xiàn)代計(jì)算機(jī)系統(tǒng)廣泛采用動(dòng)態(tài)地址重定位技術(shù)。動(dòng)態(tài)地址重定位的缺點(diǎn)是需要硬件的支持,而且實(shí)現(xiàn)存儲(chǔ)管理的軟件算法也比較復(fù)雜3.體會(huì)幾種內(nèi)存管理的實(shí)現(xiàn)方法,引入的原因、組織空閑區(qū)的方式、回收的規(guī)定:(1)實(shí)存:?jiǎn)我贿B續(xù)分區(qū)、固定分區(qū)、可變式分區(qū)、分頁(yè)、分段、段頁(yè)式(2)虛存:請(qǐng)求式分頁(yè)、請(qǐng)求式分段、請(qǐng)求段頁(yè)式4.上面哪些內(nèi)存管理有內(nèi)碎片、哪些有外碎片?解決碎片有哪些方法?答:5.什么是頁(yè)表?什么是段表?其主要內(nèi)容是什么?引入聯(lián)想寄存器有什么用處?答:(1)在內(nèi)存中為每個(gè)進(jìn)程開辟一塊特定區(qū)域,建立起作業(yè)的邏輯頁(yè)與存儲(chǔ)塊之間的對(duì)應(yīng)表格關(guān)系,這種表稱為頁(yè)面映像表,簡(jiǎn)稱頁(yè)表。最簡(jiǎn)單的頁(yè)表只包含頁(yè)號(hào)、塊號(hào)兩個(gè)內(nèi)容。(2)為使程序能正常運(yùn)行,亦即,能從物理內(nèi)存中找出每個(gè)邏輯段所對(duì)應(yīng)的位置,應(yīng)象分頁(yè)系統(tǒng)那樣,在系統(tǒng)中為每個(gè)進(jìn)程建立一張段映射表,簡(jiǎn)稱“段表”。每個(gè)段在表中有一個(gè)表項(xiàng),記錄了該段在內(nèi)存中的地址和長(zhǎng)度.(3)為了提高查表的速度,人們?cè)诜猪?yè)地址變換機(jī)構(gòu)中,加入了一組高速緩沖存儲(chǔ)器,用來(lái)存放當(dāng)前作業(yè)的最常用的頁(yè)號(hào)和與之相應(yīng)的物理塊號(hào)。一般稱這樣的寄存器組為快表或聯(lián)想存儲(chǔ)器。6.會(huì)借助于段表、頁(yè)表等表格,來(lái)將給定的用戶程序地址(邏輯地址)轉(zhuǎn)化為內(nèi)存地址。7.理解、體會(huì)虛擬內(nèi)存管理中涉及的幾種頁(yè)面淘汰算法,會(huì)計(jì)算頁(yè)面中斷數(shù)和頁(yè)面中斷率第六章設(shè)備管理1.設(shè)備的幾種分類方式:輸入輸出設(shè)備和存儲(chǔ)設(shè)備、高速設(shè)備和低速設(shè)備、字符設(shè)備和塊設(shè)備。答:按操作特性分類:存儲(chǔ)設(shè)備和輸入輸出(I/O)設(shè)備。按系統(tǒng)和用戶的觀點(diǎn)分類:可將外部設(shè)備分為系統(tǒng)設(shè)備和用戶設(shè)備兩種按設(shè)備的傳輸速率分類:高速設(shè)備、中速設(shè)備和低速設(shè)備按信息交換的單位分類:字符設(shè)備和塊設(shè)備按設(shè)備的共享屬性分類:獨(dú)占設(shè)備、共享設(shè)備、虛擬設(shè)備2.分配設(shè)備需要的4個(gè)數(shù)據(jù)結(jié)構(gòu)(表):系統(tǒng)設(shè)備表、設(shè)備控制表、控制器控制表、通道控制表。答:系統(tǒng)設(shè)備表:這是系統(tǒng)范圍的數(shù)據(jù)結(jié)構(gòu),其中記錄了系統(tǒng)中全部設(shè)備的情況。每個(gè)設(shè)備占一個(gè)表目,每個(gè)表目包含了:設(shè)備類型、設(shè)備標(biāo)識(shí)符、設(shè)備控制表指針、設(shè)備驅(qū)動(dòng)程序的入口地址等。設(shè)備控制表:系統(tǒng)為每一個(gè)設(shè)備都配置了一張?jiān)O(shè)備控制表(DCT),用于記錄本設(shè)備的情況設(shè)備類型type設(shè)備標(biāo)識(shí)符deviceid設(shè)備狀態(tài)忙、閑、等待等指向控制器表的指針重復(fù)執(zhí)行次數(shù)設(shè)備隊(duì)列的隊(duì)首指針控制器控制表:系統(tǒng)為每一個(gè)控制器都設(shè)置了一張用于記錄本控制器情況的控制器控制表:控制器標(biāo)識(shí)符concollerid控制器狀態(tài):忙/閑指向通道表的指針控制器隊(duì)列的隊(duì)首指針控制器隊(duì)列的隊(duì)尾指針通道控制表:每個(gè)通道都配置一張通道控制表通道標(biāo)識(shí)符channel_id通道狀態(tài):忙/閑指向控制器表的指針通道隊(duì)列的隊(duì)首指針通道隊(duì)列的隊(duì)尾指針3.描述并體會(huì)幾種常見的輸入輸出控制方式:程序直接控制、中斷控制、DMA控制、通道控制。答:(1)或稱為詢問(wèn)方式、忙-等方式。下面以數(shù)據(jù)輸入為例說(shuō)明這種控制方式:當(dāng)用戶進(jìn)程需要輸入數(shù)據(jù)的時(shí)候,由處理機(jī)向設(shè)備控制器發(fā)送一條I/O指令啟動(dòng)設(shè)備進(jìn)行輸入;在設(shè)備輸入數(shù)據(jù)期間,處理機(jī)通過(guò)循環(huán)執(zhí)行測(cè)試指令,不間斷地檢測(cè)設(shè)備狀態(tài)寄存器的值;直到設(shè)備狀態(tài)寄存器的值顯示設(shè)備輸入完成的時(shí)候,處理機(jī)才結(jié)束測(cè)試循環(huán);接著將數(shù)據(jù)寄存器中的數(shù)據(jù)取出,送入內(nèi)存指定單元,然后再啟動(dòng)設(shè)備去讀下一個(gè)數(shù)據(jù)。同樣,當(dāng)用戶進(jìn)程需要向設(shè)備輸出數(shù)據(jù)的時(shí)候,CPU也必須發(fā)出啟動(dòng)命令啟動(dòng)輸出設(shè)備,并循環(huán)測(cè)試,等待輸出完成。在程序I/O方式中,由于CPU的高速性和I/O設(shè)備的低速性,致使CPU的絕大部分時(shí)間都處于等待I/O設(shè)備完成數(shù)據(jù)I/O的循環(huán)測(cè)試中,造成CPU的極大浪費(fèi)。在該方式中,CPU之所以要不斷測(cè)試I/O設(shè)備的狀態(tài),就是因?yàn)樵贑PU中沒有中斷機(jī)構(gòu),使I/O設(shè)備無(wú)法向CPU報(bào)告它已完成了一個(gè)字符的輸入操作。程序直接控制方式工作過(guò)程簡(jiǎn)單,但CPU的利用率相當(dāng)?shù)?,CPU和外設(shè)以及外設(shè)和外設(shè)之間只能串行工作,且CPU大部分時(shí)間處于循環(huán)測(cè)試狀態(tài)。所以程序直接控制I/O方式,只適合于那些CPU執(zhí)行速度較慢,且外設(shè)較少的系統(tǒng)。(2)中斷控制方式要求CPU與設(shè)備之間有相應(yīng)的中斷請(qǐng)求線,在狀態(tài)寄存器中有相應(yīng)的“中斷允許位”。中斷控制下的數(shù)據(jù)輸入按下面的步驟進(jìn)行:首先,需要數(shù)據(jù)的進(jìn)程通過(guò)CPU發(fā)出啟動(dòng)指令啟動(dòng)外設(shè)來(lái)輸入數(shù)據(jù);同時(shí)還將狀態(tài)寄存器中的中斷允許位打開;在進(jìn)程發(fā)出指令啟動(dòng)設(shè)備之后,該進(jìn)程放棄處理機(jī),等待輸入完成。而操作系統(tǒng)的進(jìn)程調(diào)度程序就會(huì)調(diào)度其它就緒進(jìn)程占據(jù)處理機(jī);當(dāng)輸入完成時(shí),輸入設(shè)備的I/O控制器通過(guò)中斷請(qǐng)求線向CPU發(fā)出中斷請(qǐng)求信號(hào);CPU接到中斷信號(hào)后,轉(zhuǎn)向中斷處理程序;設(shè)備中斷處理程序?qū)⑤斎霐?shù)據(jù)寄存器中的數(shù)據(jù)傳送到某一特定的內(nèi)存單元中,以便供要求輸入的進(jìn)程使用;同時(shí)還把等待輸入數(shù)據(jù)的那個(gè)進(jìn)程喚醒,再返回到被中斷的進(jìn)程繼續(xù)執(zhí)行。在以后的某一時(shí)刻,進(jìn)程調(diào)度程序選中提出輸入請(qǐng)求的進(jìn)程,該進(jìn)程從約定的內(nèi)存單元中取出數(shù)據(jù)做進(jìn)一步處理。與程序直接控制方式相比,中斷控制方式大大提高了CPU的利用率,并能支持設(shè)備的并行操作;但這種控制方式仍存在許多問(wèn)題。如每臺(tái)設(shè)備每輸入/輸出一個(gè)數(shù)據(jù)都要求中斷CPU,這樣在一次數(shù)據(jù)傳送過(guò)程中,中斷發(fā)生次數(shù)太多,從而耗去了大量CPU時(shí)間。(3)DMA方式又稱直接存儲(chǔ)器訪問(wèn)(DirectMemoryAccess)方式?;舅枷胧窃谕庠O(shè)和主存之間開辟直接的數(shù)據(jù)傳輸通路。DMA控制器除了有控制/狀態(tài)寄存器和數(shù)據(jù)緩沖寄存器外,還設(shè)置有傳送字節(jié)計(jì)數(shù)器和內(nèi)存地址寄存器。DMA控制器可用來(lái)代替CPU控制內(nèi)存和外設(shè)之間進(jìn)行成批的數(shù)據(jù)交換。DMA方式的特點(diǎn):數(shù)據(jù)傳送的基本單位是數(shù)據(jù)塊。即CPU和I/O設(shè)備之間,每次傳送的至少是一個(gè)數(shù)據(jù)塊。所傳送的數(shù)據(jù)是從設(shè)備送往內(nèi)存,或相反。僅在傳送一個(gè)或多個(gè)數(shù)據(jù)塊的開始和結(jié)束時(shí),才需要中斷CPU,請(qǐng)求干預(yù),整塊數(shù)據(jù)的傳送是在DMA控制器的控制下完成的。從DMA方式的特點(diǎn)看出,DMA方式較之中斷控制方式成百倍地減少了CPU對(duì)I/O控制的干預(yù),進(jìn)一步提高了CPU的利用率,提高了CPU與I/O設(shè)備的并行操作程度。DMA方式下的數(shù)據(jù)輸入處理過(guò)程:①當(dāng)某一進(jìn)程要求設(shè)備輸入數(shù)據(jù)的時(shí)候,CPU把準(zhǔn)備存放輸入數(shù)據(jù)的內(nèi)存始址及要傳送的字節(jié)數(shù)分別送入DMA控制器中的內(nèi)存地址寄存器和傳送字節(jié)計(jì)數(shù)器。②將控制/狀態(tài)寄存器中的中斷允許位和啟動(dòng)位置“1”,啟動(dòng)設(shè)備進(jìn)行成批的數(shù)據(jù)輸入,并允許中斷。③發(fā)出數(shù)據(jù)請(qǐng)求的進(jìn)程進(jìn)入等待狀態(tài),等待數(shù)據(jù)輸入的完成;操作系統(tǒng)的進(jìn)程調(diào)度程序調(diào)度其它進(jìn)程占用CPU。④在DMA控制器的控制下,按內(nèi)存地址寄存器中的內(nèi)容,把數(shù)據(jù)緩沖寄存器中的數(shù)據(jù)源源不斷地寫入到相應(yīng)的主存單元,直至所要求的數(shù)據(jù)傳送完畢。⑤輸入完成時(shí),DMA控制器通過(guò)中斷請(qǐng)求線發(fā)出中斷信號(hào),CPU接到該中斷信號(hào)后,轉(zhuǎn)入中斷處理程序,喚醒等待輸入完成的進(jìn)程,并返回被中斷的程序。⑥在以后的某個(gè)時(shí)刻,操作系統(tǒng)進(jìn)程調(diào)度程序選中提出請(qǐng)求輸入的進(jìn)程;該進(jìn)程從指定的內(nèi)存單元取出數(shù)據(jù),并做進(jìn)一步處理。DMA控制與中斷控制方式的主要區(qū)別:中斷控制方式在每個(gè)數(shù)據(jù)傳送完成后中斷一次CPU,DMA控制方式則是在所要求傳送的一批數(shù)據(jù)傳送結(jié)束時(shí)中斷CPU;中斷控制方式的數(shù)據(jù)傳送是在中斷處理時(shí)由CPU控制完成,而DMA控制方式是在DMA控制器的控制下完成。雖然DMA方式較前兩種方式有明顯的進(jìn)步,但仍存在一定的局限性。首先,DMA方式對(duì)外設(shè)的管理和某些操作仍由CPU控制:如傳送數(shù)據(jù)的方向、存放數(shù)據(jù)的內(nèi)存始址及傳送數(shù)據(jù)的長(zhǎng)度都由CPU控制。另外,多個(gè)DMA控制器的同時(shí)使用可能會(huì)引起內(nèi)存地址的沖突,同時(shí)每臺(tái)設(shè)備都需要一個(gè)DMA控制器,也是不經(jīng)濟(jì)的。為了克服以上不足,出現(xiàn)了通道控制方式。(4)與DMA控制方式相似,通道控制也是一種內(nèi)存和設(shè)備直接進(jìn)行數(shù)據(jù)交換的方式。與DMA控制方式不同的是,在通道控制方式中,數(shù)據(jù)傳送的方向、存放數(shù)據(jù)的內(nèi)存始址以及傳送數(shù)據(jù)塊的長(zhǎng)度均有望一個(gè)專門的硬件——通道來(lái)控制。另外,DMA方式每臺(tái)設(shè)備至少需要一個(gè)DMA控制器,而通道方式中,一個(gè)通道能控制多臺(tái)設(shè)備與內(nèi)存進(jìn)行數(shù)據(jù)交換。通道是一個(gè)獨(dú)立于CPU的專門負(fù)責(zé)輸入輸出控制的處理機(jī),它和設(shè)備控制器一起控制設(shè)備與內(nèi)存直接進(jìn)行數(shù)據(jù)交換。通道有自己的指令,這些指令受CPU控制啟動(dòng),并在操作結(jié)束時(shí),向CPU發(fā)出中斷信號(hào)。4.為什么要開辟緩沖區(qū)?常見的緩沖區(qū)有哪幾種?目前最常用的是哪種?答:(1)①緩和CPU和I/O設(shè)備之間速度不匹配的矛盾。事實(shí)上,凡在數(shù)據(jù)到達(dá)速率與其離去速率不同的地方,都可設(shè)置緩沖區(qū)。②減少對(duì)CPU的中斷頻率,放寬對(duì)CPU中斷響應(yīng)時(shí)間的限制如從外設(shè)來(lái)的數(shù)據(jù)僅用一位緩沖來(lái)接收,則每收到一位數(shù)據(jù)就要中斷一次;若設(shè)置一個(gè)8位的緩沖寄存器,則可使中斷的次數(shù)降低為1/8。所以,用緩沖技術(shù)可以減少CPU的中斷次數(shù)。③提高CPU和I/O設(shè)備之間的并行性引入緩沖后,在輸入數(shù)據(jù)的時(shí)候,輸入設(shè)備可將數(shù)據(jù)輸入到緩沖區(qū)存放,與此同時(shí)CPU在進(jìn)行計(jì)算工作;輸出數(shù)據(jù)時(shí),CPU也在進(jìn)行計(jì)算工作,而同時(shí)輸出設(shè)備將緩沖區(qū)的數(shù)據(jù)取出來(lái)慢慢打印。所以緩沖區(qū)的引入可以提高CPU和I/O設(shè)備的并行性。(2)常采用的緩沖技術(shù)有:?jiǎn)尉彌_:每當(dāng)一個(gè)進(jìn)程發(fā)出I/O請(qǐng)求的時(shí)候,操作系統(tǒng)便在主存中為之分配一個(gè)緩沖區(qū),該緩沖區(qū)用來(lái)臨時(shí)存放輸入輸出數(shù)據(jù)。當(dāng)進(jìn)程要求數(shù)據(jù)輸入的時(shí)候,操作系統(tǒng)先控制外設(shè)將數(shù)據(jù)送往緩沖區(qū)存放,然后進(jìn)程從緩沖區(qū)中取出數(shù)據(jù)繼續(xù)運(yùn)行。雙緩沖:解決外設(shè)之間并行操作的最簡(jiǎn)單的辦法是設(shè)置雙緩沖。具體方案是為輸入或輸出操作設(shè)置兩個(gè)緩沖區(qū)buffer1和buffer2。當(dāng)進(jìn)程要求輸入數(shù)據(jù)的時(shí)候,輸入設(shè)備首先把輸入數(shù)據(jù)送往Bufffer1,然后進(jìn)程從Buffer1中取出數(shù)據(jù)進(jìn)行計(jì)算;在進(jìn)程從Buffer1中取數(shù)據(jù)的同時(shí),輸入設(shè)備可向緩沖區(qū)Buffer2送入數(shù)據(jù)。當(dāng)Buffer1中的數(shù)據(jù)取完的時(shí)候,進(jìn)程又可以從Buffer2中提取數(shù)據(jù),與此同時(shí),輸入設(shè)備又可將輸入數(shù)據(jù)送往Buffer1。如此交替使用Buffer1和Buffer2,可使CPU和外設(shè)的并行操作進(jìn)一步提高。環(huán)形緩沖:該技術(shù)是在主存中分配一組大小相等的存儲(chǔ)區(qū)作為緩沖區(qū),并將這些緩沖區(qū)鏈接起來(lái),每個(gè)緩沖區(qū)中有一個(gè)指向下一個(gè)緩沖區(qū)的指針,最后一個(gè)緩沖區(qū)的指針指向第一個(gè)緩沖區(qū),這樣n個(gè)緩沖區(qū)就組成一個(gè)環(huán)形。此外系統(tǒng)中還有一個(gè)鏈?zhǔn)字羔樦赶虻谝粋€(gè)緩沖區(qū)。緩沖池:為了提高緩沖區(qū)的利用率,目前廣泛采用的是緩沖池技術(shù)。從自由主存中分配一組緩沖區(qū)即可構(gòu)成緩沖池。在緩沖池中每個(gè)緩沖區(qū)的大小可以等于物理記錄的大小,它們作為共享資源被共享—即系統(tǒng)中只配備一個(gè)緩沖池供多個(gè)進(jìn)程使用。緩沖池既可用于輸入,也可用于輸出。緩沖池中的緩沖區(qū)一般有以下三種類型:空緩沖區(qū)、裝輸入數(shù)據(jù)的緩沖區(qū)(輸入緩沖區(qū))、裝輸出數(shù)據(jù)的緩沖區(qū)(輸出緩沖區(qū))(3)緩沖池5.設(shè)備分配的過(guò)程。尤其注意設(shè)備的使用性質(zhì)和設(shè)備的獨(dú)立性、設(shè)備的安全性各指的是什么?答:為了使系統(tǒng)有條不紊地工作,系統(tǒng)在分配設(shè)備時(shí)應(yīng)考慮這樣幾個(gè)因素:①設(shè)備的固有屬性:獨(dú)占、共享、虛擬性②設(shè)備分配算法:先來(lái)先服務(wù)、優(yōu)先級(jí)高者優(yōu)先③設(shè)備分配時(shí)的安全性:該分配是否可能死鎖④設(shè)備的獨(dú)立性:應(yīng)用程序獨(dú)立于使用的物理設(shè)備6.什么是SPOOLING系統(tǒng)?它由哪幾部分構(gòu)成?答:(1)通過(guò)SPOOLing技術(shù)便可將一臺(tái)物理I/O設(shè)備虛擬為多臺(tái)邏輯I/O設(shè)備,同樣允許多個(gè)用戶共享一臺(tái)物理I/O設(shè)備。事實(shí)上,當(dāng)系統(tǒng)中引入了多道程序技術(shù)后,完全可以利用其中的一道程序,來(lái)模擬脫機(jī)輸入時(shí)的外圍控制機(jī)的功能,把低速I/O上的數(shù)據(jù)傳送到高速磁盤上;再利用另一道程序來(lái)模擬脫機(jī)輸出時(shí)外圍控制機(jī)的功能,把數(shù)據(jù)從磁盤傳送到低速設(shè)備上。這樣,便可在主機(jī)的直接控制下,實(shí)現(xiàn)脫機(jī)輸入輸出功能。此時(shí)的外圍操作與CPU對(duì)數(shù)據(jù)的處理同時(shí)進(jìn)行。把這種在聯(lián)機(jī)情況下實(shí)現(xiàn)的同時(shí)外圍操作稱為SPOOLing,或稱為假脫機(jī)操作從上述可知,SPOOLing技術(shù)是對(duì)脫機(jī)輸入、脫機(jī)輸出系統(tǒng)的模擬。相應(yīng)地,SPOOLing系統(tǒng)必須建立在具有多道程序功能的操作系統(tǒng)上,而且還應(yīng)具有高速隨機(jī)外存的支持。(2)SPOOLing系統(tǒng)主要由以下三部分組成:(1)輸入井和輸出井。這是在磁盤上開辟的兩個(gè)大的存儲(chǔ)空間。輸入井是模擬脫機(jī)輸入時(shí)的磁盤設(shè)備,用于暫存I/O設(shè)備輸入時(shí)的數(shù)據(jù);輸出井是模擬脫機(jī)輸出時(shí)的磁盤,用于暫存用戶程序的輸出數(shù)據(jù)。(2)輸入緩沖區(qū)和輸出緩沖區(qū)為了緩和CPU和磁盤之間速度不匹配的矛盾,在內(nèi)存中要開辟兩個(gè)緩沖區(qū):輸入緩沖區(qū)和輸出緩沖區(qū)。輸入緩沖區(qū)用于暫存由輸入設(shè)備送來(lái)的數(shù)據(jù),以后再傳送到輸入井;輸出緩沖區(qū)用于暫存從輸出井送來(lái)的數(shù)據(jù),以后再傳送給輸出設(shè)備。(3)輸入進(jìn)程SPi和輸出進(jìn)程SPo。這里利用兩個(gè)進(jìn)程來(lái)模擬脫機(jī)I/O的外圍控制機(jī)。其中進(jìn)程SPi模擬脫機(jī)輸入時(shí)的外圍控制機(jī),將用戶要求的數(shù)據(jù)從輸入設(shè)備通過(guò)輸入緩沖區(qū)再送到輸入井,當(dāng)CPU需要數(shù)據(jù)的時(shí)候,直接從輸入井讀入內(nèi)存;進(jìn)程SPo模擬脫機(jī)輸出時(shí)的外圍控制機(jī),把用戶要求輸出的數(shù)據(jù),先從內(nèi)存送到輸出井,待輸出設(shè)備空閑時(shí),再將輸出井中的數(shù)據(jù)經(jīng)過(guò)輸出緩沖區(qū)送到輸出設(shè)備上。7.會(huì)用磁盤調(diào)度算法(FCFS,SSTF,SCAN,CSCAN),計(jì)算一系列磁盤請(qǐng)求的宗道到數(shù)和平均尋道數(shù)第七章文件管理1.按照文件的幾種分類方法體會(huì)文件答:2.文件的邏輯結(jié)構(gòu)(2種)、答:文件的邏輯結(jié)構(gòu)分為以下兩類:1.有結(jié)構(gòu)的文件有結(jié)構(gòu)的文件是指由若干個(gè)相關(guān)的記錄構(gòu)成的文件,又稱記錄式文件。在文件中的記錄一般有著相同或不同數(shù)目的數(shù)據(jù)項(xiàng),根據(jù)記錄的長(zhǎng)度,記錄式文件又分為等長(zhǎng)記錄文件和變長(zhǎng)記錄文件。2.無(wú)結(jié)構(gòu)文件又稱流式文件,組成它的基本信息單位是字節(jié)或字,其長(zhǎng)度是文件中所含字節(jié)的數(shù)目。如大量的源程序、庫(kù)函數(shù)等采用的就是流式文件。3.文件的物理結(jié)構(gòu)(3種),各適合于哪種存取方式?答:連續(xù)結(jié)構(gòu)(順序結(jié)構(gòu)):這種結(jié)構(gòu)的文件,其文件在磁盤上的存放順序與用戶看到的邏輯記錄是一致的。連續(xù)文件可采用順序存取,也可以隨機(jī)存取,就看你采用什么樣的存儲(chǔ)介質(zhì)來(lái)存儲(chǔ)文件鏈接結(jié)構(gòu):且其存取的方法只能順序存取,不能隨機(jī)存取。索引結(jié)構(gòu):索引結(jié)構(gòu)要求系統(tǒng)為每一個(gè)文件建立一張索引表,表中每個(gè)欄目指出文件信息所在的邏輯塊號(hào)和物理塊號(hào)之間的對(duì)應(yīng)關(guān)系即當(dāng)文件的物理結(jié)構(gòu)為索引結(jié)構(gòu)時(shí),即可順序存取,也可隨機(jī)存取。4.文件的存儲(chǔ)介質(zhì)(磁帶、磁盤、磁鼓),各適合于哪種存取方式?答:磁帶是一種順序存取設(shè)備,對(duì)磁帶上的用戶文件信息只能順序訪問(wèn)。磁帶文件的物理結(jié)構(gòu)只有一種——順

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論