磁碟,小理解
小了解硬碟的原理:
資料儲存:
資料儲存在硬碟驅動器內腔的若干個磁碟片上,資料按扇區存放在硬碟上。
簡單構造:
一般磁碟都是2碟裝,即2個磁片,也有3碟裝或者5碟裝,當然,磁頭的個數是和磁面對應的,一個磁片就有一個磁頭
而磁頭就是下圖這樣工作的,磁碟以每分鐘上千轉的速度旋轉,所以磁頭想去讀哪個扇區,應該都是很快的。
定址:
在早期的CHS定址中,採用(柱面、磁頭和扇區)的方式定址,在使用磁碟時需要分別讀取這3個引數然後交給磁碟控制器執行。速度較慢,並浪費空間。而在目前的LBA定址中將所有的物理扇區編號通過一定的規則變為一線性的編號,避免了繁瑣的磁頭/柱面/扇區的定址方式,在訪問硬碟時,由硬碟控制器再將這種邏輯地址轉換為實際硬碟的實體地址。
問題:
1、資料是如何儲存到磁碟上?
答:如果磁碟的上一層是檔案系統的話,那檔案系統中肯定有地方(磁碟上的某個區域)記錄了柱面、inode、data等資訊。具體資料存放在磁碟的具體位置。系統將檔案儲存到磁碟上時,按柱面、磁頭、扇區的方式進行,即最先是第1磁軌的第一磁頭下(也就是第1盤面的第一磁軌)的所有扇區,然後,是同一柱面的下一磁頭,……,一個柱面儲存滿後就推進到下一個柱面,直到把檔案內容全部寫入磁碟。
系統也以相同的順序讀出資料。讀出資料時通過告訴磁碟控制器要讀出扇區所在的柱面號、磁頭號和扇區號(實體地址的三個組成部分)進行。磁碟控制器則 直接使磁頭部件步進到相應的柱面,選通相應的磁頭,等待要求的扇區移動到磁頭下。在扇區到來時,磁碟控制器讀出每個扇區的頭標,把這些頭標中的地址資訊與 期待檢出的磁頭和柱面號做比較(即尋道),然後,尋找要求的扇區號。待磁碟控制器找到該扇區頭標時,根據其任務是寫扇區還是讀扇區,來決定是轉換寫電路, 還是讀出資料和尾部記錄。找到扇區後,磁碟控制器必須在繼續尋找下一個扇區之前對該扇區的資訊進行後處理。如果是讀資料,控制器計算此資料的ECC碼,然 後,把ECC碼與已記錄的ECC碼相比較。如果是寫資料,控制器計算出此資料的ECC碼,與資料一起儲存。在控制器對此扇區中的資料進行必要處理期間,磁 盤繼續旋轉。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24500180/viewspace-722641/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 小例子理解多型多型
- HDFS系列之DataNode磁碟管理解析及實踐!
- ★Linux磁碟配額的使用 ★——牛刀小試Linux
- 深入理解 linux磁碟順序寫、隨機寫Linux隨機
- 小結自己對BFC的理解
- 理解及快速測定 Azure 虛擬機器的磁碟效能虛擬機
- ASM下資料檔案遷移至不同磁碟組小記ASM
- 深入理解Android中的快取機制(三)磁碟快取Android快取
- 磁碟到底是怎樣工作的?一文理解硬碟結構硬碟
- 理解微信小程式的雙執行緒模型微信小程式執行緒模型
- 潛入理解ES6-Promise用法小結Promise
- 理解Django 中Call Stack 機制的小DemoDjango
- 你對微信小程式的理解?優缺點?微信小程式
- 小例子 理解 Laravel 中的 控制反轉模式Laravel模式
- 新增磁碟並掛載磁碟
- Oracle asm磁碟中新加磁碟OracleASM
- 磁碟
- Linux 磁碟與磁碟分割槽Linux
- asm 磁碟組 增刪磁碟組ASM
- 新增磁碟多連路磁碟併為ASM磁碟組擴容ASM
- flutter“多執行緒”isolate小學生級理解Flutter執行緒
- Android Handler機制理解和AsyncTask使用小記Android
- TCP KeepAlive機制理解與實踐小結TCP
- 關於Java泛型深入理解小總結Java泛型
- 如何理解Hadoop-Hbase原理與應用小結Hadoop
- 理解PG的xmin和xmax的幾個小實驗
- 「磁碟工具」不能修復磁碟時,怎麼做?
- ASM磁碟組更換磁碟的操作方法ASM
- 虛擬機器磁碟不足,新增磁碟擴容虛擬機
- Linux 磁碟對應 ASM diskgroup 中的磁碟LinuxASM
- 在ASM磁碟組中刪除一個磁碟ASM
- 動態和靜態監聽註冊-小魚的理解
- AIX磁碟管理AI
- ASM磁碟頭ASM
- 磁碟RAIDAI
- ASM 增加磁碟ASM
- 磁碟陣列陣列
- 小話資料結構-圖 (聚焦與於實現的理解)資料結構