文件系统的由来
啟蒙篇
文件的由來
- 磁盤上保存的是一對十六進(jìn)制的數(shù)據(jù),如何切分?jǐn)?shù)據(jù)形成不同的文件,也就是如何確定一個(gè)文件的起始和終止位置?
- 將相關(guān)數(shù)據(jù)打包在一起形成一個(gè)文件,比如從什么位置開始到什么位置結(jié)束,是一張圖片、一段文字、一個(gè)視頻
- 還需要為每一個(gè)打包文件配置一個(gè) FCB,類似PCB
- FCB保存在磁盤,記錄文件的名字、文件的起始位置、文件的終止位置等信息
- 通過文件的名字? 匹配 FCB中符合的文件,通過名字作為檢索,查詢文件的相關(guān)信息,比如文件的存儲位置
目錄的由來
- 每個(gè)文件 都有 與之對應(yīng)的FCB??
- 將FCB的集合重新打包成一個(gè)文件,形成目錄文件(其他文件的檔案袋),其他文件叫做普通文件,比如 圖片、視頻、文檔
- 操作系統(tǒng)啟動的時(shí)候,將目錄文件讀取到內(nèi)存,就可以使用戶看到文件結(jié)構(gòu)
文件管理邏輯圖
- 文件系統(tǒng)由文件和目錄兩個(gè)部分組成
- 文件:邏輯結(jié)構(gòu)? 數(shù)據(jù)怎么組織?如何打包?
- 目錄:物理結(jié)構(gòu)? 組織好的數(shù)據(jù)如何保存?
- 數(shù)據(jù) 打包 形成文件
- FCB 打包 形成目錄
- 物理結(jié)構(gòu):組織好的數(shù)據(jù)如何存儲?
閑聊文件系統(tǒng)
- 操作系統(tǒng)、文件系統(tǒng)和存儲器都有很多類型
- 通常講win、linux具有那種文件系統(tǒng)的方法和原理
- 操作系統(tǒng):unix 、 linux 、 windows 、 android 、 ios? 、macos
- 文件系統(tǒng):ext 、NTFS(win)? 、APFS(MAC)、 FAT 、YFFS、JFFS
- 存儲器:硬盤類 、光盤類 、磁帶類、flash類 (固態(tài)硬盤、U盤、云盤)
- 文件系統(tǒng)的基本構(gòu)成 = 文件 +? 目錄;使得磁盤數(shù)據(jù)保存、管理、搜索更加便捷化和人性化
?
基礎(chǔ)篇
文件的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)
- 邏輯結(jié)構(gòu):文件是由不同的十六進(jìn)制數(shù)據(jù)組成的,每個(gè)數(shù)據(jù)都有指定的位置,如果數(shù)據(jù)的位置打亂了,就不可以表示先前的數(shù)據(jù),文件就沒有意義。比如刪除文件的一部分,使文件損壞。
- 物理結(jié)構(gòu):將磁盤進(jìn)行切割,分成很多塊,每一塊散列存儲在磁盤
- 使用的時(shí)候,將物理結(jié)構(gòu)按照邏輯順序拼接在一起就形成了正確的邏輯結(jié)構(gòu),就可以還原原本的文件
文件系統(tǒng)的邏輯結(jié)構(gòu)(數(shù)據(jù)是如何組織起來的)
文件的邏輯結(jié)構(gòu)
- 有結(jié)構(gòu)文件:記錄式文件:格式多樣化(描述信息,比如位置信息等等)、內(nèi)容多樣化(字體的顏色大小)、便于搜索查詢
- 有結(jié)構(gòu)文件 比如excel,即使只記錄一個(gè)字母,但是需要記錄大量的相關(guān)信息,因此文件會很大
- 無結(jié)構(gòu)文件:流式文件 ,比如txt,僅僅可以按照順序簡單記錄每一個(gè)字符;
- *并不是所有文件的所有內(nèi)容都是可視化的
- 流式文件特征:1,簡單順序,以字節(jié)為單位記錄每一個(gè)數(shù)據(jù);2,由于沒有結(jié)構(gòu),搜索的時(shí)候只可以窮舉搜索,適用性很差;3,適用于對基本信息單位操作(修改操作)不多的文件,比如源代碼、目標(biāo)代碼文件、圖片
有結(jié)構(gòu)文件的數(shù)據(jù)組織:
- 1,數(shù)據(jù)項(xiàng):最低級的數(shù)據(jù)組織形式,文件的細(xì)胞,每個(gè)的數(shù)據(jù)項(xiàng)的長度不一樣。數(shù)據(jù)項(xiàng)是最小單元,word的數(shù)據(jù)單元是單個(gè)字,excel的數(shù)據(jù)單元是單個(gè)表格
- 2,記錄:一組有意義的數(shù)據(jù)項(xiàng)的組合,關(guān)鍵字,唯一標(biāo)識一個(gè)記錄,每個(gè)記錄的長度都可能不一樣
- 3,文件:文件系統(tǒng)中最大的數(shù)據(jù)單位
- 知識點(diǎn)準(zhǔn)備
- 1,抽象化 ,以記錄為最小單位
- 2,抽象化后的定長記錄(不夠標(biāo)準(zhǔn)定長的數(shù)據(jù)就補(bǔ)長)和變長記錄(每個(gè)記錄的長度不一樣)的表示
- 3,定長(直接訪問或者順序訪問)和變長記錄(順序訪問)方式的查詢(變長需要有一個(gè)字節(jié)來記錄數(shù)據(jù)的長度)
順序文件
- 分為1,串結(jié)構(gòu)(時(shí)間排序,往表格里面輸入的先后順序)定長和變長 ;2,順序結(jié)構(gòu)(關(guān)鍵字排序,按照成績排序)分為定長和變長
- 特點(diǎn):1,對順序文件的記錄做增加刪除比較困難,需要移動和重新排序;2,只有順序文件可以保存在磁帶上;3,定長記錄的順序文件比變長記錄的順序文件查找快
索引文件
- 原因,變長文件查詢比較麻煩,只可以使用順序查找的方式進(jìn)行查詢。對變長記錄的順序文件進(jìn)行改進(jìn),使其可以直接訪問/順序訪問(索引表)
- 索引表 是定長的,利用直接訪問的優(yōu)勢
- 索引表:索引號(排序的位號) 、 記錄長度(配合第三個(gè)參數(shù)) 和記錄指針? ? ?索引表是附文件,將索引表拼接在主文件(變長順序存儲)的前面,就形成了索引文件
- 特點(diǎn):1,通過索引表查詢記錄很快;2,索引表會導(dǎo)致文件大小的增加,因?yàn)槠唇恿怂饕?/li>
索引順序文件
- 分組 ,索引表記錄鍵值和邏輯地址,邏輯地址是指向不同分組的第一個(gè)邏輯地址
- N個(gè)記錄分為根號N 組,平均查詢根號N次
- 增加索引表多占了空間,但是提高了存取速度
- 組間索引 組內(nèi)順序
- 同組無序,組間有序
Hash文件
- 直接文件 = 散列文件 = HASH文件 = 哈希文件
- 散列文件存取文件的速度很快,但是會引發(fā)沖突 -> 數(shù)據(jù)結(jié)構(gòu) Hash查找
- Hash(記錄) = 記錄應(yīng)該保存的位置(物理位置)?
- 好的hash函數(shù)會減少沖突的次數(shù),但是沖突不會避免
目錄文件的邏輯結(jié)構(gòu)(PCB是如何組織起來的?)
文件控制FCB
- FCB保存在磁盤上 ,記錄文件的相關(guān)信息
- FCB 記錄 文件名、邏輯結(jié)構(gòu)、物理結(jié)構(gòu)、文件類型(目錄類型還是普通文件)、文件大小、磁盤位置(物理位置)、控制信號(文件保護(hù),文件的權(quán)限)、計(jì)數(shù)信息(文件共享)
- 多個(gè)FCB排列組合變成了目錄結(jié)構(gòu)
- FCB數(shù)量有限,文件的數(shù)量有限
索引節(jié)點(diǎn)inode
- 過程:將FCB分解,目錄文件只保留文件的名字,除了文件名字之外的信息打包形成的塊,簡稱inode
- 拆解的原因:原版的FCB太大,導(dǎo)致目錄文件的很大,電腦查詢文件的時(shí)候,需要將目錄文件調(diào)入內(nèi)存,導(dǎo)致內(nèi)存的消耗變大。其次,讀取大的目錄文件的時(shí)候,磁盤訪問次數(shù)也會變多,導(dǎo)致文件查詢速度很慢,瘦身之后的FCB就克服了這個(gè)缺點(diǎn)
- 節(jié)點(diǎn)表 記錄所有inode,查詢的時(shí)候,需要通過文件名字查詢FCB,找到對應(yīng)的inode,再到節(jié)點(diǎn)表查詢inode里面查詢物理位置
- 節(jié)點(diǎn)表保存在磁盤,瘦身版FCB(文件名+inode號)時(shí)讀入內(nèi)存,不用的時(shí)候存儲在磁盤
- 索引節(jié)點(diǎn):編號遞增且唯一。每個(gè)索引節(jié)點(diǎn)唯一關(guān)聯(lián)一個(gè)目錄文件或者普通文件(inode代替先前的原版PCB成為文件的檔案袋)
- inode數(shù)量有限,操作系統(tǒng)安裝的時(shí)候就已經(jīng)確定了
- 這種方式適用于Unix系統(tǒng)
目錄結(jié)構(gòu)
單級目錄結(jié)構(gòu)
- FCB連續(xù),每個(gè)FCB對應(yīng)一個(gè)文件,沒有文件夾的概念
- 目錄基本操作
- 1,檢索文件
- 2,創(chuàng)建文件,先申請F(tuán)CB,再分配內(nèi)存空間
- 3,刪除文件,先回收磁盤塊,再刪除FCB
- 4,移動文件,(沒有目錄層級的概念,復(fù)制剪貼)
- 特點(diǎn)
- 1,實(shí)現(xiàn)按名存取,但是不可以重名
- 2,檢索文件很慢
- 3,不適用于多用戶操作系統(tǒng),(用戶空間隔離,彼此文件不可見)
- 4,沒有文件夾
兩級目錄結(jié)構(gòu)
- 針對單級目錄的優(yōu)化
- 實(shí)現(xiàn)了多用戶,但是靈活性不夠,不可以對文件進(jìn)行分類管理
- 相關(guān)FCB都相聯(lián),比如不同用戶的FCB相聯(lián),同一用戶的不同文件的FCB相聯(lián)
- 區(qū)分了用戶,但是用戶進(jìn)入自己的文件夾下,和單級目錄結(jié)構(gòu)一致,只有文件,沒有層級結(jié)構(gòu)
多級目錄結(jié)構(gòu)
- 改進(jìn)兩級目錄,解決不可以對文件進(jìn)行分類的問題
- 特點(diǎn)
- 1,更好的對文件進(jìn)行分類管理,樹形目錄層次清晰、分類清晰
- 2,磁盤啟動次數(shù)多 因?yàn)榘凑諛湫谓Y(jié)構(gòu),從上到下,每一級分別讀入內(nèi)存進(jìn)行查詢(按塊讀取)(一塊就啟動一次)
無環(huán)圖目錄結(jié)構(gòu)
- 樹形目錄結(jié)構(gòu) + 有向邊 = 無環(huán)圖目錄
- 被多條有向邊指向的目錄文件,就是被共享的文件
- 設(shè)計(jì)的目的是為了共享?
- 有向邊 由硬鏈接/軟連接 實(shí)現(xiàn)
文件共享
- 文件共享 的原因:1,單機(jī)? 節(jié)約空間,只保留一個(gè)副本(缺點(diǎn),牽一發(fā)動全身,個(gè)人修改對別人影響很大);2,聯(lián)網(wǎng)? 互聯(lián)網(wǎng)發(fā)展的必然性 C/S 模型 ,不同用戶訪問同一文件
硬鏈接共享
- 云盤共享數(shù)據(jù) ,接收別人共享的文件,保存到我的云盤,本質(zhì)是添加inode號,使得多個(gè)用戶關(guān)聯(lián)同一份文件,inode號指向文件
- 需要添加計(jì)數(shù)信息參數(shù),刪除文件,就是刪除關(guān)聯(lián)inode的信息,同時(shí)減少計(jì)數(shù)
- 只有當(dāng)文件的計(jì)數(shù)為0,代表這個(gè)文件不再被使用,刪除文件,回收inode
- inode通過物理地址直接找到文件的存儲位置,速度很快
軟連接共享
- link類型文件,文件內(nèi) 存有共享文件的路徑,因此會增加磁盤訪問的次數(shù)
- 可能引起錯(cuò)誤(新的文件和舊的文件同名的時(shí)候)
- linux的軟連接模式 和 windows的創(chuàng)建快捷方式相似
- 軟連接,通過文件的層級目錄找到文件,僅僅依靠目錄層級和文件的名字作為索引
文件保護(hù)
- 文件保護(hù)是通過索引節(jié)點(diǎn)inode和文件控制塊FCB一起使用實(shí)現(xiàn)的
- 文件保護(hù)的原因 ,防止共享文件被未經(jīng)過批準(zhǔn)的用戶隨意修改和破壞
- 文件保護(hù)的方式
- 1,口令:FCB添加口令,口令匹配才可以通過,防止隨意存取
- 2,加密:對文件的數(shù)據(jù)進(jìn)行加密,即使獲取文件,也無法解密數(shù)據(jù);缺點(diǎn):需要使用對應(yīng)的加解密文件,需要耗費(fèi)時(shí)間
- 3,訪問控制:不同角色擁有不同的權(quán)限,設(shè)置訪問控制表。這個(gè)一般Unix使用比較多,對文件分為擁有者、組、其他,分別對應(yīng)讀、寫、執(zhí)行三種權(quán)限
- 口令和訪問控制,都是在FCB的控制信息里面添加內(nèi)容
文件系統(tǒng)的物理結(jié)構(gòu)
文件的實(shí)現(xiàn)(物理結(jié)構(gòu))
文件物理結(jié)構(gòu)學(xué)習(xí)邏輯圖
- 文件保存到磁盤 -> 最小單位為塊(4kb、1kb)塊設(shè)備
- 問題
- 1,存在哪?文件的分配方式
- 2,哪可存?磁盤存儲空間的管理
文件的分配方式
- 連續(xù)分配
- 思想:文件分配一組連續(xù)的磁盤塊
- 特點(diǎn):
- 1,順序訪問? 直接訪問(起始地址 + 每一塊的大小 * 數(shù)據(jù)塊數(shù))
- 2,外部碎片多,內(nèi)部碎片少
- 3,適合長度固定的文件的(比如圖片、視頻)
- 磁盤塊的順序很重要,需要從指定位置讀取指定大小的文件內(nèi)容;存文件的時(shí)候,也需要順序存放
- FCB表格 : 文件的名字、存儲的起始位置、文件的長度
- 鏈接分配 分為 隱式鏈接分配 和 顯式鏈接分配;解決內(nèi)部碎片的問題
- 隱式鏈接分配?
- 思想:順藤摸瓜 / 做記號;? 像鏈表一樣,把不連續(xù)的空間碎片,鏈接在一起;每一個(gè)塊的后面記錄下一個(gè)存儲的位置信息
- 特點(diǎn):可以順序訪問,不可以直接訪問;穩(wěn)定性不好(如果中間數(shù)據(jù)損壞,就無法銜接下一個(gè)文件,造成文件的損壞)
- FCB里邊的物理結(jié)構(gòu),會確定文件的類型是連續(xù)分配、隱式鏈接分配、顯式鏈接分配等,按照對應(yīng)的規(guī)則,讀取目錄文件
- FCB? 隱式鏈接分配的目錄文件記錄 文件的名字、起始位置和結(jié)束位置
- 因?yàn)橛墟溄拥拇嬖?#xff0c;假設(shè)鏈接占據(jù)2b,每個(gè)塊存儲(4kb - 2b)大小的內(nèi)存
- 顯式鏈接分配
- 解決隱式鏈接分配不穩(wěn)定的問題(中間斷裂)
- 思想:先存再讀,整個(gè)磁盤設(shè)置一張表,記錄每個(gè)磁盤塊的分配情況,該表叫做FAT
- 查詢FAT,防止中間層數(shù)據(jù)斷裂
- 特點(diǎn):FAT表占用空間比較大,磁盤無所謂,但是內(nèi)存卡會浪費(fèi)很大的空間
?單級索引分配
- 思想:為每個(gè)文件都建立一個(gè)索引表,記錄該文件的磁盤塊分配順序
- 將索引表記錄在一個(gè)磁盤塊,FCB的索引填寫 索引表的存儲磁盤號
- 索引表:文件的名字、索引(索引表記錄磁盤塊的分配順序,索引記錄索引表所在的磁盤位置)
- 文件讀取的時(shí)候,現(xiàn)根據(jù)文件的名字,讀取索引表的;將索引表讀入內(nèi)存之后,根據(jù)索引表依次讀取文件
- FCB的物理結(jié)構(gòu)會記錄 模式? 單級索引
- 特點(diǎn):可以直接訪問,但是索引表占據(jù)了磁盤的空間,文件很大,需要的索引表也會很多
多級索引分配
- 解決索引塊長度不一致,使索引表變成一個(gè)變長文件,不利于直接訪問的問題,再次構(gòu)建索引表
- 8M文件占據(jù)多少空間? 8Mb + 3* 4kb
?
混合索引
- 直接索引、單級索引、二級索引、三級索引等同時(shí)使用
- 條件:盤塊4kb大小、盤塊號4B大小
- 問:混合索引最大支持的文件大小?4TB + 4GB + 4MB + 4kb
- 3GB文件實(shí)際需要占用多大的空間??好復(fù)雜?
- 一個(gè)盤塊可存 4kb/4B = 1k 個(gè)盤塊號
- 直接索引:4kb
- 單級索引:1k * 4kb = 4MB
- 二級索引:1k *1k * 4kb = 4GB
- 三級索引:1k * 1k *1k *4kb = 4TB
- 文件的索引順序 依次是 直接、單級、二級、三級
存儲空間管理
空閑表法
- 解決哪里可以存?
- 空閑盤塊表:序號 、 第一個(gè)空閑的盤塊號、 空閑數(shù)量;主要用于連續(xù)分配
- ?分配:分配算法,如首次適應(yīng)、最佳適應(yīng)、最壞適應(yīng)、鄰臨適應(yīng)、循環(huán)首次適應(yīng)
- 回收:合并問題,(刪除)
- 存在哪里?
空閑鏈表法
- 空閑盤塊鏈:盤塊號+下一節(jié)點(diǎn)指針
- 空閑盤區(qū)鏈:首個(gè)盤塊號 盤區(qū)大小 下一個(gè)盤區(qū)指針
- 數(shù)據(jù)結(jié)構(gòu)里面的鏈表,還是單鏈表
位示圖法
- 由0和1 組成,1代表存儲數(shù)據(jù),0代表沒有存儲數(shù)據(jù)
成組鏈表法
- 一組一組形成鏈表,就是成組鏈表法
- 并不詳細(xì)? 回收和分配
目錄的實(shí)現(xiàn)(物理結(jié)構(gòu))
線性鏈表
- 目錄文件 依次查詢(線性鏈表)
- 例題
- 有一個(gè)文件系統(tǒng),根目錄常駐內(nèi)存,如圖所示,文件目錄采用鏈接結(jié)構(gòu),每個(gè)目錄下最多放80個(gè)目錄或者文件(稱為下級文件),每個(gè)磁盤塊最多放10個(gè)文件目錄項(xiàng),如果下級目錄是目錄文件,則上級目錄指向該目錄文件的第一塊磁盤。假設(shè)目錄結(jié)構(gòu)中第一塊文件按照從左向右的順序排列,... 表示有其他文件或者目錄
- 問題:k文件 最少 或者 最多 查詢幾次磁盤
- 文件 文件夾 都是文件
- 最多查詢 8 次,采用鏈接表的方式存儲,需要根據(jù)頭結(jié)點(diǎn) 到 尾節(jié)點(diǎn) 依次查詢
- 每次 讀取數(shù)據(jù) 都需要啟動磁盤
哈希表
- 考的少
- 利用文件的名字進(jìn)行哈希運(yùn)算,得到文件的存儲位置
層次結(jié)構(gòu)
為什么要分層?
- 每一層各司其職(下層為上層服務(wù))
- 高內(nèi)聚 低耦合
- 利于修改代碼。推行版本的更新 和 便于移植
具體內(nèi)容
- 從下往上
- 設(shè)備(硬件):磁盤、flash、光盤等等
- 設(shè)備管理模塊(軟件):驅(qū)動程序 (讀寫控制磁盤等)
- 物理文件系統(tǒng):存在哪里?物理結(jié)構(gòu),文件的分配方式
- 輔助分配模塊:哪里可存?磁盤存儲空間管理
- 邏輯文件系統(tǒng):文件以及目錄的邏輯構(gòu)成
- 存取控制模塊:文件的保護(hù)
- 文件目錄系統(tǒng):根據(jù)文件的名字來搜索FCB
- 用戶接口:GUI、命令行、系統(tǒng)調(diào)用(API)
- 用戶 普通用戶 程序員
磁盤的組織和管理
磁盤的結(jié)構(gòu)
- 扇區(qū),一圈扇區(qū)圍成的同心圓環(huán)叫一條磁道
- 圓環(huán)就是磁道從外往里命名
- 盤面? 圓形的物理結(jié)構(gòu)
- 多個(gè)圓形的盤面 相垂直的部分 構(gòu)成 柱面,柱面號 和 磁道號 一致
- 約靠近扇區(qū)的圓心,扇區(qū)的密度越大
- 通過柱面號 盤面號和扇區(qū)號唯一確定一個(gè)扇區(qū)
磁盤的讀寫
- 相關(guān)概念:
- n:跨越的磁道數(shù)
- m:磁盤的固定參數(shù),是常數(shù);移動一條磁道的耗時(shí)
- s:磁臂啟動時(shí)間,也是常數(shù)
- r:轉(zhuǎn)速;單位 轉(zhuǎn)/秒?
- b:扇區(qū)字節(jié)數(shù)
- N:一條磁道字節(jié)數(shù)
磁盤的一次讀寫時(shí)間 大概值(期望數(shù)值/平均數(shù)值)
- 一次讀寫時(shí)間:期望值/平均值 Ta = 需找時(shí)間 Ts?+ 延遲時(shí)間 Tr + 傳輸時(shí)間Tt
- 尋找時(shí)間:磁頭跳轉(zhuǎn)磁道的時(shí)間,也就是尋找柱面號 (也是磁道號,多塊盤的磁道組織在一起構(gòu)成柱面);m 磁盤的固定參數(shù),是常數(shù),平均移動一條磁道的耗時(shí);s 磁臂啟動時(shí)間,也是常數(shù),需要給磁臂充電,然后才有能量進(jìn)行磁道之間的切換
- 延遲時(shí)間:磁道確定之后,磁頭還需要等待目標(biāo)扇區(qū)的到來,扇區(qū)旋轉(zhuǎn);期望值,Tr = 1/2r?
- 延遲時(shí)間推導(dǎo):轉(zhuǎn)速 一般是固定的,一般是7200轉(zhuǎn)/分鐘? 7200/60=120轉(zhuǎn)/s? 每轉(zhuǎn)一圈 1/r 秒,每個(gè)扇區(qū)用 1/r(x+1)秒;磁頭移動之后,定位的第一個(gè)扇區(qū)是隨機(jī)的,計(jì)為A,該磁道的每一個(gè)扇區(qū)都可能是目標(biāo)扇區(qū),成為目標(biāo)扇區(qū)的幾率是 p = 1/(x+1)? 則,Tr = 1/2r
- 傳輸時(shí)間:傳輸時(shí)間是在延遲時(shí)間的基礎(chǔ)上來看的,Tt = b / rN? ? ? ? ? ? ? ? ? ? ? ?
- 磁頭掠過所有的扇區(qū),怎么只讀一個(gè)扇區(qū)?磁頭電子開關(guān),如果不開啟,讀取的數(shù)據(jù)是無效的
- 減少Ts:優(yōu)化尋道順序 -> 磁盤的調(diào)度算法
- 減少Tr:盤面錯(cuò)位編號 和 扇區(qū)交替編號?;增大轉(zhuǎn)速
- 減少Tt:增大轉(zhuǎn)速,如果磁盤確定,則無法優(yōu)化
磁盤調(diào)度算法
FCFS算法
- 先到先服務(wù)
SSTF算法 最短尋找時(shí)間優(yōu)先算法:磁頭優(yōu)先向最近的請求磁道移動
- 壞處? 容易造成兩邊的饑餓
- 只有左邊完成之后,才會到右邊
?
SCAN算法 = 電梯算法
- 根據(jù)初 ,優(yōu)先向當(dāng)前磁頭位置最近的磁道移動,直到遇到邊界才可以折返
- 如果沒有指出方向,按照 從小 到 大的次序訪問,即一般向右訪問
- 利于兩端的磁道的訪問請求(折返,相當(dāng)于接替訪問兩次)
進(jìn)化版-> LOOK算法 到最遠(yuǎn)請求則折返
- 題目中,沒有特別說明是普通SCAN,則默認(rèn)是改進(jìn)型SCAN算法(即LOOK算法)
- 區(qū)別在于,不直到遇到邊界才折返
CSCAN算法和CLOOK算法? 循環(huán)掃描算法,從頭跑,不折返
- CSCAN算法 根據(jù)初始磁頭方向,確定一個(gè)單方向,優(yōu)先向偏離磁頭當(dāng)前位最近的磁道移動,直到遇到邊界才重頭跑(不是往返跑)
- 克服了SCAN算法,利于兩端磁道請求的問題
- CSCAN算法
- CLOOK算法
?
減少延遲時(shí)間
- 交叉編譯:同盤扇區(qū)交叉編號;不同盤面錯(cuò)位命名
- 扇區(qū) = 頭 + 數(shù)據(jù) + 尾;如果按照順序進(jìn)行編號,處理第一個(gè)頭尾的過程中,因?yàn)榇疟P的轉(zhuǎn)動,會錯(cuò)過第二個(gè)扇區(qū),如果想讀取第二個(gè)扇區(qū)的數(shù)據(jù),需要循環(huán)一周,浪費(fèi)時(shí)間,因此采用交叉編號
- 通過交叉編號,可以很好銜接 同盤面同磁盤的連續(xù)扇區(qū)
系統(tǒng)安裝的過程
- 低級格式化 -> 扇區(qū) = 頭 + 數(shù)據(jù) + 尾
- 磁盤分區(qū)(多個(gè)柱面構(gòu)成一個(gè)分區(qū));主分區(qū) C;邏輯分區(qū):D E
- 第一個(gè)0開始的分區(qū) 不會分給C盤,而是裝載了MBR,主要引導(dǎo)程序和分區(qū)表;分區(qū)表記錄每一個(gè)邏輯分區(qū)和主分區(qū) 的
- 首先將安裝系統(tǒng)的主分區(qū)標(biāo)記位活動分區(qū),在主分區(qū)安裝OS 同時(shí)安裝FS,
磁盤的管理
- 系統(tǒng)安裝過程
- 1,低級格式化 -> 把盤面分成扇區(qū),(分成柱面號、盤面號和扇區(qū)號),每個(gè)扇區(qū)都有頭和尾確定扇區(qū)的開始和結(jié)束
- 2,磁盤分區(qū),(多個(gè)柱面構(gòu)成一個(gè)分區(qū)),主分區(qū) 裝入引導(dǎo)程序 和 分區(qū)表(分區(qū)表記錄不同C盤、D盤等分區(qū)的信息),確定活動分區(qū),也就是操作系統(tǒng)安裝的盤
- 3,主分區(qū)安裝OS操作系統(tǒng),同時(shí)安裝文件系統(tǒng),每個(gè)分區(qū)可以安裝不同的文件系統(tǒng)
總結(jié)
- 上一篇: 信用卡降额多久能恢复?做好这些最重要
- 下一篇: java信息管理系统总结_java实现科