《計算機操作系統(tǒng)》課件 第6、7章 設備管理、操作系統(tǒng)的整體設計_第1頁
《計算機操作系統(tǒng)》課件 第6、7章 設備管理、操作系統(tǒng)的整體設計_第2頁
《計算機操作系統(tǒng)》課件 第6、7章 設備管理、操作系統(tǒng)的整體設計_第3頁
《計算機操作系統(tǒng)》課件 第6、7章 設備管理、操作系統(tǒng)的整體設計_第4頁
《計算機操作系統(tǒng)》課件 第6、7章 設備管理、操作系統(tǒng)的整體設計_第5頁
已閱讀5頁,還剩126頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第6章設備管理計算機系統(tǒng)中,通常把處理機和主存儲器之外的部分統(tǒng)稱為外圍設備,簡稱外設。外設種類繁多,功能各異,涉及:機、電、光、磁、聲、自動控制等多種學科。操作系統(tǒng)必須提供設備管理功能,讓用戶能簡便、有效地使用各種外設。設備管理包括:設備獨立性設備驅動程序計算機和外部設備的數(shù)據(jù)傳送控制方式設備的分配一些重要技術如中斷技術、緩沖技術、Spooling技術6.1概述6.1.1外設的分類

1.按設備的從屬關系分類2.按分配方式分類3.按使用特性分類4.按信息組織、傳送單位分類系統(tǒng)設備。它是指操作系統(tǒng)生成時,即安裝操作系統(tǒng)時就納入系統(tǒng)管理范圍的各種標準設備。用戶設備。它是指系統(tǒng)設備之外的非標準設備,在安裝操作系統(tǒng)時沒有配置,而由用戶自己安裝配置的設備。獨享設備。這類設備一旦分配給某個實體(用戶、作業(yè)、任務或進程)使用,在沒被釋放前,其他實體不得使用。共享設備。指允許多個進程或作業(yè)同時使用的設備。虛擬設備。通過一定的輔助存儲器和控制程序,可將一臺獨享設備模擬為共享設備,這個具有了新特性的設備就稱為虛擬設備。存儲設備。它是計算機用來存儲永久性信息的設備。輸入/輸出設備。輸入設備輸出設備字符設備。以字符為單位來組織、處理信息的設備。塊設備。以數(shù)據(jù)塊為單位來組織、處理信息的設備。具體應用即插即用PnP設備非即插即用設備Linux將外部設備看作文件——設備文件,它以設備名作為文件名。應用物理設備前——用mount命令掛裝到目錄樹上(稱為加載)。使用完成后——用umount命令從目錄樹卸下(稱為卸載),才可取走該設備。要掛裝到作為掛裝點的目錄,系統(tǒng)通常已準備了一些常用掛裝點,如果掛裝點不存在,必需要用mkdir命令建立,然后才可進行掛裝。

6.1.2設備管理的功能1.設備管理應為每一類設備提供相應的設備驅動程序2.提供設備獨立性3.對緩沖區(qū)進行管理4.對Spooling技術的支持。5.進行設備分配6.提供中斷處理機制1.提供相應的設備驅動程序選擇打印機型號——確定打印機的驅動程序。圖6.1選定打印機型號2.提供設備獨立性用戶使用或編程時,打印機表現(xiàn)為一個普通的邏輯名稱。系統(tǒng)為了識別其管理的所有設備,給每個設備一個唯一的不可更改的識別號,稱為設備的物理名。通過邏輯設備名和物理設備名,提供設備獨立性,這是設備管理的一項重要任務。圖6.2邏輯打印機3.對緩沖區(qū)進行管理為了解決速度不匹配問題,大部分外設都采用設置緩沖區(qū)的方法。

緩沖區(qū)可設置在內(nèi)存中,稱為“軟件緩沖”;也可讓外設自帶專用的寄存器,作為硬件緩沖器。例如利用打印機打印一篇文章,CPU在打印機就緒后,可把數(shù)據(jù)輸出到緩沖區(qū),打印機則從緩沖區(qū)取出數(shù)據(jù)打印,就這樣一邊送一邊打,提高CPU的利用率。并且由于一次可以送一批數(shù)據(jù)到緩沖區(qū),因而節(jié)省了CPU的數(shù)據(jù)傳送時間。4.對Spooling技術的支持。Spooling(SimultaneousPeripheralOperationsOn-line)——也稱為假脫機技術。此技術在磁盤上專門開辟一個區(qū)域,CPU不需等到打印機處于就緒狀態(tài),就可直接將要打印的所有作業(yè)存放到磁盤中,排成打印隊列。合適的時候由專門的程序(在Windows中稱為后臺進程)把要打印的信息從磁盤送到打印機,并管理打印機的打印工作。給人的感覺好像每個作業(yè)都有一臺打印機。也就是說,該技術將一臺獨享設備模擬成了共享設備。支持Spooling技術意味著支持虛擬設備。圖6.4等待打印機的隊列5.進行設備分配多個進程或作業(yè)都要求使用某種設備時,設備管理根據(jù)一定的算法進行設備分配,對暫時不能獲得設備的,系統(tǒng)將它們排在該設備請求隊列中,排隊順序決定了獲得設備的次序。而當設備使用完畢,設備管理要及時回收。6.提供中斷處理機制如果打印過程中出現(xiàn)問題(如掉電、缺紙、脫機等),需要CPU進行緊急處理。系統(tǒng)采用了中斷技術——當某個事件發(fā)生時,系統(tǒng)中止現(xiàn)行程序的運行,轉去執(zhí)行相應的事件處理程序,處理完畢,返回被中斷處繼續(xù)執(zhí)行。當出現(xiàn)問題時,中斷源立即向CPU發(fā)出一個中斷信號,系統(tǒng)進入中斷處理機制。6.2設備標識與設備驅動程序6.2.1邏輯設備與物理設備1.邏輯設備和物理設備的含義2.設備獨立性3.設備獨立性的優(yōu)點1.邏輯設備和物理設備的含義邏輯設備邏輯設備是對實際物理設備屬性的抽象,它并不限于某個具體設備。用戶在編程時,不用關心系統(tǒng)具體配置了哪些設備,也不需要了解各種設備的物理特性,而只要按照慣例為所用到的設備起個邏輯名字,稱為邏輯設備名。物理設備物理設備是一個具體的設備。系統(tǒng)為了能識別全部外設,給每臺外設分配一個唯一不變的名字,稱為物理設備名。通過引入邏輯設備和物理設備,可實現(xiàn)設備獨立性。2.設備獨立性設備獨立性也稱為設備無關性,指用戶編程時所使用的設備與實際使用的設備無關,用戶編程時使用邏輯設備名。用戶程序以邏輯設備名來請求使用某類設備時,系統(tǒng)將在該類設備中,根據(jù)設備的使用情況,將任一臺合適的物理設備分配給該程序。如果用戶程序是以物理設備名來請求指定某臺設備,假如該設備有故障或正在被其他進程使用,則用戶程序只能一直等待。采用邏輯設備名,可以使用戶程序獨立于分配給它的某類設備的具體設備。2.設備獨立性使用邏輯設備名,還能使用戶程序獨立于所使用的某類設備。例如,在Linux系統(tǒng)環(huán)境下,系統(tǒng)提供標準輸入/輸出,在用戶程序中的輸入/輸出都使用這兩個標準的I/O,實際運行時,可根據(jù)具體情況而定。如果配備打印機,可將輸出信息送到打印機打印;如果沒有配備打印機,就把輸出重定向到某個指定文件,把要打印的信息送到該文件中。

3.設備獨立性的優(yōu)點(1)方便用戶編程。(2)便于程序移植。(3)提高了資源利用率。(4)能適應多用戶多進程的需要。

6.2.2實用系統(tǒng)中的邏輯設備和物理設備Linux系統(tǒng)中外部設備等同文件——設備文件;這些設備文件名就是系統(tǒng)規(guī)定的邏輯設備名;系統(tǒng)的/dev目錄下是各種設備:(1)以fd開頭的文件是軟盤設備。

/dev/fd0——第一個軟盤驅動器

/dev/fd1——第二個軟盤驅動器

/dev/fd1h1440——第一軟驅中的3.5英寸高密軟盤。(2)以hd開頭的文件是IDE硬盤設備。

/dev/hda——第一硬盤

hda1——第一個硬盤/dev/hda的第一個分區(qū)

hda、hdb、hdc、……——系統(tǒng)中的多個IDE硬盤(3)/dev/ttys——串行端口COM1,/dev/cua——調制解調器。(4)以lp開頭的文件是并行端口設備。/dev/lp0——LPT1。以tty開頭的文件是系統(tǒng)的虛擬終端以pty開頭的文件是偽終端,用telnet遠程登錄時用到/dev/console——控制臺,即直接與系統(tǒng)相連的顯示器和鍵盤。Windows中的設備圖6.6設備管理器

6.2.3設備驅動程序設備驅動程序是驅動物理設備直接進行各種操作的軟件,它可看作I/O系統(tǒng)和物理設備的接口,所有進程對于設備的請求都要通過設備驅動程序來完成。

1.設備控制器2.設備驅動程序的引入3.設備驅動程序的處理過程4.實用系統(tǒng)中的設備驅動程序1.設備控制器外設機械部件電子部件獨立出來設備控制器設備只有在設備控制器的控制下才能運行,且一個控制器可以控制幾臺同類設備。設備控制器CPU設備控制寄存器、狀態(tài)寄存器、數(shù)據(jù)寄存器、地址譯碼器等接收和識別CPU發(fā)來的命令

實現(xiàn)控制器與CPU之間、控制器和外設之間的數(shù)據(jù)交換

記錄設備的狀態(tài)(如設備就緒、設備忙、操作錯誤等)供CPU了解

用于識別每個設備的地址

2.設備驅動程序的引入將用戶命令中的邏輯設備名轉換為物理設備名,系統(tǒng)只是完成了第一步工作,至于要具體操縱這臺物理設備,就復雜多了。操作系統(tǒng)設計者把與物理設備直接有關的軟件部分獨立出來,構成設備驅動程序系列,一般由設備商和軟硬件開發(fā)商提供的針對某一種具體設備的驅動程序組成。系統(tǒng)和用戶可根據(jù)需要,靈活配置物理設備,選擇相應的驅動程序裝載。

3.設備驅動程序的處理過程(1)將抽象要求轉換為具體要求(控制器中寄存器內(nèi)容)。(2)檢查I/O請求的合法性。(3)檢查設備狀態(tài)。讀狀態(tài)寄存器內(nèi)容,看設備忙/閑狀態(tài)。(4)傳送必要的參數(shù)。(5)啟動I/O設備。向設備控制器中的命令寄存器傳送控制命令,將外設啟動,然后可由設備控制器來控制外設進行基本I/O操作。不同類型的外設,驅動程序是不一樣的。4.實用系統(tǒng)中的設備驅動程序控制面板→管理工具→計算機管理→設備管理器→指定設備→屬性→驅動程序→驅動程序詳細清單圖6.7設備驅動程序詳細資料圖6.8Windows設備及其的驅動程序4.實用系統(tǒng)中的設備驅動程序Linux核心的設備驅動程序本質上是特權的、駐留內(nèi)存的低級的硬件控制例程的共享庫。Linux支持三類的硬件設備:字符、塊和網(wǎng)絡。字符設備直接讀寫,沒有緩沖區(qū),例如系統(tǒng)的串行端口/dev/cua0和/dev/cua1。塊設備只能按照一個塊(一般是512字節(jié)或者1024字節(jié))的倍數(shù)進行讀寫。塊設備通過buffercache訪問,可以隨機存取。大多數(shù)的設備驅動程序可以在需要的時候作為核心模塊加載,在不再需要的時候卸載。每一類的設備驅動程序:字符、塊和網(wǎng)絡,都提供了通用的接口供核心在需要請求它們的服務的時候使用。6.3輸入/輸出控制方式6.3.1程序控制輸入/輸出方式6.3.2中斷輸入/輸出方式6.3.3直接存儲器訪問方式6.3.4通道方式由誰來做輸入/輸出的工作?CPU(程序)?DMA?通道?6.3.1程序控制輸入/輸出方式程序控制輸入/輸出方式又稱為狀態(tài)驅動輸入/輸出方式或應答輸入/輸出方式——它采用程序查詢的方式直接參與數(shù)據(jù)的輸入/輸出。(注意:程序就是CPU)程序控制輸入/輸出方式——以鍵盤為例1、CPU向鍵盤的控制器發(fā)一條輸入命令,啟動鍵盤進行輸入操作,并將狀態(tài)寄存器的”忙/閑位”置1,表示忙。2、然后CPU運行程序不斷測試狀態(tài)寄存器的完成位,看鍵盤是否完成了輸入。直到鍵盤已將數(shù)據(jù)輸入到了鍵盤控制器的數(shù)據(jù)寄存器中,狀態(tài)寄存器的完成位變?yōu)?時,CPU才停止測試。3、CPU取走數(shù)據(jù)寄存器中的輸入數(shù)據(jù)。目前IDE接口硬盤仍在使用這種方式,稱為PIO(ProgrammingInput/Output)模式。問題:CPU等待每一個操作完成的時候會花費大量時間“忙于什么也不做”(busydoingnothing)——CPU大部分時間都處于檢查和等待狀態(tài),整個計算系統(tǒng)的效率十分低下。6.3.2中斷輸入/輸出方式

CPU請求設備傳輸后不等待,轉去做其他更有用的事情,當設備完成請求的時候向CPU發(fā)設備中斷。(系統(tǒng)中同一時刻可能有許多設備的請求在同時發(fā)生。)所謂中斷,就是指當某個事件發(fā)生時,向系統(tǒng)發(fā)出一個中斷信號,系統(tǒng)于是中止現(xiàn)行程序的運行,轉去執(zhí)行相應的中斷處理程序,完畢后返回斷點繼續(xù)執(zhí)行。需要在CPU和每一個設備控制器之間增加一條中斷請求線,并在設備控制器的控制寄存器中增加一個中斷允許位。中斷輸入/輸出方式——以鍵盤輸入為例(1)開中斷。CPU把啟動位和中斷允許位為1的控制字寫入鍵盤控制狀態(tài)寄存器中,啟動鍵盤。(當中斷允許位為1時,中斷程序可以被調用。)(2)進程等待鍵盤輸入完成(進入等待隊列),由進程調度程序調度其他就緒進程使用CPU。(3)鍵盤啟動后,當數(shù)據(jù)寄存器裝滿后,鍵盤控制器通過中斷請求線向CPU發(fā)出中斷信號。(4)CPU暫停正在進行的工作,轉向執(zhí)行中斷處理程序。(取出數(shù)據(jù)寄存器中的輸入數(shù)據(jù)送到內(nèi)存特定單元,并將等待輸入完成的進程喚醒。)(5)中斷處理程序完畢,CPU返回斷點繼續(xù)執(zhí)行。(6)以后某個時刻,進程調度程序選中正處于就緒狀態(tài)的那個進程,該進程從特定內(nèi)存單元中取出所需的數(shù)據(jù)繼續(xù)工作。圖6.9中斷輸入/輸出方式

中斷輸入/輸出方式優(yōu)點:CPU不需等待數(shù)據(jù)傳輸完成,I/O設備與CPU并行工作,CPU的利用率因此提高。缺點:CPU在響應中斷后,還需要時間來執(zhí)行中斷服務程序。如果數(shù)據(jù)量大,需要多次執(zhí)行中斷程序,CPU的效率仍然不高。

6.3.3直接存儲器訪問方式

DMA(DirectMemoryAccess)方式:在外部設備和主存之間建立了直接數(shù)據(jù)通路,即外設和主存之間可直接讀寫數(shù)據(jù),且數(shù)據(jù)傳送的基本單位是數(shù)據(jù)塊。整塊數(shù)據(jù)的傳輸在一個稱為DMA控制器的控制下完成。DMA數(shù)據(jù)傳輸期間不需CPU干預,僅在傳送一個或多個數(shù)據(jù)塊的開始或結束時,才需CPU處理。

圖6.10DMA控制方式圖6.11DMA數(shù)據(jù)輸入處理過程使用DMA的時候設備驅動程序必須小心。1、所有的DMA控制器都不了解虛擬內(nèi)存,它只能訪問系統(tǒng)中的物理內(nèi)存。2、DMA控制器無法訪問全部的物理內(nèi)存。DMA的地址寄存器的位數(shù)決定了它能訪問的內(nèi)存地址。DMA方式缺點:(1)外設數(shù)量眾多,配置DMA控制器,硬件的成本過大。(2)每一臺外設的DMA都需要CPU的I/O指令初始化,浪費CPU時間。(3)由于DMA控制器實際上是使用竊取CPU工作周期的方法進行工作的,它工作時,CPU將被掛起。如果眾多外設都采用DMA方式工作,接連不斷的竊取周期,則會使CPU長時間被掛起,從而降低了CPU的效率。DMA與中斷輸入/輸出方式進行比較

(1)誰的中斷次數(shù)多?(2)由誰完成數(shù)據(jù)傳輸?(3)工作機制?軟件?硬件?適用范圍?(4)DMA與中斷是否矛盾?

6.3.4通道方式

6.3.4通道方式1.通道的概念通道是一個獨立于CPU的專管輸入/輸出控制的處理機,它控制設備與內(nèi)存直接進行數(shù)據(jù)交換。通道有自己的一套簡單的指令系統(tǒng),稱為通道指令。每條通道指令規(guī)定了設備的一種操作,通道指令序列便是通道程序,通道執(zhí)行通道程序來完成規(guī)定動作。1.通道的概念通道處理機寄存器部分控制部分數(shù)據(jù)寄存器主存地址寄存器傳輸字節(jié)寄存器通道命令寄存器通道狀態(tài)寄存器分時控制地址分配數(shù)據(jù)傳送等通道靠執(zhí)行通道程序軟件完成數(shù)據(jù)傳輸,通道控制器的功能比DMA控制器更強大,它能夠承擔外設的大部分工作。

2.通道的種類以字節(jié)為傳輸單位,可以分時地執(zhí)行多個通道程序。這是一種簡單的共享通道,主要為多臺低速或中速的字符設備服務。它用開關來控制對高速外設的選擇,在一段時間內(nèi)單獨為一臺外圍設備服務,直到該設備的數(shù)據(jù)傳輸工作全部結束。然后通道再選擇另一臺外設為其提供服務。它分時地為多臺外圍設備服務,每個時間片傳送一個數(shù)據(jù)塊??梢酝瑫r連接多臺高速存儲設備,因此,它能夠充分發(fā)揮高速通道的數(shù)據(jù)傳輸能力。3.通道工作過程CPU根據(jù)進程的I/O請求,形成有關通道程序,然后執(zhí)行I/O指令啟動通道。通道處理機開始運行CPU存放在主存中的通道程序,獨立負責外設和主存之間的數(shù)據(jù)傳送。當整個I/O過程結束,才向CPU發(fā)出中斷請求。CPU響應中斷,進行關閉通道、記錄相關數(shù)據(jù)等工作。采用通道方式,CPU基本上擺脫了I/O傳輸工作,大大增強了CPU和外設的并行處理能力,有效地提高了整個系統(tǒng)的資源利用率。4.通道和DMA控制器的區(qū)別(1)DMA控制器和通道是硬件工作還是軟件工作?(2)連接外設的類型限制?(3)和CPU的溝通方式?CPU的介入程度?對外設的控制?6.3.5Windows中的數(shù)據(jù)傳輸控制方式(1)端口 外設都是通過接口和系統(tǒng)相連的,接口中有數(shù)據(jù)寄存器、狀態(tài)寄存器、命令寄存器等,每個寄存器被分配一個稱為I/O端口的地址編碼加以區(qū)分。故一個外設常有多個I/O端口地址,計算機通過不同的I/O端口來選擇外設,并通過端口來和外設進行通信。圖6.13鍵盤使用的端口地址(2)中斷向量 當設備準備接受或發(fā)送信息時,可以用來發(fā)送信號以獲得處理器注意的硬件線路。每條線路用一個中斷向量IRQ來標志。每個設備都必須有唯一的IRQ線路。圖6.14IRQ及其對應的設備(3)DMA DMA是不涉及處理器的內(nèi)存訪問。經(jīng)常用于內(nèi)存和外圍設備(如磁盤驅動器)之間的直接數(shù)據(jù)傳輸。在PC機中,DMA控制器通常集成到大規(guī)模IC芯片中,一個DMA控制器只有四個獨立的DMA通道,為了使用更多的DMA通道,可由兩個DMA控制器組成組聯(lián)方式,將第二個DMA控制器連到第一個DMA控制器的第四個通道,因此一共有七個DMA通道可供使用。

圖6.15DMA通道6.3.5Windows中的數(shù)據(jù)傳輸控制方式一個設備要能正常工作,就必需為它分配合適的I/O端口地址、IRQ、DMA通道等資源。當然,對于不使用DMA方式的設備,只需I/O和IRQ即可。

不同設備如果分配的I/O、IRQ、DMA資源有重復,必然會發(fā)生資源沖突,輕者設備不能正常工作,重者導致系統(tǒng)崩潰。圖6.16沖突與共享6.4設備分配

由于外設、設備控制器、通道等資源有限,對多個請求使用設備的進程,設備管理應能合理、有效地進行設備的分配。

圖6.17設備分配中的數(shù)據(jù)結構就象進程控制塊PCB、作業(yè)控制塊JCB一樣,系統(tǒng)為每個設備建立一個設備控制塊DCB,主要用來記錄本設備的各種情況。記錄控制器的情況。記錄通道的情況。整個系統(tǒng)有一張系統(tǒng)設備表SDT,存放了系統(tǒng)的所有設備,每個設備占一個表項,內(nèi)容有設備標識、設備類型、設備DCB指針、還可包含設備驅動程序入口等內(nèi)容。系統(tǒng)通過這些數(shù)據(jù)結構對各種設備進行記錄,再配合適當?shù)姆峙洳呗院退惴?,就能實施有效的設備分配。只有當一個進程經(jīng)過系統(tǒng)的設備分配,獲得了通道、控制器和所需設備后,才具備了進行I/O操作的物理條件。

6.4.2設備分配思想設備分配的原則:充分提高設備的利用率;在不導致死鎖的情況下盡量滿足用戶的要求。設備分配的功能:接受用戶提出的邏輯設備分配的要求,把它轉換為對物理設備的分配。

1.設備分配方式如果將獨享設備虛擬為共享設備,破壞產(chǎn)生死鎖的互斥條件,那么死鎖就不會產(chǎn)生了。

靜態(tài)分配動態(tài)分配在進程剛建立就把其需要的設備全部分配給它,直到整個進程運行后被撤銷才釋放這些設備。靜態(tài)分配的優(yōu)點是不會產(chǎn)生死鎖。常用于單用戶系統(tǒng)。當進程運行過程中提出對設備的請求,系統(tǒng)為這個進程分配所需的設備,一旦該進程使用完這個設備,立刻釋放出來給別的進程。動態(tài)分配使設備的利用率得到很大提高,但這種方式如果采取的分配算法不當,則有可能會導致死鎖。2.獨享設備調度算法(1)先來先服務(2)優(yōu)先級高者先服務當有多個進程對同一臺設備提出分配請求時,根據(jù)進程對某設備提出請求的時間順序,將這些進程控制塊排成一個設備請求隊列,處于隊首的進程最先獲得使用權。請求設備的進程按優(yōu)先級排入設備請求隊列,在優(yōu)先級相同的情況下,再按時間順序排列,設備總是分配給隊首具有最高優(yōu)先級的進程使用。

3.共享設備調度算法

共享設備的典型代表為磁盤,完成磁盤某一個物理塊的訪問要經(jīng)過三個時間段:尋道時間Ts旋轉延遲Tw讀寫時間Trw尋道時間Ts是磁頭從當前磁道移動到目標磁道所需的時間;

旋轉延遲Tw是當磁頭停留在目標磁道后,目標物理塊從當前位置旋轉到磁頭位置的時間;

讀寫時間Trw是目標物理塊內(nèi)容與內(nèi)存中對應區(qū)交換的時間。

磁盤調度的原則是公平和高吞吐量,衡量指標有:訪問時間T:T=Ts+Tw+Trw=Ts+Tw平均訪問時間Ta:Ta=Tsa+Twa+Trwa=Tsa+Twa3.共享設備調度算法

(1)先來先服務 (FirstComeFirstServe)(2)最短尋道時間優(yōu)先 (ShortestServiceTimeFirst)(3)電梯算法(1)先來先服務FCFS將申請磁盤服務的進程按先后順序排隊,每次調度選擇位于隊首的進程運行。例:假定當前磁頭處在第6道,等待服務的進程有7個,它們請求的磁道先后順序是:8、1、24、2、32、5、18。求所有進程運行后磁頭一共移動的磁道數(shù)。 解:移動的磁道數(shù)計算如下: 2+7+23+22+30+27+13=124公平,但吞吐量不高!(2)最短尋道時間優(yōu)先SSTF算法選擇離當前磁頭位置最近的目標物理塊優(yōu)先訪問,以保證最短的尋道時間。例:假定當前磁頭處在第6道,等待服務的進程有7個,它們請求的磁道先后順序是:8、1、24、2、32、5、18。求所有進程運行后磁頭一共移動的磁道數(shù)。 解:采用SSTF算法后的調度序列變?yōu)椋?/p>

8、5、2、1、18、24、32

移動的磁道數(shù)計算如下:

2+3+3+1+17+6+8=40優(yōu)點:降低了系統(tǒng)的平均尋道時間,提高了系統(tǒng)吞吐量;缺點:磁盤內(nèi)外邊緣的磁道訪問頻率降低,有失公平性。(3)電梯算法磁頭向一個方向移動的過程中,選擇離磁頭最近的目標物理塊訪問,直到?jīng)]有要訪問的物理塊,然后磁頭變換移動方向,以同樣的方式選擇訪問磁盤的進程。例:假定當前磁頭處在第6道,等待服務的進程有7個,它們請求的磁道先后順序是:8、1、24、2、32、5、18。求所有進程運行后磁頭一共移動的磁道數(shù)(假定磁頭的初始方向是由低磁道向高磁道)。解:采用電梯算法后的調度序列變?yōu)椋?、18、24、32、5、2、1移動的磁道數(shù):2+10+6+8+27+3+1=57電梯算法兼顧了公平性和高吞吐量,目前較多采用電梯調度算法。4.設備

分配

程序如何對應邏輯設備和物理設備?進程是以物理設備名提出I/O請求的。而事實上進程應采用邏輯設備名來提出設備請求,以保證設備獨立性。系統(tǒng)建立邏輯設備表LUT(LogicalUnitTable),來對應邏輯設備名和物理設備名的關系。在多用戶系統(tǒng)中,每個用戶進程PCB中有一張LUT,當進程使用邏輯設備名請求I/O操作時,系統(tǒng)通過查找LUT,即可找到對應的物理設備。6.4.3Spooling技術 Spooling又稱假脫機技術,現(xiàn)代操作系統(tǒng)都支持該技術,它主要實現(xiàn)將獨享設備虛擬為共享設備。Spooling技術在大容量外存的支持下,由預輸入程序和預輸出程序來進行數(shù)據(jù)傳輸。

圖6.19Spooling系統(tǒng)(1)在磁盤上開辟兩個空間,分別稱為“輸入井”和“輸出井”。

(2)預輸入進程將輸入設備的數(shù)據(jù)寫到磁盤輸入井上。

(3)當用戶進程需要輸入數(shù)據(jù)時,直接從輸入井讀入內(nèi)存。

(4)用戶進程將要輸出的數(shù)據(jù)送到磁盤輸出井上。

(5)預輸出進程從輸出井中取出數(shù)據(jù),送給輸出設備進行輸出。

當用戶進程需要輸入設備時,可直接到共享設備磁盤輸入井中去取數(shù)據(jù);當用戶進程要輸出數(shù)據(jù)時,將輸出數(shù)據(jù)放入輸出井即可。

由于輸入井/輸出井可以共享,于是獨享的輸入/輸出設備被模擬成可共享的設備。這種被模擬成的共享設備稱為虛擬設備。

2.實用系統(tǒng)中的Spooling技術

在Windows中使用打印機,假脫機方式是系統(tǒng)的默認選項,前面已進行過介紹。Linux為每臺打印機都在磁盤上定義了一個輸出緩沖區(qū),即輸出井,要打印的作業(yè)以文件的形式存放到輸出緩沖區(qū),若有多個文件,就排成隊列的形式,即打印隊列。預輸出程序(Linux中稱為打印機守護程序)定期掃描打印緩沖區(qū),將打印隊列中的文件按先進先出依次送入打印機,完成實際的打印工作。如果要用網(wǎng)絡的共享打印機進行遠程打印,則先將要打印的作業(yè)存放到本機的打印緩沖區(qū),然后由打印機守護程序把打印作業(yè)通過網(wǎng)絡傳輸?shù)街付ǖ拇蛴C中。

Linux文件系統(tǒng)中/usr/bin目錄下有五個有關打印的程序,分別為:

Lpd Lpr Lpq Lpc lprmlpd守護程序可以說是打印機的靈魂,所有的打印作業(yè)都是由它來進行處理的。

Lpr為提交打印作業(yè)命令,將文件放到打印緩沖區(qū)。

lpq命令就是顯示打印緩沖區(qū)中所有的作業(yè)及作業(yè)號清單。

lprm命令用于從打印緩沖區(qū)中刪除由lpq命令指定的作業(yè)。

lpc命令的功能非常強大,它是打印系統(tǒng)的控制程序,使用該命令,能檢查打印隊列及守護進程的狀態(tài)。如果是root用戶,甚至能啟動和停止打印機的假脫機狀態(tài),使打印機不能工作以及重新安排打印隊列中作業(yè)的順序。

打印緩沖區(qū)到底哪里?打印緩沖區(qū)就是在磁盤上建立的一個目錄,打印隊列信息就存放在該目錄下。Linux系統(tǒng)采用的方法是設多個打印緩沖區(qū)目錄,一臺打印機對應一個打印緩沖區(qū)目錄。所有的打印緩沖區(qū)目錄集中到一個主打印緩沖區(qū)目錄下。假如/usr/spool/lpd作為主打印緩沖區(qū)目錄,則每個單獨的打印機都在該目錄下有與這臺打印機同名的目錄,如名為printer1的打印機,它的打印緩沖區(qū)目錄就是/usr/spool/lpd/print1。6.5設備管理涉及到的常用技術

設備管理是建立在各種針對性硬件機制基礎上的,需要硬件技術的配合。兩種硬件機制: 中斷技術 緩沖技術6.5.1中斷技術

在人機聯(lián)系、故障處理、實時處理、程序調試與監(jiān)測、任務分配等方面都需用到中斷技術;在設備管理中,沒有中斷技術就不可能實現(xiàn)設備與主機、設備與設備、設備與用戶、設備與程序的并行。

1.中斷及中斷源的概念中斷:指某事件發(fā)生時,CPU終止現(xiàn)行程序的運行,轉去執(zhí)行相應的事件處理程序,處理完畢返回斷點繼續(xù)執(zhí)行。引起中斷發(fā)生的事件就稱為中斷源。中斷源向CPU發(fā)出的請求中斷處理信號稱為中斷請求。CPU收到中斷請求后,中斷正在運行的程序并轉向相應的事件處理程序稱為中斷響應。相應的事件處理程序稱為中斷服務程序。執(zhí)行中斷服務程序的過程稱為中斷處理。1.中斷及中斷源的概念常見中斷源類型(1)外設引起的中斷。(2)CPU引起的中斷。(3)存儲器引起的中斷。(4)控制器引起的中斷。(5)各種總線引起的中斷。(6)實時時鐘的定時中斷。(7)實時控制引起的中斷。(8)故障引起的中斷。(9)為調試程序而設置的斷點??善帘沃袛嗖豢善帘沃袛?.中斷的分類中斷分類硬中斷(外中斷)內(nèi)中段軟中斷來自于處理機及內(nèi)存外部的中斷,都稱為硬中斷或外中斷。例如,輸入/輸出中斷,操作員對機器進行干預的中斷,各種定時器引起的時鐘中斷,調試程序中設置斷點引起的調試中斷等。在處理機和內(nèi)存內(nèi)部產(chǎn)生的中斷稱為內(nèi)中段,也稱為陷入或異常。例如,非法指令、數(shù)據(jù)格式錯誤、主存保護錯誤、地址越界錯誤、各種運算溢出錯誤、除數(shù)為零錯誤、數(shù)據(jù)校驗錯、進程用戶態(tài)向系統(tǒng)態(tài)轉換等。由程序中執(zhí)行了中斷指令引起的中斷,稱為軟中斷。UNIX系統(tǒng)也提供了軟中斷的處理功能,該中斷又叫信號處理機構,它是UNIX系統(tǒng)提供的一種進程通信機構,利用它,進程之間可相互通信。3.中斷優(yōu)先級當系統(tǒng)中同時存在若干個中斷請求時,CPU按它們的優(yōu)先級從高到低進行處理。當CPU響應一個中斷源的請求,在進行中斷處理時,如果又有新的中斷源發(fā)出中斷請求,CPU是否響應該中斷請求,則取決于中斷源的優(yōu)先級。中斷優(yōu)先級的確定主要由下列因素來決定:(1)中斷源的緊迫性。(2)設備的工作速度。(3)數(shù)據(jù)恢復的難易程度。4.中斷處理過程

6.5.2緩沖技術1.緩沖技術的引入有哪些使用緩沖技術的情況?(討論)2.緩沖的實現(xiàn)方法(1)硬件緩沖(2)軟件緩沖硬件緩沖采用專用硬件緩沖器,一般由外設自帶的專用寄存器構成。硬件緩沖器的大小是衡量設備性能的一個指標。但硬件緩沖器價格較昂貴。在內(nèi)存中專門開辟若干單元作為緩沖區(qū)。系統(tǒng)通常采用這種方法。6.5.2緩沖技術3.緩沖的種類 根據(jù)緩沖區(qū)設置個數(shù)的多少,可以分為: 單緩沖 雙緩沖 多緩沖 緩沖池。(1)單緩沖假如發(fā)送者和接收者速度不匹配,將會浪費大量的等待時間,因此,通常不采用單緩沖。

(2)雙緩沖當發(fā)送者和接收者的速度相差很大時,雙緩沖還是不能解決兩者并行工作問題。雙緩沖在實際系統(tǒng)中采用得很少。(3)環(huán)形緩沖裝入數(shù)據(jù):將輸入數(shù)據(jù)送入EMPTY指向的緩沖區(qū),填滿后,讓EMPTY指向下一個空緩沖區(qū)。每次申請一個空緩沖區(qū)時,要判斷EMPTY是否與FULL相等,若相等,表示系統(tǒng)中已沒有空緩沖區(qū),輸入進程需要等待。提取數(shù)據(jù):直接到FULL所指緩沖區(qū)中取,然后讓FULL指向下一個滿緩沖區(qū)。同樣需判斷FULL是否和EMPTY相等,若相等,表示系統(tǒng)已無數(shù)據(jù)可取,輸出進程等待。環(huán)形緩沖一般作為設備的專用資源,有兩個缺點:①如果系統(tǒng)的設備較多,就要占用大量的緩沖區(qū),增加內(nèi)存開銷。②緩沖區(qū)利用率不高,可能會出現(xiàn)某個設備的緩沖區(qū)不夠用,而其他設備有多個空緩沖區(qū)。(4)緩沖池

緩沖池由多個大小相同的緩沖區(qū)組成,緩沖池中的緩沖區(qū)被系統(tǒng)中所有進程共享使用,由管理程序統(tǒng)一對緩沖池進行管理。為便于管理,系統(tǒng)將相同類型的緩沖區(qū)鏈成一個隊列,緩沖池中共有三種隊列。為便于管理,系統(tǒng)將相同類型的緩沖區(qū)鏈成一個隊列,緩沖池中共有三種隊列。這三種隊列各有指向其首緩沖區(qū)的隊首指針和指向尾緩沖區(qū)的隊尾指針。對緩沖區(qū)進行讀、寫操作時。從隊列中取下的緩沖區(qū)稱為工作緩沖區(qū),緩沖池中有四種工作緩沖區(qū):緩沖池的工作過程(輸入)①②③④輸出過程?CPU需要磁盤數(shù)據(jù)時,先到高速緩沖區(qū)中讀數(shù)據(jù),若數(shù)據(jù)不在高速緩沖區(qū)中,則啟動磁盤I/O,并將從磁盤讀取的數(shù)據(jù)存放到高速緩沖區(qū)中。要往磁盤上寫數(shù)據(jù)時,CPU也是先往高速緩沖區(qū)中寫,以防隨后還要訪問這些數(shù)據(jù),等到將來不再需要時才真正將數(shù)據(jù)寫回到磁盤上。Linux系統(tǒng)緩沖池塊設備緩沖池字符設備緩沖池4.緩沖技術的應用由高速緩沖區(qū)組成,緩沖區(qū)以磁盤物理塊大小為單位。字符緩沖區(qū)的大小以字節(jié)為單位。6.6.1Windows的設備管理

1.Windows設備管理的特點2.Windows的注冊表1.Windows設備管理的特點(1)對即插即用功能的支持。系統(tǒng)將自動為新硬件分配不發(fā)生沖突的I/O、IRQ、DMA等資源,并為其安裝合適的設備驅動程序。(2)Windows具有動態(tài)設備驅動程序機制,支持動態(tài)加載設備驅動程序。支持使用USB接口等設備的熱插拔技術。(3)Windows采用了緩沖技術。Windows還利用Spooling技術,使打印機能實現(xiàn)后臺打印。(4)在Windows中,用戶可通過控制面板調整系統(tǒng)設置。2.Windows的注冊表無論對硬件還是軟件的所有管理都可利用注冊表來進行。注冊表是Windows中的核心數(shù)據(jù)庫。該注冊表包含計算機中每個用戶的配置文件、有關系統(tǒng)硬件的信息、安裝的程序及屬性設置。Windows在其運行中不斷引用這些信息。注冊表由5個樹狀結構的子樹組成每個子樹又可包括二級項、二級子樹下是三級項……,構成樹狀層次結構。右邊窗格中則是所選項下的值項,包含名稱與數(shù)據(jù)。HKEY_CURRENT_USER,包含當前登錄用戶的配置信息的根目錄。用戶文件夾、屏幕顏色和“控制面板”設置存儲在此處。該信息被稱為用戶配置文件。HKEY_USERS,包含計算機上所有用戶的配置文件的根目錄。HKEY_CURRENT_USER是HKEY_USERS的子項。HKEY_LOCAL_MACHINE,包含針對該計算機的配置信息。在系統(tǒng)監(jiān)視器上所看到的系統(tǒng)資源使用情況,實際上就是存放在HKEY_LOCAL_MACHINE主鍵中。HKEY_CLASSES_ROOT,是HKEY_LOCAL_MACHINE\Software的子項。此處存儲的信息可以確保當使用Windows資源管理器打開文件時,將打開正確的程序。HKEY_CURRENT_CONFIG,包含本地計算機在系統(tǒng)啟動時所用的硬件配置文件信息。注冊表包含了上千個鍵,每個鍵對應著系統(tǒng)的不同信息,我們可通過直接修改鍵值來更改整個系統(tǒng)的設置。可以說注冊表將操作系統(tǒng)和軟硬件緊密結合起來,它包含了操作系統(tǒng)的設備管理等多種功能。6.6.2Linux的設備管理(1)設備文件設備文件是Linux系統(tǒng)很重要的一個特色。任何設備都必需通過掛裝點掛裝到目錄樹上才能被訪問。(2)Linux支持一定的即插即用功能,但沒Windows那么完善。(3)Linux的設備驅動程序是作為系統(tǒng)內(nèi)核的一部分運行的,它的執(zhí)行效率會從根本上影響系統(tǒng)的整體性能。Linux的設備驅動程序具有動態(tài)性、可裝載性,在需要時可作為內(nèi)核模塊裝入,不需要時卸載即可。(4)Linux采用了緩沖技術來改進塊設備的數(shù)據(jù)傳輸速度和效率,讀、寫塊設備主要和高速緩存打交道。Linux還采用Spooling技術提高了打印機的工作效率。(5)Linux是具有設備獨立性的操作系統(tǒng),它的內(nèi)核具有高度適應能力,設備獨立性的關鍵在于內(nèi)核的適應能力。其他操作系統(tǒng)只允許一定數(shù)量或一定種類的外部設備連接。而設備獨立性的操作系統(tǒng)能夠容納任意種類及任意數(shù)量的設備。另外,由于用戶可以免費得到Linux的內(nèi)核源代碼,因此,用戶可以修改內(nèi)核源代碼,以便適應新增加的外部設備。6.7本章小結由于外設的多樣性和復雜性,設備管理是操作系統(tǒng)最為繁雜的一個部分。為了方便用戶使用外設,系統(tǒng)通過引入邏輯設備名和物理設備名,實現(xiàn)了設備獨立性,并且根據(jù)一定的算法和策略對設備進行合理分配。在設備管理中,設備驅動程序起了重要的作用。CPU對I/O設備的輸入/輸出控制方式有四種,發(fā)展過程是盡量減少CPU對外設的干預。設備管理中還引入了中斷、緩沖、Spooling等重要技術。Windowsxp和Linux的設備管理功能不僅都很強大,而且還各具特色。本章結束,可記得做作業(yè)喲!第七章操作系統(tǒng)的整體設計第七章操作系統(tǒng)的整體設計操作系統(tǒng)的整體設計經(jīng)歷了系統(tǒng)開發(fā)和程序設計的各個階段,它是伴隨著系統(tǒng)工程和程序設計方法的發(fā)展而成長的。本章的目的是更全面、更深入的了解操作系統(tǒng)的整體設計。

操作系統(tǒng)的各種模型分布式操作系統(tǒng)網(wǎng)絡操作系統(tǒng)Windows的網(wǎng)絡操作系統(tǒng)Linux操作系統(tǒng)7.1操作系統(tǒng)的各種模型由于操作系統(tǒng)是程序的集合,因此,操作系統(tǒng)的模型必然要決定程序之間的相互關系。

根據(jù)程序之間的調用關系可以將操作系統(tǒng)分為:網(wǎng)絡模型層次模型根據(jù)程序作用范圍及包裝手段可將操作系統(tǒng)分為:面向過程的模型面向對象的模型7.1.1網(wǎng)狀結構與層次結構

1.模快模塊模塊化的方法模塊的獨立性高內(nèi)聚低耦合將整個操作系統(tǒng)根據(jù)設計所要求的子功能劃分成單獨命名、獨立編址的程序部分,這些程序部分被稱為模塊。采用模塊化的方法可以使設計者更清晰的了解整個系統(tǒng)的結構,并且可以采用分而治之的方法來完成每一個程序段的設計。所謂獨立性是指每個模塊只涉及操作系統(tǒng)所要求的某一個或某幾個具體的子功能,并且有唯一的入口和出口,模塊與模塊之間的接口簡單明了。在模塊內(nèi)部,各個功能部分的聯(lián)系代表模塊的內(nèi)聚性,聯(lián)系越緊密,內(nèi)聚程度越高。而在模塊之間,相互交流信息與控制的程度代表耦合性,模塊間的聯(lián)系越高,耦合程度越高。模塊之間的調用關系可以有不同的組織方式,最典型的有網(wǎng)狀結構和層次結構。2.網(wǎng)狀結構如果任意兩個模塊之間可以相互調用,并且系統(tǒng)沒有明確的上級模塊和下級模塊的區(qū)別,該系統(tǒng)的結構稱為網(wǎng)狀結構。7.1.1網(wǎng)狀結構與層次結構

系統(tǒng)服務代表操作系統(tǒng)所提供的面向用戶的功能和界面。中間的模塊代表各種操作系統(tǒng)的子功能。各個子功能之間根據(jù)需要可以形成相互的調用關系,既可以橫向調用,也可以上下調用。網(wǎng)狀結構的好處是:可以很輕松地從一個子功能轉向另一個子功能,這給系統(tǒng)的運行帶來了靈活性。

如果對網(wǎng)狀結構不加限制,有可能形成循環(huán)調用的情況,安全的隱患隨時可能導致系統(tǒng)的崩潰。

3.層次結構依據(jù)操作系統(tǒng)各子功能與計算機系統(tǒng)不同種類的資源之間的相互關系,將操作系統(tǒng)程序模塊劃歸于不同的層次,層次之間形成單向調用關系。7.1.1網(wǎng)狀結構與層次結構

系統(tǒng)服務處于最上層,它通過調用下層的作業(yè)管理來實現(xiàn)對用戶的交互和控制。當需要使用信息資源時,由作業(yè)管理調用文件系統(tǒng)來實現(xiàn)數(shù)據(jù)的存儲與流動;文件存儲與流動所涉及的存儲介質的使用需調用內(nèi)存管理和I/O設備管理模塊;上層各個模塊的實現(xiàn)又必然是不同進程的實現(xiàn),因此,需要調用處理機調度模塊。處理機調度處于系統(tǒng)的底層,它只能被上層的各個模塊調用而不能調用上層模塊。調用只能朝一個方向進行,因此不會產(chǎn)生循環(huán)調用的情況。如果按層次對模塊賦予對應的權限,就很容易實現(xiàn)對資源的保護。Windows和Linux都采用了層次結構進行設計。

某些操作系統(tǒng)的設計者經(jīng)過權衡以后,在同層模塊之間使用少量的網(wǎng)狀結構。比如UNIX系統(tǒng)的有些底層模塊之間可以相互調用。7.1.2面向過程與面向對象

1.面向過程的操作系統(tǒng)

早期的操作系統(tǒng)都是采用的面向過程的設計方法。在面向過程的操作系統(tǒng)中,要查看資源的使用狀況非常容易,只需要找到代表該資源的數(shù)據(jù)結構就可以對資源的情況一目了然。如果想實現(xiàn)對某個資源的新的動作,只需要針對該數(shù)據(jù)結構再編制一段程序就可以完成了。

什么是面向過程的程序設計?問題:只要任何一個程序操作發(fā)生失誤,對應的數(shù)據(jù)就可能出錯,隨著程序之間的相互調用不斷擴大,最后擴展到整個系統(tǒng),導致整個系統(tǒng)錯誤的發(fā)生。另外,大量的全局變量使系統(tǒng)安全性受到威脅。2.面向對象的操作系統(tǒng)

(1)對象(2)消息(3)類(4)繼承7.1.2面向過程與面向對象

讓我們來回憶一下過去學過的內(nèi)容!(1)對象2.面向對象的操作系統(tǒng)對象是一組屬性和一組針對該屬性的操作。屬性和操作在對象內(nèi)部相互作用,對象的狀態(tài)通過屬性的值來體現(xiàn),每一次對操作的調用都可能改變對象的狀態(tài)。而在對象外部,如果不經(jīng)特許無法了解對象的內(nèi)部結構,只能通過對象所提供的外部接口來獲知對象的狀態(tài)。(2)消息2.面向對象的操作系統(tǒng)消息是對象之間的通信單元。當一個對象接收來自外部的消息時,可根據(jù)消息中指定的操作與傳遞的參數(shù)來對對象中的屬性進行操作,從而改變對象的屬性。由用戶U向文件B發(fā)送消息,從而啟動文件B的打開操作。消息發(fā)送的主體也可以是任意對象,接收消息的對象必須含有消息所對應的操作,否則消息發(fā)送失敗。

(3)類2.面向對象的操作系統(tǒng)類是一組具有相同數(shù)據(jù)結構和相同操作的對象的集合,因此,它是對對象的抽象。類中同樣定義了一組屬性和針對該屬性的一組操作。一般情況下類中的屬性沒有具體的值來代表,而只是一個數(shù)據(jù)結構框架。類的實例被稱為對象,因此,對象是類的實現(xiàn)。(4)繼承2.面向對象的操作系統(tǒng)在某一個既存類的基礎上經(jīng)過添加新的屬性或操作生成一個新類,新類直接繼承既存類的屬性和操作,因此被稱為對既存類的繼承。使用類與類之間的繼承特性,可以極大地簡化對屬性和操作的設計工作量。同時一個新類并不會對既存類產(chǎn)生影響,因此,操作系統(tǒng)的擴展將不會影響原有系統(tǒng)的功能。2.面向對象的操作系統(tǒng)

(5)面向對象操作系統(tǒng)的設計方法設計操作系統(tǒng)將經(jīng)過如下幾個步驟:分析設計類的設計與實現(xiàn)對類進行實例化系統(tǒng)組裝與測試維護7.1.2面向過程與面向對象

分析所要設計的操作系統(tǒng)的類型、應用范圍和要達到的系統(tǒng)目標等,確定了操作系統(tǒng)的邏輯模型。

進行系統(tǒng)結構設計,根據(jù)資源的分類將系統(tǒng)分層,確定每層要完成的任務,確定對類進行描述所依據(jù)的模型。對類進行定義與設計,包括類的設計、復用、繼承,確定類與類之間要傳送的消息格式與時機。它主要是依據(jù)不同計算機的硬件資源的規(guī)格、型號以及其他參數(shù)將類實例化為對象,由這些對象來代表具體的資源。以類和對象為部件按操作系統(tǒng)的設計要求組裝完整的系統(tǒng),并根據(jù)預先設計好的測試流程進行系統(tǒng)測試,測試通過以后操作系統(tǒng)完全生成。在操作系統(tǒng)的運行過程中針對發(fā)現(xiàn)問題進行修正、補丁、擴展等。維護往往只針對指定的類或者對象,因此涉及范圍很小。7.2分布式操作系統(tǒng)計算機的發(fā)展并不局限于稱為集中式系統(tǒng)的單處理機和單存儲器的形式。為了達到更大程度的并行,系統(tǒng)可能使用多個處理機甚至多臺主機。因此,我們必須了解分布式系統(tǒng)。7.2分布式操作系統(tǒng)分布式系統(tǒng)定義分布式系統(tǒng)是由多個物理上分布的處理機或計算機經(jīng)過連接構成的計算機系統(tǒng),這些組成部件可以合作完成一個共同的任務,以透明的方式在用戶面前呈現(xiàn)出一個整體形象。分布式操作系統(tǒng)是建立于分布式系統(tǒng)基礎之上的,對所有分布式資源進行管理和控制的操作系統(tǒng)。由于增加了分布特性,操作系統(tǒng)需要增加進程間的數(shù)據(jù)交換、全局性的保護機制、各個物理位置上的數(shù)據(jù)一致性、任務分布與協(xié)調等功能,以實現(xiàn)資源共享、開放性、并發(fā)性、容錯性和透明性。7.2分布式操作系統(tǒng)分布式操作系統(tǒng)的設計目標1.資源共享2.開放性3.并發(fā)性4.可靠性5.數(shù)據(jù)一致性6.透明性分布式系統(tǒng)的資源共享指的是對分布式資源的共享。分布式操作系統(tǒng)需要解決如下問題:采用何種管理手段來記錄分布于不同地理位置上的資源?當多進程同時需要對同類資源使用時,由誰及采用何種調度策略來對進程與資源進行連接?如何實現(xiàn)遠程資源與用戶的交互?目前討論得比較多的有兩種模型:客戶機╱服務器模型和面向對象模型。由于分布式系統(tǒng)是通過對不同地理位置上的計算機的連接來構成的,它應該能夠允許連接數(shù)量的變化、軟件功能的增減、服務分布的變化、節(jié)點之間的溝通等,而不導致系統(tǒng)功能的削弱或破壞。如果能夠實現(xiàn)上述要求,則稱該分布式系統(tǒng)是開放的。要實現(xiàn)開放系統(tǒng)必須有標準的數(shù)據(jù)通信格式、可移植的系統(tǒng)軟件、統(tǒng)一的用戶界面。在分布式系統(tǒng)中,存在著許多進程,這些進程既存在物理上的并行,也存在邏輯上的并行;在節(jié)點與節(jié)點之間又存在大量的數(shù)據(jù)并發(fā)流動。這一切對操作系統(tǒng)的并發(fā)控制能力提出了要求,要盡量減少并發(fā)行為之間可能發(fā)生的沖突,保證資源的安全使用,實現(xiàn)各進程之間的協(xié)調運作。相對于傳統(tǒng)的計算機系統(tǒng),分布式系統(tǒng)具有較高的可靠性。硬件的可靠性可以利用相同部件的相互替代來保證,數(shù)據(jù)的可靠性可以通過一定程度的冗余與備份來實現(xiàn)。另外,對于整個系統(tǒng)的容錯能力,需要操作系統(tǒng)具有錯誤檢測和恢復功能。相同的數(shù)據(jù)可能分布于不同的節(jié)點上,保證數(shù)據(jù)一致性的辦法通常是保證事務處理的原子性,即在事務處理過程中如果發(fā)生中斷,則取消該事務的處理,并讓系統(tǒng)恢復到處理之前的狀態(tài)。原子性避免了事務在處理過程中產(chǎn)生的錯誤。另外,對分布于不同位置的相同數(shù)據(jù)定期刷新也可以保證一定程度上的數(shù)據(jù)一致性。透明性指用戶在使用分布式系統(tǒng)時,不需要了解系統(tǒng)的資源、進程、動作、服務等任何數(shù)據(jù)與行為所處的位置。與集中式操作系統(tǒng)相比,分布式系統(tǒng)集中了各部分資源的優(yōu)勢,因此,運行速度更快、系統(tǒng)處理能力更強、資源共享范圍更廣、更易于進行功能擴充并且有更高的可靠性。分布式系統(tǒng)管理復雜、系統(tǒng)安全保密實現(xiàn)困難、軟件太少等都對分布式系統(tǒng)的發(fā)展與應用有影響。

7.3網(wǎng)絡操作系統(tǒng)什么是網(wǎng)絡網(wǎng)絡的結構網(wǎng)絡操作系統(tǒng)7.3.1什么是網(wǎng)絡

計算機網(wǎng)絡是按照網(wǎng)絡協(xié)議通信,以共享資源為目的,將地理上分散且自主的計算機互相連接的集合。網(wǎng)絡的構成包含三個要素網(wǎng)絡的主要功能計算機網(wǎng)絡主要分為三類

網(wǎng)絡的物理架構 通信協(xié)議 一系列獨立的計算機(1)在計算機與計算機之間進行通信或數(shù)據(jù)傳輸。(2)實現(xiàn)對數(shù)據(jù)、軟件和硬件資源的共享。(3)提高計算機的可靠性和可用性。(4)便于進行分布式處理。

局域網(wǎng)廣域網(wǎng)城域網(wǎng)7.3.2網(wǎng)絡的結構

1.網(wǎng)絡拓撲結構網(wǎng)絡在物理上表現(xiàn)為通信子網(wǎng)對網(wǎng)絡節(jié)點的連接,其中通信子網(wǎng)的結構稱為網(wǎng)絡拓撲結構。星形結構一般是通過一個中央交換機實現(xiàn)對網(wǎng)絡各節(jié)點的連接,所有的數(shù)據(jù)通信都必須經(jīng)過交換機的控制與轉接來實現(xiàn)??偩€形結構中的所有節(jié)點都連接到一條公用的數(shù)據(jù)通路上(稱為總線),接點之間的數(shù)據(jù)通信靠各節(jié)點對總線信息的分辨與獲取來實現(xiàn)。環(huán)形結構是將各節(jié)點連接成環(huán),通過節(jié)點爭取環(huán)路使用權來完成信息通信的。目前使用較多的還有樹形結構,它往往采用星形的連接方式與總線形的通信手段來實現(xiàn)通信。7.3.2網(wǎng)絡的結構2.網(wǎng)絡體系結構之一——OSI參考模型

物理層提供為建立、維護和拆除物理鏈路所需的機械的、電氣的、功能的和規(guī)程的特性;提供有關在傳輸介質上傳輸二進制位流及物理鏈路故障檢測指示。

數(shù)據(jù)鏈路層為網(wǎng)絡層實體提供點到點無差錯幀傳輸功能,并進行流量控制及鏈路管理。

網(wǎng)絡層接受來自數(shù)據(jù)鏈路層的服務,并為傳輸層建立、保持及釋放連接和數(shù)據(jù)傳送提供數(shù)據(jù)交換、流量控制、擁擠控制、差錯控制及恢復、路由選擇等功能。傳輸層為會話層實體提供透明的、可靠的數(shù)據(jù)傳輸服務,保證端到端的數(shù)據(jù)完整性;按本層需要選擇網(wǎng)絡層能提供的服務;提供建立、維護和拆除傳輸連接功能。會話層提供面向用戶的連接服務,對不同系統(tǒng)會話層實體提供組織和同步所必需的手段,以便對數(shù)據(jù)的傳送提供控制和管理。表示層為應用層進程提供能解釋所交換信息含義的一組服務,如代碼轉換、格式轉換、文本壓縮、文本加密與解密等。應用層為OSI進程提供服務,如文件傳送、電子郵件、EDI等,保證網(wǎng)絡的完整透明性。7.3.3網(wǎng)絡操作系統(tǒng)

網(wǎng)絡操作系統(tǒng)是針對網(wǎng)絡環(huán)境設計的、具有OSI上層功能的、能同時對網(wǎng)絡服務器及工作站進行管理的并實現(xiàn)網(wǎng)絡節(jié)點之間通信功能的操作系統(tǒng)。因為網(wǎng)絡的目的是實現(xiàn)資源共享與數(shù)據(jù)通信,在文件共享和進程通信方面有許多工作要做。

7.3.3網(wǎng)絡操作系統(tǒng)網(wǎng)絡操作系統(tǒng)必須具有如下功能:(1)用戶管理功能。(2)系統(tǒng)容錯措施。(3)服務連接維護和數(shù)據(jù)訪問同步。(4)文件、目錄服務,除基本文件及目錄管理外,還包括文件傳輸協(xié)議、遠程通信等。(5)網(wǎng)絡計費、安全與維護。(6)提供開放的軟件開發(fā)環(huán)境。7.3.3網(wǎng)絡操作系統(tǒng)

分布式OS網(wǎng)絡OS表現(xiàn)形式功能強大的單機系統(tǒng)

若干分立的計算機及其連接

操作系統(tǒng)部件上運行相同的操作系統(tǒng)各計算機可運行獨立的操作系統(tǒng)通信進程之間傳遞消息來實現(xiàn)通信采用文件共享的形式文件組織文件有統(tǒng)一的組織與形式允許文件的多樣化7.4Windows的網(wǎng)絡操作系統(tǒng)Windows系列逐漸分化為三類產(chǎn)品:以Windows9x/Me為代表的是面向家庭計算機用戶的操作系統(tǒng),其最新的版本是WindowsXPHomeEdition;以WindowsNTWorksation/2000Professional為代表的是面向商業(yè)辦公的操作系統(tǒng),其最新的版本是WindowsXPProfessional;以WindowsNTServer/2000Server為代表的是面向高端應用的操作系統(tǒng),其最新版本是Windows2003Server。

7.4Windows的網(wǎng)絡操作系統(tǒng)網(wǎng)絡構成Windows的結構Windows的管理職能WindowsServer的安全與監(jiān)視7.4.1網(wǎng)絡構成

常見的Windows網(wǎng)絡構造

7.4.2Windows的結構

Windows操作系統(tǒng)結構

劃分成用戶模式和核心模式兩大部分

用戶模式中有:環(huán)境子系統(tǒng)集成子系統(tǒng)每個環(huán)境子系統(tǒng)代表一個用戶態(tài)服務器

每個集成子系統(tǒng)是完成操作系統(tǒng)功能的服務器

核心模式被稱為執(zhí)行體對象(資源)管理器,擁有內(nèi)核對象,這些對象具有獲得創(chuàng)建應用程序所需要的核心服務的手段;安全引用監(jiān)視器,為系統(tǒng)資源提供一致的安全檢查和實施;進程管理器,管理線程和進程的壽命,承擔安排執(zhí)行時間的責任;虛擬內(nèi)存管理器(VMM),為每個進程提供統(tǒng)一的、私有的地址空間;本地過程調用工具,向同一計算機上的客戶和服務器提供簡單的消息傳送手段;I╱O管理器,為所有的進程提供訪問硬件驅動程序、文件系統(tǒng)和網(wǎng)絡的方法;窗口管理器,創(chuàng)建用戶熟悉的界面并為進程提供訪問圖形設備接口的方法。微內(nèi)核和硬件抽象層采用了層次操作系統(tǒng)模型,提供了線程調度、中斷、異常調度及多處理機同步。7.4.3Windows的管理職能

WindowsServer對網(wǎng)絡的管理是通過活動目錄來進行的?;顒幽夸浭且环N目錄服務,它存儲有關網(wǎng)絡對象的信息,這些對象是用戶、域、組織單元、樹和森林,網(wǎng)絡上的所有可用資源信息都被集成于這些對象之中,利于管理員和用戶方便地查找和使用。域是對計算機及用戶的一種組織,任何用戶只要在域中有一個帳戶,就擁有了網(wǎng)絡資源的使用權利。一個域作為一個完整的目錄,域之間能夠通過信任關系建立起樹狀連接,使單一帳戶可享用該樹狀結構中的任何信息。活動目錄服務把域又詳細劃分成組織單元,組織單元是一個邏輯單位,它是域中一些用戶和組、文件與打印機等資源對象的集合。

7.4.3Windows的管理職能

活動目錄完全采用了Internet標準協(xié)議,進行網(wǎng)絡登錄時,可用“用戶名@域名”的用戶帳號。Windows活動目錄把DNS作為其定位服務,因此是直接面向Internet的。域中有許多平等的域控制器,Windows任何一個域控制器上的目錄庫的變更都會自動復制到其他域控制器上的副本中。7.4.3Windows的管理職能

域安全策略7.4.3Windows的管理職能

用戶和計算機帳戶管理7.4.3Windows的管理職能

活動目錄的特性(1)信息安全性(2)基于策略的管理(3)擴展性(4)可調整性(5)信息復制(6)與

DNS集成(7)與其他目錄服務的內(nèi)部操作(8)靈活的查詢

安全性與活動目錄完全集成在一起。不僅可以針對目錄中的每個對象定義訪問控制,還可對其每種屬性進行操作。活動目錄的目錄服務包括數(shù)據(jù)存儲以及邏輯、分層結構。作為邏輯結構,它為策略應用程序提供上下文分層結構。作為目錄,它存儲指定給特定上下文的策略(稱為組策略)?;顒幽夸浭强蓴U展的,這意味著管理員可以將對象的新類添加到規(guī)劃中,而且還可以將新屬性添加到已現(xiàn)有的對象類中?;顒幽夸浛砂ㄒ粋€或多個域,每個又都帶有一個或多個域控制器,這使得可調整目錄以便滿足任何網(wǎng)絡的要求。多域可組合成域目錄樹或林。活動目錄使用多主復制。目錄存儲在初始域控制器中,其內(nèi)容可復制到域、域目錄樹或林的每個域中。對目錄數(shù)據(jù)所做的更改將復制到所有域控制器中。活動目錄使用域名解析系統(tǒng)DNS(DomainNameSystem)。

DNS是一個Internet的標準服務,它可以很容易地將可讀主機名稱翻譯成數(shù)字的IP地址。這可以在TCP/IP網(wǎng)絡上啟用與計算機和用戶的標識和連接。

由于活動目錄是基于工業(yè)標準的目錄訪問協(xié)議,它可以與使用這些協(xié)議的其他目錄服務實現(xiàn)內(nèi)部操作。用戶和管理員可在搜索功能中指定網(wǎng)絡鄰居、活動目錄用戶和計算機來快速查找網(wǎng)絡上的對象,使用對象屬性。可通過使用活動目錄生成的全局目錄優(yōu)化查找信息。

7.4.4WindowsServer的安全與監(jiān)視

WindowsServer提供了許多安全機制,如:備份事件查看性能監(jiān)視系統(tǒng)監(jiān)視網(wǎng)絡監(jiān)視等

7.5Linux操作系統(tǒng)Linux體系結構Linux模塊化加載核心數(shù)據(jù)結構設備驅動文件系統(tǒng)

Linux特性

7.5.1Linux體系結構

內(nèi)核是系統(tǒng)的心臟,是運行程序和管理計算機硬件的核心程序。它接受shell傳來的系統(tǒng)調用命令并把命令送給內(nèi)核去執(zhí)行。Shell是系統(tǒng)的用戶界面,提供了用戶與內(nèi)核進行交互操作的一種接口。它接收用戶輸入的命令并把它送入內(nèi)核去執(zhí)行。實際上Shell是一個命令解釋器,它解釋由用戶輸入的命令并且把它們送到內(nèi)核。Shell有自己的編程語言,用這種編程語言編寫的Shell程序與其他應用程序具有同樣的效果。內(nèi)核、Shell和文件結構一起形成了基本的操作系統(tǒng)結構。標準的Linux系統(tǒng)都有一套叫做實用工具的程序,它們是專門的程序,例如編輯器、執(zhí)行標準的計算操作等。用戶也可以產(chǎn)生自己的工具。7.5.2Linux模塊化加載

Linux的核心(Kernel)可以認為是一個單一的巨大的程序,核心的功能組件可以訪問它的所

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論