中南大學(xué)數(shù)學(xué)院計算機操作系統(tǒng)第五章課件設(shè)備管理_第1頁
中南大學(xué)數(shù)學(xué)院計算機操作系統(tǒng)第五章課件設(shè)備管理_第2頁
中南大學(xué)數(shù)學(xué)院計算機操作系統(tǒng)第五章課件設(shè)備管理_第3頁
中南大學(xué)數(shù)學(xué)院計算機操作系統(tǒng)第五章課件設(shè)備管理_第4頁
中南大學(xué)數(shù)學(xué)院計算機操作系統(tǒng)第五章課件設(shè)備管理_第5頁
已閱讀5頁,還剩45頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1,第五章 設(shè)備管理,2,5.1 引言,有關(guān)外設(shè)的驅(qū)動、控制、分配等技術(shù)問題都統(tǒng)一由設(shè)備管理程序負責(zé)。 5.1.1 設(shè)備的概念和分類 (1)按功能分類,可以分為輸入設(shè)備、輸出設(shè)備、存儲設(shè)備、供電設(shè)備、網(wǎng)絡(luò)設(shè)備等。 (2)從設(shè)備的數(shù)據(jù)組織方式分類,可以分為塊設(shè)備和字符設(shè)備。 (3)從設(shè)備的管理模式分類,可以分為物理設(shè)備和邏輯設(shè)備。 (4)從設(shè)備的資源屬性分類,可以分為獨占設(shè)備、共享設(shè)備和虛擬設(shè)備。,3,5.1.2 I/O設(shè)備控制與驅(qū)動,I/O設(shè)備的控制和驅(qū)動技術(shù)包括了硬件控制驅(qū)動技術(shù)和驅(qū)動軟件。前者是I/O設(shè)備廠商設(shè)計建立的與設(shè)備密切相關(guān)的技術(shù)。后者涉及系統(tǒng)所有I/O處理的軟件。I/O驅(qū)動軟件是

2、操作系統(tǒng)的一部分。 隨著操作系統(tǒng)的發(fā)展,使I/O驅(qū)動軟件成為一種帶有標(biāo)準(zhǔn)接口的可選型的軟件,操作系統(tǒng)內(nèi)核中只保留與設(shè)備無關(guān)的那部分軟件,而將與設(shè)備有關(guān)的驅(qū)動軟件作為一種可裝卸的程序,可以按照系統(tǒng)配置的需求進行配置。 操作系統(tǒng)中的I/O驅(qū)動軟件一般分為幾個層次,如中斷處理程序、設(shè)備驅(qū)動程序、操作系統(tǒng)I/O原語和用戶級軟件。,4,5.1.3 設(shè)備管理的設(shè)計要求和任務(wù),為用戶提供方便、統(tǒng)一的設(shè)備使用界面 提高外部設(shè)備利用率,盡量提高并行程度 實現(xiàn)程序與設(shè)備的無關(guān)性 系統(tǒng)與設(shè)備間的協(xié)調(diào)主要是速度上的協(xié)調(diào),通常要解決快速的處理器與慢速的I/O設(shè)備之間的操作匹配的問題,在操作系統(tǒng)中采用緩沖區(qū)的方式來緩解這

3、個矛盾,設(shè)備管理要實現(xiàn)這些緩沖區(qū)的建立、分配、釋放與回收。,5,5.2 操作系統(tǒng)與中斷處理,5.2.1 中斷的基本概念,6,5.2.2 中斷的類型,中斷機構(gòu)處理外部設(shè)備的I/O中斷。 陷入機構(gòu)處理指令的陷入(自陷)和由于軟、硬件故障或錯誤造成的陷入。 系統(tǒng)調(diào)用是UNIX操作系統(tǒng)面向在用戶的程序的界面。在匯編級上,系統(tǒng)調(diào)用使用trap指令。 I/O中斷 時鐘中斷 系統(tǒng)請求中斷 報警中斷 程序錯誤中斷 機器錯誤中斷,7,UNIX中的系統(tǒng)調(diào)用,與進程管理和控制有關(guān)的系統(tǒng)調(diào)用 fork、exit、wait、signal、kill。 semget、semop、semctl。 與文件系統(tǒng)有關(guān)的系統(tǒng)調(diào)用 c

4、reat、open、close、read、write。 遠程進程通信 socket、connect 其它系統(tǒng)調(diào)用 times,8,5.2.3 中斷的響應(yīng)和實現(xiàn)過程,每當(dāng)執(zhí)行完一條指令,檢測有無中斷請求。 不同的中斷類型規(guī)定了不同的優(yōu)先級,中斷嵌套。 根據(jù)中斷源找出相應(yīng)的中斷處理程序入口地址,以便轉(zhuǎn)去執(zhí)行。中斷矢量存放中斷處理程序的地址。 保護現(xiàn)場,指令斷點,運行參數(shù)和條件,現(xiàn)運行程序狀態(tài)寄存器PS的內(nèi)容以及累加器或通用寄存器的內(nèi)容和標(biāo)記 中斷屏蔽。,9,5.2. 4 中斷處理程序和驅(qū)動程序,UNIX把設(shè)備作為一種虛擬的文件對待,每個設(shè)備有一個象文件名那樣的名字,可以對它象一個文件那樣存取 在U

5、NIX系統(tǒng)中,將設(shè)備分成兩類:塊設(shè)備和字符設(shè)備。核心與驅(qū)動程序的接口是由塊設(shè)備開關(guān)表和字符設(shè)備開關(guān)表描述的,10,5.2.5 中斷的返回與恢復(fù),UNIX的中斷處理都是在核心態(tài)下進行的。 如果中斷前處理機狀態(tài)為核心態(tài),則在執(zhí)行完設(shè)備處理子程序后就恢復(fù)現(xiàn)場,然后用中斷返回指令回到中斷前狀態(tài),繼續(xù)執(zhí)行被中斷的操作系統(tǒng)程序。 如果中斷前為用戶態(tài),則在執(zhí)行完設(shè)備處理子程序后,先要檢查標(biāo)志runrun是否設(shè)置。,11,5.3 操作系統(tǒng)與時鐘系統(tǒng),在計算機系統(tǒng)中可分為三類時鐘: 系統(tǒng)時鐘(system clock)、 日歷時鐘(time of day clock) 實時時鐘(realtime clock)

6、5.3.1 時鐘的概念 系統(tǒng)時鐘主要用于控制系統(tǒng)處理器執(zhí)行指令的速率。 日歷時鐘產(chǎn)生一個精確的時間計數(shù),程序?qū)Υ诉M行轉(zhuǎn)換,給出與日歷相符的日期和時間。 實時時鐘每秒提供若干個時鐘中斷,提醒處理器有重要的事情要做。,12,5.3.2 UNIX系統(tǒng)中的時鐘管理,每隔20ms處理的工作如下: 計算當(dāng)前進程在用戶態(tài)或核心態(tài)下的累計運行時間,將u.u_utime+或u.u_stime+。 當(dāng)前運行進程p_cpu加1。 處理延時啟動終端打印機的工作。clock若發(fā)現(xiàn)延遲時間到了,則重新啟動對應(yīng)的輸出驅(qū)動程序。 每秒一次處理的工作如下: 日歷時鐘變量time加1。 所有進程的內(nèi)存或?qū)Q區(qū)的駐留時間p_tim

7、e+, 所有目前未運行進程的p_cpu除以2。,13,5.4 操作系統(tǒng)對I/O的控制,5.4.1 I/O設(shè)備的資源分配 I/O地址 進行正確的I/O地址設(shè)置 I/O中斷請求 爭用剩余的中斷請求號,也會產(chǎn)生沖突。 DMA數(shù)據(jù)傳輸通道 對爭用同一個DMA通道的I/O設(shè)備需要進行協(xié)調(diào)和重新配置。 I/O緩沖區(qū) 這個系統(tǒng)資源也是I/O設(shè)備爭用的。,14,5.4.2 I/O通道技術(shù),I/O通道是一種硬件設(shè)施,帶有專用處理器的、有很強I/O處理功能的智能部件。 可以獨立地完成系統(tǒng)處理器交付的I/O操作任務(wù),通道具有自己專門的指令集,即通道指令。 通道執(zhí)行來自處理器的通道程序,完成后只需向系統(tǒng)處理器發(fā)出中斷

8、,請求結(jié)束。 字節(jié)多路通道主要用于連接大量低、中速、以字節(jié)作為傳輸單位的I/O設(shè)備。 選擇通道主要用以支持高速設(shè)備(如磁盤),每次只對一個設(shè)備進行數(shù)據(jù)傳輸。 成組多路通道以分時方式同時執(zhí)行幾道通道程序,每條通道指令可以傳送一組數(shù)據(jù),,15,5.4.3 I/O緩沖技術(shù),提高中央處理器與外設(shè)的并行程度 可以采用硬件緩沖和軟件緩沖兩種方式 軟件緩沖是借助操作系統(tǒng)的管理,采用內(nèi)存中的一個或者多個區(qū)域作為緩沖區(qū)。 緩沖區(qū)的數(shù)量可根據(jù)不同的系統(tǒng)和操作來確定,常用的緩沖技術(shù)有三種:雙緩沖、環(huán)形緩沖和緩沖池。,16,5.5 設(shè)備管理的數(shù)據(jù)結(jié)構(gòu),5.5.1 設(shè)備控制表(DCT) 提供若干高級I/O系統(tǒng)調(diào)用,用這

9、些抽象的I/O操作把用戶與復(fù)雜的I/O設(shè)備操作隔離,隱藏設(shè)備操作的細節(jié),有利于編寫與設(shè)備無關(guān)的程序。 要完成抽象到實際的映射,通常采用稱為設(shè)備控制表(DCT)的數(shù)據(jù)結(jié)構(gòu)來完成。它記錄每一個抽象設(shè)備描述、對應(yīng)的實際設(shè)備地址、所使用的設(shè)備驅(qū)動程序等參數(shù)。,17,設(shè)備讀read抽象操作,read(dvcrp,buf,size) int dvcrp,size; /* 設(shè)備標(biāo)識符、數(shù)據(jù)塊大小 */ char *buf; /* 緩沖區(qū)指針 */ struct devtab *devptr; /* 指向設(shè)備表的指針 */ if (isbaddev(dvcrp) / 確認設(shè)備標(biāo)識符是否有效 return(SY

10、SERR); /* 無效,系統(tǒng)返回出錯 */ devptr= /* 有效,找到對應(yīng)設(shè)備表項 */ return(*devptrdvread)(devptr,buf,size) /* 將參數(shù)傳向設(shè)備驅(qū)動程序并返回 */ ,18,5.5.2 設(shè)備開關(guān)表,針對各類設(shè)備不同的物理特性,系統(tǒng)為它們各自設(shè)置了一套子程序,它們包括打開、關(guān)閉和啟動子程序。 系統(tǒng)為每類設(shè)備又設(shè)置了一數(shù)據(jù)結(jié)構(gòu),存放這些程序的入口地址,該數(shù)據(jù)結(jié)構(gòu)稱為設(shè)備開關(guān)。,19,5.6 磁盤的調(diào)度,5.6.1 物理特性 磁盤一般用于文件存儲,盤上信息的地址是多重編址的,包括驅(qū)動器號、面號、道號、扇區(qū)號。 存取盤塊中信息的時間: 尋道時間 10

11、0ms 等待時間 10ms 傳送時間 1ms,20,5.6.2 磁盤調(diào)度算法,先來先服務(wù)調(diào)度(FCFS) 最短尋道時間優(yōu)先法(SSTF),21,5.6.2 磁盤調(diào)度算法(續(xù)),掃描法(SCAN和C-SCAN),22,5.7 UNIX系統(tǒng)V的設(shè)備管理,1緩沖控制塊buf 在系統(tǒng)初啟時,核心根據(jù)內(nèi)存大小和系統(tǒng)性能要求分配若干緩沖區(qū)。一個緩沖區(qū)由兩部分組成:存放數(shù)據(jù)的內(nèi)存區(qū)(一般稱為緩沖區(qū))和一個緩沖控制塊。緩沖區(qū)和緩沖控制塊是一一對應(yīng)的。系統(tǒng)通過緩沖控制塊實現(xiàn)對緩沖區(qū)的管理。,5.7.1 UNIX塊設(shè)備管理的主要數(shù)據(jù)結(jié)構(gòu),23,struct buf int b_flags; /* 緩沖區(qū)標(biāo)志 */

12、 struct buf *b_forw; /* 設(shè)備隊列前向指針 */ struct buf *b_back; /* 設(shè)備隊列后向指針 */ struct buf *av_forw; /* 自由隊列前向指針 */ struct buf *av_back; /* 自由隊列后向指針 */ dev_t b_dev; /* 邏輯設(shè)備號 */ unsigned b_bcount; /* 傳送數(shù)據(jù)字節(jié)數(shù) */ union caddr_t b_addr; /* 緩沖區(qū)內(nèi)存首地址 */ struct filsys *b_filsys; /* 超級塊 */ b_un; daddr_t b_blkno; /* 在

13、磁盤上數(shù)據(jù)的塊號 */ bufNBUF;,24,b_flags反映緩沖區(qū)的使用情況和I/O方式,如忙或閑、數(shù)據(jù)有效性、“延遲寫”、正在讀/寫、等待緩沖區(qū)空閑等。 從buf的組成可見,它不僅包含了與使用緩沖區(qū)有關(guān)的信息,也記錄了I/O請求及其執(zhí)行結(jié)果。所以一般而言,buf既是緩存控制塊,同時又可以是針對該緩存進行的I/O請求塊。 為管理方便,系統(tǒng)還設(shè)置了自由緩存隊列控制塊bfreelist和進程圖像傳送控制塊swbuf。這兩個塊結(jié)構(gòu)與buf結(jié)構(gòu)相同,但只用部分項,其余則棄之不用。,25,2塊設(shè)備表,struct iobuf int b_flags; /* 該設(shè)備隊列的狀況標(biāo)志 */ struct

14、 buf *b_forw; /* 指向本設(shè)備的第一個緩沖區(qū) */ struct buf *b_back; /指向本設(shè)備的最后一個緩沖區(qū) struct buf *b_actf; /* 指向本設(shè)備I/O請求隊列 中第一個緩沖區(qū) */ struct buf *b_actl; /* 指向本設(shè)備I/O請求隊列 中最后一個緩沖區(qū) */ dev_t b_dev; /* 設(shè)備名 */ char b_active; /設(shè)備正在執(zhí)行一個I/O請求的標(biāo)志 chat b_errcnt; /* 出錯計數(shù) */ ;,26,3塊設(shè)備開關(guān)表,存放各類塊設(shè)備管理程序的入口地址 struct bdevsw int (*d_ope

15、n)(); /* 打開函數(shù)入口 */ int (*d_close)(); /* 關(guān)閉函數(shù)入口 */ int (*d_strategy)(); /* 啟動函數(shù)入口 */ int (*d_print)(); /* 打印函數(shù)入口 */ ; 設(shè)備表和設(shè)備開關(guān)表集中了與設(shè)備有關(guān)的特性及其管理、使用的信息,也體現(xiàn)了UNIX中把設(shè)備的物理特性和使用情況與設(shè)備管理的基本方式分隔開來的主要思想。,27,5.7.2 UNIX系統(tǒng)V的緩沖區(qū)管理,1. 多種緩沖區(qū)管理隊列 系統(tǒng)設(shè)置了多種隊列對所有緩沖區(qū)進行管理,因為buf記錄了與緩沖區(qū)有關(guān)的各種管理信息,所以緩沖區(qū)管理隊列實際上是緩存控制塊buf隊列。 (1)自由b

16、uf隊列 系統(tǒng)把空閑緩沖區(qū)的buf組成空閑buf隊列,即自由buf隊列。這個隊列是雙向鏈結(jié)構(gòu),隊首塊為bfreelist,bfreelist和自由buf通過av_forw和av_back作為雙向指針,見圖5-9。,28,圖5-9 自由buf隊列,29,(2)設(shè)備緩沖區(qū)隊列,設(shè)備緩沖區(qū)隊列連接所有各類設(shè)備使用過的緩沖區(qū),這也是一個雙向隊列,buf中的b_forw和b_back分別為該隊列的前指針和后指針,頭部為hbuf,共64個隊列。如圖5-10所示。 一個緩沖區(qū)被分配用于讀、寫某個設(shè)備的字符塊時,其相應(yīng)的buf就進入該設(shè)備的設(shè)備buf隊列,并一直保留在該設(shè)備buf隊列中,除非被移作它用。 系統(tǒng)

17、V與第六版有所不同,不是每個塊設(shè)備一個緩沖隊列,同一個塊設(shè)備的緩沖區(qū)可以分布在不同的散列隊列,不同設(shè)備的緩沖分布均勻,加快緩沖區(qū)的搜索速度。,30,圖5-10 設(shè)備buf隊列,31,(3)空設(shè)備隊列(NODEV隊列),NODEV隊列是一個特殊的設(shè)備buf隊列。當(dāng)系統(tǒng)需要緩存,但它不與特定的設(shè)備字符塊相關(guān)聯(lián)時,將分配到的緩存控制塊buf送入NODEV隊列。其隊列控制塊也是bfreelist,用的指針是b_forw和b_back。 在UNIX中有兩種情況將buf送入NODEV隊列。 一種是在進程執(zhí)行一個目標(biāo)程序的開始階段,它用緩存存放傳向該目標(biāo)程序的參數(shù); 另一種情況是用緩存存放文件系統(tǒng)的資源管理

18、塊。在系統(tǒng)初啟時,所有空閑緩沖區(qū)的buf既在自由buf隊列,又在NODEV的設(shè)備buf隊列中。,32,(4)設(shè)備I/O請求隊列,每個塊設(shè)備有一個設(shè)備I/O請求隊列,單向連接,頭部為iobuf,b_actf和b_actl分別指向隊首和隊尾。 四個隊列所屬緩沖區(qū)之間的關(guān)系總結(jié) (1)任何一個緩沖區(qū)在穩(wěn)定的狀態(tài)下,同時屬于二個隊列。 (2)在自由buf隊列中緩沖區(qū)可能同時屬于NODEV隊列(未分配給指定設(shè)備),也可能屬于設(shè)備buf隊列(已經(jīng)分配給某設(shè)備用過,因I/O結(jié)束而釋放)。 (3)在設(shè)備buf隊列中的緩沖區(qū),可能掛在自由buf隊列(已用過被釋放),也可能掛在設(shè)備I/O請求隊列(正在使用)。 (

19、4)在NODEV隊列中的緩沖區(qū)如已用過被釋放,肯定在自由buf隊列中。 (5)在設(shè)備I/O請求隊列中的緩沖區(qū)則肯定屬于設(shè)備buf隊列。,33,2. 緩沖區(qū)管理算法,1. 一個緩存剛分配用于讀寫某一塊設(shè)備,buf的b_flags含有B_BUSY標(biāo)志。它一定位于相應(yīng)設(shè)備buf隊列,不在自由隊列。 2 一旦讀寫完成,就釋放緩存,清B_BUSY標(biāo)志。送入自由隊列尾,但仍留在原設(shè)備隊列。 3. 特點和好處: 一個緩存既在設(shè)備隊列,又在自由隊列,只要還要重復(fù)使用原設(shè)備隊列中該緩存內(nèi)容,就只要簡單地將其從自由隊列抽出即可,避免了重復(fù)I/O。 有必要可將緩存重新分配它用,將它從自由隊列首和原設(shè)備隊列同時抽出,

20、送入新的設(shè)備隊列。操作完成后仍留在新的設(shè)備隊列并送入自由隊列。,34,4. 為使一個已釋放地緩存盡可能長地保持原先內(nèi)容,以增加重復(fù)使用可能,將其送入自由隊列尾,分配作它用緩存從自由隊列首?。‵IFO)。 5. 當(dāng)一個buf在自由隊列中移動時,只要原設(shè)備隊列又重新使用它,立即將其從自由隊列中間抽取,使用完畢,再次送入自由隊列尾(LRU算法)。 6對于寫,如一塊未寫滿,在b_flags中設(shè)置B_DELWRI標(biāo)志,推遲寫,再清B_BUSY,釋放至自由隊列尾。 7. 當(dāng)設(shè)置B_DELWRI標(biāo)志的緩存排到自由隊列首時,不能立即淘汰,它作重新分配處理,而是提出I/O,將其內(nèi)容復(fù)制到塊設(shè)備后,再次釋放到自由

21、隊列尾( 也有釋放到自由隊列首) ,也清B_DELWRI標(biāo)志。,35,自由隊列,設(shè)備隊列,36,3. 緩沖區(qū)的分配和釋放,getblk(dev,blkno) while(未找到相應(yīng)buf) if(盤塊在設(shè)備buf隊列中) if(buf忙) / b_flags /* 回到while循環(huán) */ ,37,從自由隊列中移走該buf; if(buf標(biāo)志為“延遲寫”) / B_DELWRI 異步寫buf到相應(yīng)設(shè)備上; continue; /* 回到while循環(huán) */ 從原來的設(shè)備buf隊列中移走該buf; /* 找到空閑的buf */ 把它放在新的設(shè)備buf隊列中; return(buf); ,38,b

22、relse(bp) 喚醒所有等待自由隊列成為“非空”的進程; 喚醒所有等待本buf成為空閑的進程; 提升處理機執(zhí)行級別,屏蔽中斷; if(buf內(nèi)容有效且不是過時的) 把本buf放入自由隊列末尾; /* 以備 將來使用 */ else /* 如偶爾遇到出錯 */ 把本buf放入自由隊列的開頭; /* 以后很少使用它 */ 降低處理機執(zhí)行級別,開放中斷; 解除封鎖(buf); ,39,5.7.3 塊設(shè)備管理,bread(dev,blkno) 為邏輯塊找一個緩沖區(qū)(getblk); if(緩沖區(qū)數(shù)據(jù)有效) return(buf); 啟動磁盤讀; sleep(盤塊讀完);/* 等待盤I/O完成中斷

23、*/ return(buf); ,40,預(yù)讀盤塊程序breada,當(dāng)一個進程順序讀取文件時,為加快它的前進速度,提高CPU和塊設(shè)備工作的并行程度 核心檢查第一塊是否在緩沖區(qū)中,如不在,則調(diào)用磁盤驅(qū)動程序讀該塊。如第二塊不在緩沖區(qū)中,核心指示盤驅(qū)動程序異步讀它。然后進程睡眠,等待第一塊I/O完成。 該進程被喚醒后就返回第一塊的buf,而不管第二塊是否讀完。以后,當(dāng)?shù)诙K讀完后,產(chǎn)生盤I/O中斷,由中斷處理程序識別異步讀完成,并釋放相應(yīng)的buf。,41,5.8 設(shè)備分配,1. 設(shè)備分配方式 靜態(tài)分配 作業(yè)運行之前由系統(tǒng)一次分配滿足需要的全部設(shè)備 動態(tài)分配 在進程運行的過程中進行分配的,當(dāng)進程需要使

24、用設(shè)備時,系統(tǒng)按一定的分配策略給進程分配所需設(shè)備,一旦使用完畢立即釋放。,42,2. 設(shè)備分配的原則,先請求先服務(wù)和按請求I/O的進程的優(yōu)先級決定。 要使用設(shè)備時必須提供進行I/O操作的有關(guān)信息,指出執(zhí)行I/O的邏輯設(shè)備名(如設(shè)備號)、操作類型、傳送數(shù)據(jù)的數(shù)目、信息源或目的地址等。 存放進行I/O操作的信息的結(jié)構(gòu)稱為I/O請求塊。如在UNIX系統(tǒng)中,系統(tǒng)的I/O請求塊的內(nèi)容是包含在緩沖區(qū)控制塊buf中。 在請求I/O時,首先請求分配緩沖區(qū),然后把與操作有關(guān)的信息寫到buf中,并把這個buf掛到請求設(shè)備的I/O請求隊列中去如圖5-13所示。,43,b_actf b_actl,av_forw,av

25、_forw,av_forw,iobuf,buf,buf,swbuf,圖5-13 設(shè)備I/O請求隊列,44,5.10 Solaris的I/O子系統(tǒng),內(nèi)核為應(yīng)用程序提供了一組系統(tǒng)調(diào)用,其中某些系統(tǒng)調(diào)用將調(diào)用設(shè)備驅(qū)動程序執(zhí)行I/O操作。 在Solaris操作系統(tǒng)中,設(shè)備驅(qū)動程序(device driver)是可加載的內(nèi)核模塊,負責(zé)管理I/O設(shè)備,并且使操作系統(tǒng)的其余部分與設(shè)備硬件隔離開來。 Solaris的設(shè)計也遵循了UNIX系統(tǒng)理念。把設(shè)備看成文件,可以將設(shè)備與文件統(tǒng)一管理,例如,采用統(tǒng)一的命名方式和統(tǒng)一的權(quán)限管理方式,這樣可以簡化設(shè)備管理過程。在塊設(shè)備驅(qū)動程序和字符設(shè)備驅(qū)動程序之上都有一層文件系統(tǒng),這體現(xiàn)了將設(shè)備與文件統(tǒng)一管理的設(shè)計思想。,45,對干不同的設(shè)備,其文件系統(tǒng)層的“厚度”是不同的。 對于磁盤這類結(jié)構(gòu)性很強、操作很復(fù)雜的設(shè)備,其文件系統(tǒng)很“厚”,這是因為系統(tǒng)中存在著兩層抽象:一層抽象是將柱面、磁道、扇區(qū)表示的磁盤物理空間抽象成由數(shù)據(jù)塊組成的線性空間,另一層抽象是將數(shù)據(jù)塊組織成文件。 下一層抽象由磁盤設(shè)備驅(qū)動程序?qū)崿F(xiàn),上一

溫馨提示

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

評論

0/150

提交評論