版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
主講教師:范國祥
電話811(O)
E-mail:fgx@
軟件學(xué)院教研室
2015.06
操作系統(tǒ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ū)大?。?12字節(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:沒有碎片;訪問速度≈70B/秒【假定尋道時(shí)間=10ms,旋轉(zhuǎn)時(shí)間=5ms,傳輸時(shí)間≈0ms】扇區(qū)尺寸=1KByte:碎片0.5K;訪問速度≈70KB/秒扇區(qū)尺寸=1MByte:碎片0.5M;訪問速度≈25MB/秒【傳輸時(shí)間不能再忽略≈0.25ms×1000=25ms】扇區(qū)大小空間利用率傳輸速度規(guī)定標(biāo)準(zhǔn)扇區(qū)尺寸
=512Bytes=0.5KBI/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)然是平均訪問延遲最小!①旋轉(zhuǎn)定位:固定速度;②讀寫取決于旋轉(zhuǎn)速度;③傳輸時(shí)間幾乎恒定。因此:尋道時(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)度ShortestSeekTimeFirst最短尋道時(shí)間優(yōu)先:繼續(xù)該實(shí)例:磁頭開始位置=53;請求隊(duì)列=98,183,37,122,14,124,65,670143753656798122124183199如果在處理183之前又來一些中間磁道的請求,則…SSTF:磁頭共移動236(14+53+169)磁道,比FIFO要少很多!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:磁頭共移動53+199+134磁道!其中199會較快!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ū)總數(shù)
=C*H*S某扇區(qū)編號A=c*H*S+h*S+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)存大小的2倍為什么引入文件?
—“烹調(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)椒峙涞挠行д壑?12
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年空運(yùn)中介貨物合同
- 2024建設(shè)項(xiàng)目監(jiān)管與服務(wù)協(xié)議一
- 專業(yè)仿真綠植訂購協(xié)議2024版版B版
- 2025年度全國重點(diǎn)工程安全員專項(xiàng)聘用合同3篇
- 2025采礦權(quán)轉(zhuǎn)讓合同示范文本:礦業(yè)權(quán)整合項(xiàng)目3篇
- 2024建設(shè)工程合同講義
- 專業(yè)婚介機(jī)構(gòu)服務(wù)合同2024版版B版
- 2024年食品原材料長期供應(yīng)合同3篇
- 2025年玻璃幕墻工程勞務(wù)分包及售后服務(wù)協(xié)議3篇
- 2024攝影工作室產(chǎn)品攝影及電商平臺推廣合作合同3篇
- 教育管理學(xué)課件-管理、教育管理和教育管理學(xué)之概述
- 酒店住宿投標(biāo)書
- 東方電影學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 某27層高層住宅樓施工組織設(shè)計(jì)方案
- 安徽省安慶市迎江區(qū)2023-2024學(xué)年四年級上學(xué)期期末數(shù)學(xué)試卷
- 護(hù)理教學(xué)基本方法與技巧
- 銘心集團(tuán)校企合作訂單班實(shí)施方案
- 名師工作室考核評價(jià)表.doc
- 長廊工程施工計(jì)劃方案
- 大地構(gòu)造分區(qū)重點(diǎn)講義
- 課程銜接理論的研究梳理與應(yīng)用前瞻
評論
0/150
提交評論