《操作系統(tǒng)》第十一章:磁盤(pán)與文件_第1頁(yè)
《操作系統(tǒng)》第十一章:磁盤(pán)與文件_第2頁(yè)
《操作系統(tǒng)》第十一章:磁盤(pán)與文件_第3頁(yè)
《操作系統(tǒng)》第十一章:磁盤(pán)與文件_第4頁(yè)
《操作系統(tǒng)》第十一章:磁盤(pán)與文件_第5頁(yè)
已閱讀5頁(yè),還剩34頁(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)介

11.1磁盤(pán)結(jié)構(gòu)11.2磁盤(pán)調(diào)度11.3磁盤(pán)編址11.4文件概念及實(shí)現(xiàn)方法主要內(nèi)容第11章磁盤(pán)與文件認(rèn)識(shí)計(jì)算機(jī)外設(shè)與計(jì)算機(jī)!PCI總線圖形控制器IDE控制器總線控制器CPU-內(nèi)存總線對(duì)我們來(lái)說(shuō),磁盤(pán)無(wú)疑是最重要的設(shè)備,我們下載的電影放在這里,我們寫(xiě)的論文也放在這里…11.1磁盤(pán)結(jié)構(gòu)首先需要了解磁盤(pán)!認(rèn)識(shí)一下磁盤(pán)認(rèn)識(shí)一下磁盤(pán)磁盤(pán)面柱面c扇區(qū)s磁道t旋轉(zhuǎn)磁臂轉(zhuǎn)軸機(jī)械臂桿讀寫(xiě)磁頭認(rèn)識(shí)一下磁盤(pán)磁道扇區(qū)盤(pán)面畫(huà)一個(gè)示意圖:看看俯視圖:磁盤(pán)的數(shù)據(jù)單位是扇區(qū)扇區(qū)大?。?12字節(jié)扇區(qū)是磁盤(pán)的尋址單位、訪問(wèn)單位扇區(qū)的大小是傳輸時(shí)間和碎片浪費(fèi)的折衷所以,磁盤(pán)被稱(chēng)為塊設(shè)備!磁盤(pán)的I/O總線控制器IDE控制器讓我們仔細(xì)想想磁盤(pán)如何讀/寫(xiě)1一個(gè)字節(jié)?(1)(2)(3)分析磁盤(pán)I/O的重點(diǎn)在于第2步!磁道內(nèi)存緩存讀出了一個(gè)字節(jié)寫(xiě)(修改)一個(gè)字節(jié)磁盤(pán)I/O:緩存隊(duì)列

控制器

尋道

旋轉(zhuǎn)

傳輸!磁盤(pán)I/O的分析整理磁盤(pán)I/O的過(guò)程:進(jìn)程請(qǐng)求隊(duì)列磁盤(pán)控制器磁盤(pán)我們最關(guān)心的磁盤(pán)什么時(shí)候讀/寫(xiě)完?磁盤(pán)訪問(wèn)延遲=隊(duì)列時(shí)間

+控制器時(shí)間

+

尋道時(shí)間

+旋轉(zhuǎn)時(shí)間

+傳輸時(shí)間扇區(qū)磁道Head12msto8ms(半周):8msto4ms約0.25ms前兩項(xiàng)可以忽略!關(guān)鍵所在:最小化尋道時(shí)間和旋轉(zhuǎn)延遲!I/O過(guò)程是解開(kāi)許多磁盤(pán)問(wèn)題的鑰匙分析磁盤(pán)扇區(qū)尺寸:磁盤(pán)訪問(wèn)延遲=隊(duì)列時(shí)間

+控制器時(shí)間

+

尋道時(shí)間

+旋轉(zhuǎn)時(shí)間

+傳輸時(shí)間12~8ms8~4ms約0.25ms前兩項(xiàng)可以忽略!扇區(qū)尺寸為1byte:沒(méi)有碎片;傳輸速度100byte/秒(尋道時(shí)間10ms)扇區(qū)尺寸1KByte:碎片0.5K;傳輸100KByte/秒扇區(qū)尺寸1MByte:碎片0.5M;傳輸4Mbyte/秒扇區(qū)大小空間利用率傳輸速度I/O過(guò)程是解開(kāi)許多磁盤(pán)問(wèn)題的鑰匙磁盤(pán)調(diào)度:磁盤(pán)訪問(wèn)延遲=隊(duì)列時(shí)間

+控制器時(shí)間

+

尋道時(shí)間

+旋轉(zhuǎn)時(shí)間

+傳輸時(shí)間12msto8ms8msto4ms約0.25ms前兩項(xiàng)可以忽略!多個(gè)磁盤(pán)訪問(wèn)請(qǐng)求出現(xiàn)在請(qǐng)求隊(duì)列怎么辦?調(diào)度調(diào)度的目標(biāo)是什么?調(diào)度時(shí)主要考察什么?目標(biāo)當(dāng)然是平均訪問(wèn)延遲小!尋道時(shí)間是主要矛盾!磁盤(pán)調(diào)度:輸入多個(gè)磁道請(qǐng)求,給出服務(wù)順序!11.2磁盤(pán)調(diào)度磁盤(pán)讀寫(xiě)請(qǐng)求頻繁發(fā)生,

如何盡快響應(yīng)?FCFS磁盤(pán)調(diào)度最直觀、最公平的調(diào)度:一個(gè)實(shí)例:磁頭開(kāi)始位置=53;請(qǐng)求隊(duì)列=98,183,37,122,14,124,65,670143753656798122124183199磁頭在長(zhǎng)途奔襲!FCFS:磁頭共移動(dòng)640磁道!在移動(dòng)過(guò)程中把經(jīng)過(guò)的請(qǐng)求處理了?!183-53=130183-37=146122-37=85122-14=108124-14=110124-65=5967-65=2130+146+85+108+110+59+2=640SSTF磁盤(pán)調(diào)度Shortest-seek-timeFirst最短尋道時(shí)間優(yōu)先:繼續(xù)該實(shí)例:磁頭開(kāi)始位置=53;請(qǐng)求隊(duì)列=98,183,37,122,14,124,65,670143753656798122124183199如果在處理183之前又來(lái)一些中間磁道的請(qǐng)求,則…SSTF:磁頭共移動(dòng)236(4+53+169)磁道,要少很多!SSTF存在饑餓問(wèn)題SCAN磁盤(pán)調(diào)度(掃描/電梯算法)SSTF+中途不回折:每個(gè)請(qǐng)求都有處理機(jī)會(huì)繼續(xù)該實(shí)例:磁頭開(kāi)始位置=53;請(qǐng)求隊(duì)列=98,183,37,122,14,124,65,670143753656798122124183199這些請(qǐng)求的等待時(shí)間較長(zhǎng),只因所在方向不夠幸運(yùn)!根據(jù)其特征,SCAN也被稱(chēng)為電梯算法!SCAN:磁頭共移動(dòng)53+183=236磁道,和SSTF一樣!SCAN導(dǎo)致延遲不均C-SCAN磁盤(pán)調(diào)度SCAN+直接移到另一端:兩端請(qǐng)求都能很快處理繼續(xù)該實(shí)例:磁頭開(kāi)始位置=53;請(qǐng)求隊(duì)列=98,183,37,122,14,124,65,670143753656798122124183199CSCAN中的Circular是環(huán)的意思!CSCAN:磁頭共移動(dòng)188+200磁道!其中200會(huì)較快!14

0(183199)沒(méi)有必要C-LOOK磁盤(pán)調(diào)度CSCAN+看一看:前面沒(méi)有請(qǐng)求就回移繼續(xù)該實(shí)例:磁頭開(kāi)始位置=53;請(qǐng)求隊(duì)列=98,183,37,122,14,124,65,670143753656798122124183199LOOK和C-LOOK是比較合理的缺省算法操作系統(tǒng)中所有的算法都要因地制宜!11.3磁盤(pán)編址如何管理磁盤(pán),

首先對(duì)磁盤(pán)的扇區(qū)進(jìn)行編號(hào)!

出廠的磁盤(pán)需要低級(jí)格式化(物理格式化):

將連續(xù)的磁性記錄材料分成物理扇區(qū)

扇區(qū)

=頭+數(shù)據(jù)區(qū)+尾頭、尾中包含只有磁盤(pán)控制器能識(shí)別的扇區(qū)號(hào)碼和糾錯(cuò)碼等信息什么是磁盤(pán)的邏輯格式化?第12章文件系統(tǒng)!I/O過(guò)程是解開(kāi)許多磁盤(pán)問(wèn)題的鑰匙磁盤(pán)尋址:對(duì)于內(nèi)存,我們往往更關(guān)心存放內(nèi)容的地址實(shí)際上就是扇區(qū)怎么編址?顯然這個(gè)地址是(盤(pán)面+

磁道+

扇區(qū))尋道和旋轉(zhuǎn)費(fèi)時(shí)多

花最少時(shí)間訪問(wèn)最多扇區(qū)的方案:磁臂不動(dòng)、磁盤(pán)旋轉(zhuǎn)一周,訪問(wèn)磁頭遇到的所有扇區(qū)。磁臂讓這些扇區(qū)的編址鄰近:因?yàn)榫植啃?柱面!扇區(qū)編址(1):CHS(Cylinder/Head/Sector)扇區(qū)編址(2):扇區(qū)編號(hào)已知A,則s=A%S;h=[A/S]%H;c=[A/(H*S)]扇區(qū)編號(hào)—現(xiàn)代磁盤(pán)的常見(jiàn)尋址方式磁臂扇區(qū)編號(hào),按照(C,H,S)將扇區(qū)形成一維扇區(qū)數(shù)組,數(shù)組索引就是扇區(qū)編號(hào)柱面0柱面1柱面C-1…整個(gè)磁盤(pán)磁道0磁道1磁道H-1…一個(gè)柱面扇區(qū)0扇區(qū)1扇區(qū)S-1…一個(gè)磁道某扇區(qū)總編號(hào)A=c*H*S+h*S+s扇區(qū)總數(shù)

=C*H*S體現(xiàn)了局部性!柱面編號(hào)c(0≤c≤C-1)柱面內(nèi)磁道(磁頭)編號(hào)h(0≤h≤H-1)磁道內(nèi)扇區(qū)編號(hào)s(0≤s≤S-1)想一想……磁盤(pán)驅(qū)動(dòng)應(yīng)如何實(shí)現(xiàn)?Linux0.11下實(shí)現(xiàn)磁盤(pán)讀寫(xiě)驅(qū)動(dòng)片段進(jìn)程I/O整個(gè)過(guò)程貫穿第1步:得到要訪問(wèn)的扇區(qū)編號(hào);

得到讀盤(pán)的目標(biāo)(或?qū)懕P(pán)的源)內(nèi)存地址算法輸入!第2步:將扇區(qū)編號(hào)和內(nèi)存地址寫(xiě)給DMA;然后阻塞進(jìn)程查手冊(cè)、寫(xiě)端口!第3步:DMA處理完成后中斷CPU;中斷處理程序喚醒阻塞進(jìn)程編寫(xiě)中斷處理程序!第4步:進(jìn)程繼續(xù)…獲得編號(hào)是使用磁盤(pán)的關(guān)鍵!Exampleharddisklayout硬盤(pán)布局Exampleharddisklayout

物理盤(pán)以扇區(qū)(一般為512字節(jié))為單位

進(jìn)行編址,它是硬盤(pán)讀寫(xiě)的基本單位一塊硬盤(pán)從邏輯上可以理解為連續(xù)的一

維扇區(qū)序列硬盤(pán)布局Exampleharddisklayout

整個(gè)硬盤(pán)的第1個(gè)扇區(qū)存儲(chǔ)著“主引導(dǎo)記錄(MBR)”:

<1>引導(dǎo)可執(zhí)行代碼

<2>硬盤(pán)基本分區(qū)表最多包含4個(gè)基本分區(qū)位置信息

硬盤(pán)布局Exampleharddisklayout

除了第1個(gè)扇區(qū)之外,其余扇區(qū)可以

劃分為至多4個(gè)基本分區(qū)每個(gè)分區(qū)的第1個(gè)扇區(qū)預(yù)留,可以作

為引導(dǎo)扇區(qū)硬盤(pán)布局Exampleharddisklayout

每個(gè)分區(qū)除第1個(gè)扇區(qū)外的其他部分還

可以看做一個(gè)硬盤(pán),繼續(xù)分區(qū)

這樣的分區(qū)可以無(wú)限制地重復(fù)進(jìn)行,直

到硬盤(pán)劃分完成為止硬盤(pán)布局Exampleharddisklayout

概念

扇區(qū)-物理盤(pán)存儲(chǔ)空間基本編址單位,一般為512字節(jié)

主引導(dǎo)記錄MBR

-硬盤(pán)的第1個(gè)扇區(qū)的內(nèi)容,含引導(dǎo)代碼和主分區(qū)表

分區(qū)-硬盤(pán)中可以作為邏輯盤(pán)管理的一組扇區(qū)集合

可擴(kuò)展分區(qū)-可以繼續(xù)劃分成“分區(qū)”的硬盤(pán)分區(qū)

引導(dǎo)分區(qū)-標(biāo)記有可引導(dǎo)標(biāo)記的硬盤(pán)分區(qū),這種分區(qū)有引

導(dǎo)扇區(qū)和引導(dǎo)文件

引導(dǎo)扇區(qū)-引導(dǎo)分區(qū)的第1個(gè)扇區(qū)

可擴(kuò)展分區(qū)引導(dǎo)記錄-可擴(kuò)展分區(qū)中第2個(gè)扇區(qū)中的內(nèi)容問(wèn)題:硬盤(pán)中每個(gè)分區(qū)都有引導(dǎo)扇區(qū)嗎?硬盤(pán)布局直接使用扇區(qū)編號(hào)尋址磁盤(pán)嗎?磁盤(pán)頁(yè)表物理內(nèi)存請(qǐng)求調(diào)頁(yè)—頁(yè)面置換load[addr]i頁(yè)錯(cuò)誤處理程序(1)(2)(3)(4)(5)(6)交換出去的頁(yè)面放在哪里?交換出去交換分區(qū)問(wèn)題的關(guān)鍵是寫(xiě)到磁盤(pán)的什么位置?交換出去的頁(yè)面顯然要寫(xiě)到磁盤(pán)上如果是代碼段和數(shù)據(jù)段,直接寫(xiě)到可執(zhí)行文件中如果是堆棧段呢?創(chuàng)建一個(gè)文件嗎?變成了頁(yè)面

文件

扇區(qū)映射關(guān)系,顯然是低效的應(yīng)該是直接“頁(yè)面

扇區(qū)”P(pán)TEP=0換出地址為提高效率,這部分磁盤(pán)不存文件,直接用扇區(qū)號(hào)尋址。(交換分區(qū))這樣使用的磁盤(pán)稱(chēng)為生磁盤(pán)(rawdisk)Linux交換分區(qū)安裝Linux時(shí),需創(chuàng)建一硬盤(pán)分區(qū)作為交換分區(qū)fdisk命令可以查看分區(qū)信息因?yàn)榻粨Q分區(qū)要和內(nèi)存不斷交換,所以是動(dòng)態(tài)變化的swap分區(qū)的大小通常是內(nèi)存大小的兩倍為什么引入文件?

—“烹調(diào)”磁盤(pán)11.4文件概念及實(shí)現(xiàn)方法為什么引入文件?讓普通用戶使用rawdisk:

許多人連扇區(qū)都不知道是什么?要求他們根據(jù)扇區(qū)編號(hào)來(lái)訪問(wèn)磁盤(pán)…需要在扇區(qū)上引入更高一層次的抽象概念!文件首先想一想用戶眼里的文件是什么樣子?字符序列(字符流)磁盤(pán)上的文件是什么樣子?扇區(qū)集合文件:建立字符流到扇區(qū)集合的映射關(guān)系文件概念建立字符流到盤(pán)塊集合的映射關(guān)系看一個(gè)例子intmain(){…

test.c將2-12字符刪去test.c中的2-12字符對(duì)應(yīng)盤(pán)塊789讀入、修改、讀出文件:按用戶邏輯地址連續(xù)“排列”的盤(pán)塊集合為增加靈活性,OS又將多個(gè)連續(xù)扇區(qū)定義為盤(pán)塊文件的實(shí)現(xiàn)文件抽象概念的實(shí)現(xiàn)關(guān)鍵:描述這一映射關(guān)系文件實(shí)現(xiàn)1:物理盤(pán)塊連續(xù)分配intmain(){…

test.c012345678910111213141516171819202122232425262728293031test.cftrmaillist需存放什么信息?起始盤(pán)塊和盤(pán)塊個(gè)數(shù)存放在哪里?文件描述信息節(jié)點(diǎn)中名字很多:FCB,FileHeader等文件名

始址塊數(shù)test.c04test.c的FileHeader優(yōu)點(diǎn)簡(jiǎn)單快速,缺點(diǎn)碎片多文件f的起始?jí)K=?塊數(shù)=?文件實(shí)現(xiàn)2:鏈?zhǔn)椒峙鋓ntmain(){…

test.c文件名始址test.c1test.c的FileHeader優(yōu)點(diǎn):文件長(zhǎng)度增減容易01234567891011121314151617181920212223242526272829303110-1917test.cNullFileHeader缺點(diǎn):順序訪問(wèn)、可靠性差文件實(shí)現(xiàn)3:索引分配intmain(){…

test.c優(yōu)點(diǎn):是連續(xù)和鏈?zhǔn)椒峙涞挠行д壑?1234567891011121314151617181920212223242526272829

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論