版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
11.1磁盤結(jié)構(gòu)11.2磁盤調(diào)度11.3磁盤編址11.4文件概念及實(shí)現(xiàn)方法主要內(nèi)容第11章磁盤與文件認(rèn)識計(jì)算機(jī)外設(shè)與計(jì)算機(jī)!PCI總線圖形控制器IDE控制器總線控制器CPU-內(nèi)存總線對我們來說,磁盤無疑是最重要的設(shè)備,我們下載的電影放在這里,我們寫的論文也放在這里…11.1磁盤結(jié)構(gòu)首先需要了解磁盤!認(rèn)識一下磁盤認(rèn)識一下磁盤磁盤面柱面c扇區(qū)s磁道t旋轉(zhuǎn)磁臂轉(zhuǎn)軸機(jī)械臂桿讀寫磁頭認(rèn)識一下磁盤磁道扇區(qū)盤面畫一個(gè)示意圖:看看俯視圖:磁盤的數(shù)據(jù)單位是扇區(qū)扇區(qū)大小:512字節(jié)扇區(qū)是磁盤的尋址單位、訪問單位扇區(qū)的大小是傳輸時(shí)間和碎片浪費(fèi)的折衷所以,磁盤被稱為塊設(shè)備!磁盤的I/O總線控制器IDE控制器讓我們仔細(xì)想想磁盤如何讀/寫1一個(gè)字節(jié)?(1)(2)(3)分析磁盤I/O的重點(diǎn)在于第2步!磁道內(nèi)存緩存讀出了一個(gè)字節(jié)寫(修改)一個(gè)字節(jié)磁盤I/O:緩存隊(duì)列
控制器
尋道
旋轉(zhuǎn)
傳輸!磁盤I/O的分析整理磁盤I/O的過程:進(jìn)程請求隊(duì)列磁盤控制器磁盤我們最關(guān)心的磁盤什么時(shí)候讀/寫完?磁盤訪問延遲=隊(duì)列時(shí)間
+控制器時(shí)間
+
尋道時(shí)間
+旋轉(zhuǎn)時(shí)間
+傳輸時(shí)間扇區(qū)磁道Head12msto8ms(半周):8msto4ms約0.25ms前兩項(xiàng)可以忽略!關(guān)鍵所在:最小化尋道時(shí)間和旋轉(zhuǎn)延遲!I/O過程是解開許多磁盤問題的鑰匙分析磁盤扇區(qū)尺寸:磁盤訪問延遲=隊(duì)列時(shí)間
+控制器時(shí)間
+
尋道時(shí)間
+旋轉(zhuǎn)時(shí)間
+傳輸時(shí)間12~8ms8~4ms約0.25ms前兩項(xiàng)可以忽略!扇區(qū)尺寸為1byte:沒有碎片;傳輸速度100byte/秒(尋道時(shí)間10ms)扇區(qū)尺寸1KByte:碎片0.5K;傳輸100KByte/秒扇區(qū)尺寸1MByte:碎片0.5M;傳輸4Mbyte/秒扇區(qū)大小空間利用率傳輸速度I/O過程是解開許多磁盤問題的鑰匙磁盤調(diào)度:磁盤訪問延遲=隊(duì)列時(shí)間
+控制器時(shí)間
+
尋道時(shí)間
+旋轉(zhuǎn)時(shí)間
+傳輸時(shí)間12msto8ms8msto4ms約0.25ms前兩項(xiàng)可以忽略!多個(gè)磁盤訪問請求出現(xiàn)在請求隊(duì)列怎么辦?調(diào)度調(diào)度的目標(biāo)是什么?調(diào)度時(shí)主要考察什么?目標(biāo)當(dāng)然是平均訪問延遲小!尋道時(shí)間是主要矛盾!磁盤調(diào)度:輸入多個(gè)磁道請求,給出服務(wù)順序!11.2磁盤調(diào)度磁盤讀寫請求頻繁發(fā)生,
如何盡快響應(yīng)?FCFS磁盤調(diào)度最直觀、最公平的調(diào)度:一個(gè)實(shí)例:磁頭開始位置=53;請求隊(duì)列=98,183,37,122,14,124,65,670143753656798122124183199磁頭在長途奔襲!FCFS:磁頭共移動640磁道!在移動過程中把經(jīng)過的請求處理了?!183-53=130183-37=146122-37=85122-14=108124-14=110124-65=5967-65=2130+146+85+108+110+59+2=640SSTF磁盤調(diào)度Shortest-seek-timeFirst最短尋道時(shí)間優(yōu)先:繼續(xù)該實(shí)例:磁頭開始位置=53;請求隊(duì)列=98,183,37,122,14,124,65,670143753656798122124183199如果在處理183之前又來一些中間磁道的請求,則…SSTF:磁頭共移動236(4+53+169)磁道,要少很多!SSTF存在饑餓問題SCAN磁盤調(diào)度(掃描/電梯算法)SSTF+中途不回折:每個(gè)請求都有處理機(jī)會繼續(xù)該實(shí)例:磁頭開始位置=53;請求隊(duì)列=98,183,37,122,14,124,65,670143753656798122124183199這些請求的等待時(shí)間較長,只因所在方向不夠幸運(yùn)!根據(jù)其特征,SCAN也被稱為電梯算法!SCAN:磁頭共移動53+183=236磁道,和SSTF一樣!SCAN導(dǎo)致延遲不均C-SCAN磁盤調(diào)度SCAN+直接移到另一端:兩端請求都能很快處理繼續(xù)該實(shí)例:磁頭開始位置=53;請求隊(duì)列=98,183,37,122,14,124,65,670143753656798122124183199CSCAN中的Circular是環(huán)的意思!CSCAN:磁頭共移動188+200磁道!其中200會較快!14
0(183199)沒有必要C-LOOK磁盤調(diào)度CSCAN+看一看:前面沒有請求就回移繼續(xù)該實(shí)例:磁頭開始位置=53;請求隊(duì)列=98,183,37,122,14,124,65,670143753656798122124183199LOOK和C-LOOK是比較合理的缺省算法操作系統(tǒng)中所有的算法都要因地制宜!11.3磁盤編址如何管理磁盤,
首先對磁盤的扇區(qū)進(jìn)行編號!
出廠的磁盤需要低級格式化(物理格式化):
將連續(xù)的磁性記錄材料分成物理扇區(qū)
扇區(qū)
=頭+數(shù)據(jù)區(qū)+尾頭、尾中包含只有磁盤控制器能識別的扇區(qū)號碼和糾錯(cuò)碼等信息什么是磁盤的邏輯格式化?第12章文件系統(tǒng)!I/O過程是解開許多磁盤問題的鑰匙磁盤尋址:對于內(nèi)存,我們往往更關(guān)心存放內(nèi)容的地址實(shí)際上就是扇區(qū)怎么編址?顯然這個(gè)地址是(盤面+
磁道+
扇區(qū))尋道和旋轉(zhuǎn)費(fèi)時(shí)多
花最少時(shí)間訪問最多扇區(qū)的方案:磁臂不動、磁盤旋轉(zhuǎn)一周,訪問磁頭遇到的所有扇區(qū)。磁臂讓這些扇區(qū)的編址鄰近:因?yàn)榫植啃?柱面!扇區(qū)編址(1):CHS(Cylinder/Head/Sector)扇區(qū)編址(2):扇區(qū)編號已知A,則s=A%S;h=[A/S]%H;c=[A/(H*S)]扇區(qū)編號—現(xiàn)代磁盤的常見尋址方式磁臂扇區(qū)編號,按照(C,H,S)將扇區(qū)形成一維扇區(qū)數(shù)組,數(shù)組索引就是扇區(qū)編號柱面0柱面1柱面C-1…整個(gè)磁盤磁道0磁道1磁道H-1…一個(gè)柱面扇區(qū)0扇區(qū)1扇區(qū)S-1…一個(gè)磁道某扇區(qū)總編號A=c*H*S+h*S+s扇區(qū)總數(shù)
=C*H*S體現(xiàn)了局部性!柱面編號c(0≤c≤C-1)柱面內(nèi)磁道(磁頭)編號h(0≤h≤H-1)磁道內(nèi)扇區(qū)編號s(0≤s≤S-1)想一想……磁盤驅(qū)動應(yīng)如何實(shí)現(xiàn)?Linux0.11下實(shí)現(xiàn)磁盤讀寫驅(qū)動片段進(jìn)程I/O整個(gè)過程貫穿第1步:得到要訪問的扇區(qū)編號;
得到讀盤的目標(biāo)(或?qū)懕P的源)內(nèi)存地址算法輸入!第2步:將扇區(qū)編號和內(nèi)存地址寫給DMA;然后阻塞進(jìn)程查手冊、寫端口!第3步:DMA處理完成后中斷CPU;中斷處理程序喚醒阻塞進(jìn)程編寫中斷處理程序!第4步:進(jìn)程繼續(xù)…獲得編號是使用磁盤的關(guān)鍵!Exampleharddisklayout硬盤布局Exampleharddisklayout
物理盤以扇區(qū)(一般為512字節(jié))為單位
進(jìn)行編址,它是硬盤讀寫的基本單位一塊硬盤從邏輯上可以理解為連續(xù)的一
維扇區(qū)序列硬盤布局Exampleharddisklayout
整個(gè)硬盤的第1個(gè)扇區(qū)存儲著“主引導(dǎo)記錄(MBR)”:
<1>引導(dǎo)可執(zhí)行代碼
<2>硬盤基本分區(qū)表最多包含4個(gè)基本分區(qū)位置信息
硬盤布局Exampleharddisklayout
除了第1個(gè)扇區(qū)之外,其余扇區(qū)可以
劃分為至多4個(gè)基本分區(qū)每個(gè)分區(qū)的第1個(gè)扇區(qū)預(yù)留,可以作
為引導(dǎo)扇區(qū)硬盤布局Exampleharddisklayout
每個(gè)分區(qū)除第1個(gè)扇區(qū)外的其他部分還
可以看做一個(gè)硬盤,繼續(xù)分區(qū)
這樣的分區(qū)可以無限制地重復(fù)進(jìn)行,直
到硬盤劃分完成為止硬盤布局Exampleharddisklayout
概念
扇區(qū)-物理盤存儲空間基本編址單位,一般為512字節(jié)
主引導(dǎo)記錄MBR
-硬盤的第1個(gè)扇區(qū)的內(nèi)容,含引導(dǎo)代碼和主分區(qū)表
分區(qū)-硬盤中可以作為邏輯盤管理的一組扇區(qū)集合
可擴(kuò)展分區(qū)-可以繼續(xù)劃分成“分區(qū)”的硬盤分區(qū)
引導(dǎo)分區(qū)-標(biāo)記有可引導(dǎo)標(biāo)記的硬盤分區(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)容問題:硬盤中每個(gè)分區(qū)都有引導(dǎo)扇區(qū)嗎?硬盤布局直接使用扇區(qū)編號尋址磁盤嗎?磁盤頁表物理內(nèi)存請求調(diào)頁—頁面置換load[addr]i頁錯(cuò)誤處理程序(1)(2)(3)(4)(5)(6)交換出去的頁面放在哪里?交換出去交換分區(qū)問題的關(guān)鍵是寫到磁盤的什么位置?交換出去的頁面顯然要寫到磁盤上如果是代碼段和數(shù)據(jù)段,直接寫到可執(zhí)行文件中如果是堆棧段呢?創(chuàng)建一個(gè)文件嗎?變成了頁面
文件
扇區(qū)映射關(guān)系,顯然是低效的應(yīng)該是直接“頁面
扇區(qū)”PTEP=0換出地址為提高效率,這部分磁盤不存文件,直接用扇區(qū)號尋址。(交換分區(qū))這樣使用的磁盤稱為生磁盤(rawdisk)Linux交換分區(qū)安裝Linux時(shí),需創(chuàng)建一硬盤分區(qū)作為交換分區(qū)fdisk命令可以查看分區(qū)信息因?yàn)榻粨Q分區(qū)要和內(nèi)存不斷交換,所以是動態(tài)變化的swap分區(qū)的大小通常是內(nèi)存大小的兩倍為什么引入文件?
—“烹調(diào)”磁盤11.4文件概念及實(shí)現(xiàn)方法為什么引入文件?讓普通用戶使用rawdisk:
許多人連扇區(qū)都不知道是什么?要求他們根據(jù)扇區(qū)編號來訪問磁盤…需要在扇區(qū)上引入更高一層次的抽象概念!文件首先想一想用戶眼里的文件是什么樣子?字符序列(字符流)磁盤上的文件是什么樣子?扇區(qū)集合文件:建立字符流到扇區(qū)集合的映射關(guān)系文件概念建立字符流到盤塊集合的映射關(guān)系看一個(gè)例子intmain(){…
test.c將2-12字符刪去test.c中的2-12字符對應(yīng)盤塊789讀入、修改、讀出文件:按用戶邏輯地址連續(xù)“排列”的盤塊集合為增加靈活性,OS又將多個(gè)連續(xù)扇區(qū)定義為盤塊文件的實(shí)現(xiàn)文件抽象概念的實(shí)現(xiàn)關(guān)鍵:描述這一映射關(guān)系文件實(shí)現(xiàn)1:物理盤塊連續(xù)分配intmain(){…
test.c012345678910111213141516171819202122232425262728293031test.cftrmaillist需存放什么信息?起始盤塊和盤塊個(gè)數(shù)存放在哪里?文件描述信息節(jié)點(diǎn)中名字很多:FCB,FileHeader等文件名
始址塊數(shù)test.c04test.c的FileHeader優(yōu)點(diǎn)簡單快速,缺點(diǎn)碎片多文件f的起始塊=?塊數(shù)=?文件實(shí)現(xiàn)2:鏈?zhǔn)椒峙鋓ntmain(){…
test.c文件名始址test.c1test.c的FileHeader優(yōu)點(diǎn):文件長度增減容易01234567891011121314151617181920212223242526272829303110-1917test.cNullFileHeader缺點(diǎn):順序訪問、可靠性差文件實(shí)現(xiàn)3:索引分配intmain(){…
test.c優(yōu)點(diǎn):是連續(xù)和鏈?zhǔn)椒峙涞挠行д壑?1234567891011121314151617181920212223242526272829
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度危險(xiǎn)化學(xué)品儲存安全合同書模板3篇
- 教育領(lǐng)域中的農(nóng)業(yè)科技應(yīng)用與實(shí)踐
- 二零二五年度車庫門行業(yè)信息化建設(shè)與支持合同4篇
- 生物醫(yī)學(xué)工程專業(yè)人才需求與培養(yǎng)方案
- 二零二五年度尊享不過戶二手房買賣合同3篇
- 2025年度個(gè)人所得稅贍養(yǎng)老人專項(xiàng)附加扣除協(xié)議執(zhí)行細(xì)則3篇
- 2025年度個(gè)人二手房購房合同范本及稅費(fèi)代繳服務(wù)協(xié)議3篇
- AI驅(qū)動的智能醫(yī)療設(shè)備進(jìn)展報(bào)告
- 科技驅(qū)動的小學(xué)道德與法治教育變革
- 珠海廣東珠海市斗門區(qū)人民法院特邀調(diào)解員招聘10人筆試歷年參考題庫附帶答案詳解
- 口腔醫(yī)學(xué)中的人工智能應(yīng)用培訓(xùn)課件
- 工程質(zhì)保金返還審批單
- 【可行性報(bào)告】2023年電動自行車項(xiàng)目可行性研究分析報(bào)告
- 五月天歌詞全集
- 商品退換貨申請表模板
- 實(shí)習(xí)單位鑒定表(模板)
- 六西格瑪(6Sigma)詳解及實(shí)際案例分析
- 機(jī)械制造技術(shù)-成都工業(yè)學(xué)院中國大學(xué)mooc課后章節(jié)答案期末考試題庫2023年
- 數(shù)字媒體應(yīng)用技術(shù)專業(yè)調(diào)研方案
- 2023年常州市新課結(jié)束考試九年級數(shù)學(xué)試卷(含答案)
- 正常分娩 分娩機(jī)制 助產(chǎn)學(xué)課件
評論
0/150
提交評論