作業系統之磁碟儲存器

2021-07-28 10:15:42 字數 2639 閱讀 6584

首先了解下這三個名詞的概念:

磁碟儲存器管理的主要任務和要求:

有效地利用儲存空間。即採取合理的檔案分配方式,為檔案分配必要的儲存空間。同時減少磁碟碎片。

提高磁碟i/o速度。例如磁碟高速緩衝(disk cache),廉價冗餘磁碟陣列(redundant array of inexpensive disk,raid)。

提高磁碟系統的可靠性。通常使用冗餘措施和後備系統,

總而言之,磁碟儲存器管理是為了更好的存放檔案。檔案的大小不一,但盤塊的大小是固定的,對於大檔案就需要多個盤塊來存放,這些盤塊對應的就是檔案的物理結構。如何分配這些盤塊就是外存的組織方式。通常有以下三種:

由顯式鏈結就引出了windows的檔案系統fat。(軟考中偶爾會考到,所以藉此機會稍微了解)

微軟早、中期的os一直都採用的是fat技術。即利用檔案分配表fat來記錄每個檔案中所有盤塊之間的鏈結。

fat中引入了「卷」的概念,就是將乙個物理磁碟可以分為四個邏輯磁碟,每個邏輯磁碟就是乙個卷(也稱分割槽),每個分割槽都可以像乙個物理磁碟一樣的使用。對乙個硬碟,早期只支援分為c、d、e、f四個卷,現在已經沒有這種限制了。

fat後面帶有的數字的意思是:檔案分配表中每個表項所佔據的位數。

fat12中乙個表項就是12位,所以最多可以表示4096(2^12)個表項,如果以盤塊為基本分配單位(512b),這也意味著最多可以表示4096(2^12)個盤塊,那麼,乙個磁碟分割槽的容量為 2mb(4096+512b),四個分割槽加起來也才8mb。這能表示的大小太小了,當磁碟超過8mb時,該如何表示呢?這就引入了新的分配單位——簇。

因為增加單個盤塊的容量很不方便,所以選擇了將多個盤塊看成乙個簇來作為作業系統的磁碟分配單位。這樣,當乙個簇包含8個扇區時,在12位的fat中最大磁碟容量可以達到64mb。後續的16位,32位也是為了表示擴大表示磁碟的容量。

fat32雖然相比前兩代可以支援更小的簇來支援大容量,提高了儲存器利用率。但過大的檔案分配表,導致fat32執行速度比fat16要慢;其次,fat32有最小管理空間的限制,fat32卷必須至少有65537個簇,所以fat32不支援容量小於512mb的分割槽;因為目錄項中檔案長度只有四個位元組,所以單個檔案不能超過4gb。不能向下相容。

下表給出在不同分配單元大小下,3中fat所支援磁碟容量的對比。

12、16和32位對比

塊大小fat12

fat16

fat32

0.5kb

2mb1kb

4mb2kb

8mb128mb

4kb16mb

256mb

1tb8kb

512mb

2tb16kb

1024mb

2tb32kb

2048mb

2tb         ntfs相比fat技術有了更好的效能、在安全性和可靠性方面也得到了顯著提公升。缺點是相容性不足,只能被window nt所識別。

既然要為檔案分配盤塊,那必須知道磁碟上有哪些盤塊是可用於分配的。這就需要為磁碟可分配的儲存空間設定相應的資料結構,即乙個磁碟分配表。常見的有下列幾種:

檔案的分配已經搞清楚了,那還有乙個關鍵問題是對檔案的訪問速度。我們都知道內外存的訪問速度差別是巨大的,這種差別也成為了計算機系統的瓶頸。人們常用下面的方法來提高磁碟i/o速度。

第一就是利用磁碟快取記憶體技術,這裡是指在記憶體中為盤塊設定乙個緩衝區,這個緩衝區儲存某些盤塊的副本。記憶體會優先檢視這裡。

還有提前讀、延遲寫、優化物理塊分布和虛擬盤(用記憶體模擬磁碟,ram盤)等。

這裡引出一種非常有用的設計思想:如果使用乙個元件對效能的改進受到了很大的限制,那麼可通過使用多個相同的元件來獲得效能的大幅度提高。

乙個典型代表就是廉價磁碟冗餘陣列raid(redundant array of inexpensive disk)。

這個系統使用了很多臺磁碟驅動器來組成乙個大磁碟系統。不僅增加了磁碟容量,也提高了磁碟i/o速度和可靠性。

因為有多個磁碟驅動器,所以可以將每乙個子盤塊的資料分別儲存到各個不同磁碟中的相同位置,讀取時可以採用並行傳輸方式輸入記憶體。這就是並行交叉訪問。

同時因為有了多個磁碟,所以可以使用冗餘資料和各種校驗技術來保證磁碟的可靠性。raid有很多級別,不同級別對應著不同效能。raid0是最快速的,但沒有冗餘校驗功能,所以不夠可靠。raid1採用映象複製,提高了安全性,但降低了磁碟利用率。其餘的也有各自的容錯技術。

影響檔案安全性的因素有:人為因素、系統因素和自然因素。

針對這三種因素分別有:訪問控制機制、磁碟容錯技術和建立「後備系統」的方式來防止危險。

磁碟容錯技術就是通過增加冗餘的磁碟驅動器、控制器等方法來提高可靠性。也被稱為系統容錯技術sft,可分為三個級別:

第一級是低階容錯技術,主要用於防止因磁碟表面缺陷造成的資料丟失,包含雙份目錄、雙份fat以及寫後讀校驗(在將資料寫入磁碟後,立馬再讀出來與內容緩衝區在寫後仍保留的資料對比,一致則認為寫入成功,否則寫入失敗進行重寫)。

第二級是中級容錯技術,主要用於防止磁碟驅動器和磁碟控制器故障。  使用磁碟映象(一條通道,乙個控制器,兩個驅動器)和磁碟雙工(兩條通道,兩個控制器和驅動器。)

第**是基於集群技術的容錯功能。

磁碟儲存管理 作業系統

磁碟儲存管理 磁碟儲存器管理也是作業系統的重要管理功能之一。磁碟儲存器不僅容量大,訪問速度塊,而且可以實現隨機訪問,是當前存放大量程式和 資料的理想裝置,所以在現代計算機系統中,都配置了磁碟儲存器,並以它為主來存放資訊。這樣,對資訊的操作,都將涉及到對磁碟的訪問。磁碟i o速度的高低和磁碟的可靠性,...

作業系統 磁碟儲存結構

磁碟由乙個或多個圓形盤面組成,每個盤面由n個同心圓組成,同心圓稱為磁軌 從同心圓向外畫直線,可以將磁軌劃分若干個弧段,乙個弧段稱為乙個扇區。扇區是磁碟的最小組成單元。m個盤面的相同磁軌組成柱面。柱面數,磁頭數,扇區數 chs是乙個三元組,24位,最大8g lba是乙個整數 轉換成chs格式完成磁碟具...

計算機作業系統 磁碟儲存器

這一篇文章我們將學習磁碟的內部結構和當讀取和寫入的時候,硬碟這種儲存的裝置是如何運作的。可以看到磁碟中有插入圓盤的針,它就是讀取資料的結構。我們再看一下磁碟上的扇葉,扇區就是下面箭頭標的那一小塊,現在每一小塊可以儲存4k 資料。可以簡單地說就是旋轉,尋道,讀取 第三步需要注意的是當讀取完後,控制器會...