硬盤及文件系統基礎概念

機械硬盤HDDMechanical hard disk

機械硬盤中所有的盤片都裝在一個旋轉軸上,每張盤片之間是平行的,在每個盤片的存儲面上有一個磁頭,磁頭與盤片之間的距離比頭發絲的直徑還小,所有的磁頭聯在一個磁頭控制器上,由磁頭控制器負責各個磁頭的運動。

磁頭(Head:

對硬盤上的數據進行讀寫操作.

磁道(Track

當磁盤旋轉時,磁頭若保持在一個位置上,則每個磁頭都會在磁盤表面劃出一個圓形軌跡,這些圓形軌跡就叫做磁道。這些磁道用肉眼是根本看不到的,因為它們僅是盤面上以特殊方式磁化了的一些磁化區,磁盤上的信息便是沿著這樣的軌道存放的。相鄰磁道之間并不是緊挨著的,這是因為磁化單元相隔太近時磁性會相互產生影響,同時也為磁頭的讀寫帶來困難。

扇區(Sector

磁盤上的每個磁道被等分為若干個弧段,這些弧段便是磁盤的扇區,每個扇區可以存放512個字節的信息,磁盤驅動器在向磁盤讀取和寫入數據時,要以扇區為單位。

柱面(Cylinder

硬盤通常由重疊的一組盤片構成,每個盤面都被劃分為數目相等的磁道,并從外緣的0”開始編號,具有相同編號的磁道形成一個圓柱,稱之為磁盤的柱面。磁盤的柱面數與一個盤單面上的磁道數是相等的。無論是雙盤面還是單盤面,由于每個盤面都只有自己獨一無二的磁頭,因此,盤面數等于總的磁頭數。所謂硬盤的CHS,即Cylinder(柱面)、Head(磁頭)、Sector(扇區),只要知道了硬盤的CHS的數目,即可確定硬盤的容量,硬盤的容=柱面數*磁頭數*扇區數*512B。

MBR

通常,我們將包含MBR引導代碼的扇區稱為主引導扇區。因這一扇區中,引導代碼占有絕大部分的空間,故而將習慣將該扇區稱為MBR扇區(簡稱MBR,Main Boot Record)。由于這一扇區承擔有不同于磁盤上其他普通存儲空間的特殊管理職能,作為管理整個磁盤空間的一個特殊空間,它不屬于磁盤上的任何分區,因而分區空間內的格式化命令不能清除主引導記錄的任何信息。

主引導扇區由三個部分組成(共占用512個字節)

1.主引導程序即主引導記錄(MBR)(占446個字節)

可在FDISK程序中找到,它用于硬盤啟動時將系統控制轉給用戶指定的并在分區表中登記了的某個操作系統。

2.磁盤分區表項(DPT,Disk Partition Table)

由四個分區表項構成(每個16個字節)。

負責說明磁盤上的分區情況,其內容由磁盤介質及用戶在使用FDISK定義分區時決定。(具體內容略)

3.結束標志(占2個字節)

其值為AA55,存儲時低位在前,高位在后,即看上去是55AA(十六進制)。

 

磁盤分區

磁盤分區是使用分區編輯器(partition editor)在磁盤上以柱面為單位劃分幾個邏輯部分,盤片一旦劃分成數個分區(Partition),不同類的目錄與文件可以存儲進不同的分區。越多分區,也就有更多不同的地方,可以將文件的性質區分得更細,按照更為細分的性質,存儲在不同的地方以管理文件;但太多分區就成了麻煩。空間管理、訪問許可與目錄搜索的方式,依屬于安裝在分區上的文件系統。當改變大小的能力依屬于安裝在分區上的文件系統時,需要謹慎地考慮分區的大小。

磁盤分區可做看作是邏輯卷管理前身的一項簡單技術。

在一個MBR分區表類型的硬盤中最多只能存在4個主分區。如果一個硬盤上需要超過4個以上的磁盤分塊的話,那么就需要使用擴展分區了。如果使用擴展分區,那么一個物理硬盤上最多只能3個主分區和1個擴展分區。擴展分區不能直接使用,它必須經過第二次分割成為一個一個的邏輯分區,然后才可以使用。一個擴展分區中的邏輯分區可以任意多個。

 

為什么要給硬盤分區

分區允許在一個磁盤上有多個文件系統。有許多理由需要這么做:

有利于管理,系統一般單獨放一個區,這樣由于系統區只放系統,其他區不會受到系統盤出現磁盤碎片的性能影響。

礙于技術限制(例如舊版的微軟FAT文件系統不能訪問超過一定的磁盤空間;舊的PC BIOS不允許從超過硬盤1024個柱面的位置啟動操作系統)

如果一個分區出現邏輯損壞,僅損壞的分區而不是整個硬盤受影響。

在一些操作系統(如Linux)交換文件通常自己就是一個分區。在這種情況下,雙重啟動配置的系統就可以讓幾個操作系統使用同一個交換分區以節省磁盤空間。

避免過大的日志或者其他文件占滿導致整個計算機故障,將它們放在獨立的分區,這樣可能只有那一個分區出現空間耗盡。

兩個操作系統經常不能存在同一個分區上或者使用不同的“本地”磁盤格式。為了不同的操作系統,將磁盤分成不同的邏輯磁盤。

許多文件系統使用固定大小的簇將文件寫到磁盤上,這些簇的大小與所在分區文件系統大小直接成比例。如果一個文件大小不是簇大小的整數倍,文件簇組中的最后一個將會有不能被其它文件使用的空閑空間。這樣,使用簇的文件系統使得文件在磁盤上所占空間超出它們在內存中所占空間,并且越大的分區意味著越大的簇大小和越大的浪費空間。所以,使用幾個較小的分區而不是大分區可以節省空間。如:FAT16。

每個分區可以根據不同的需求定制。例如,如果一個分區很少往里寫數據,就可以將它加載為只讀。如果想要許多小文件,就需要使用有許多節點的文件系統分區。

在運行Unix的多用戶系統上,有可能需要防止用戶的硬連結攻擊。為了達到這個目的,/home/tmp路徑必須與如/var/etc下的系統文件分開。

 

分區格式

磁盤分區后,必須經過格式化才能夠正式使用,格式化后常見的文件系統格式有:FAT(FAT16)、FAT32、NTFS、ext2、ext3等。

FAT16

這是MS-DOS和最早期的Win95操作系統中最常見的磁盤分區格式。它采用16位的文件分配表,能支持最大為2GB的硬盤,是目前應用最為廣泛和獲得操作系統支持最多的一種磁盤分區格式,幾乎所有的操作系統都支持這一種格式,從DOS、Win95、Win97Win98、Windows NT、Win2000,L inux都支持這種分區格式。但是在FAT16分區格式中,它有一個最大的缺點:磁盤利用效率低。因為在DOSWi ndows系統中,磁盤文件的分配是以簇為單位的,一個簇只分配給一個文件使用,不管這個文件占用整個簇容量的多少。這樣,即使一個文件很小的話,它也要占用了一個簇,剩余的空間便全部閑置在那里,形成了磁盤空間的浪費。由于分區表容量的限制,FAT16支持的分區越大,磁盤上每個簇的容量也越大,造成的浪費也越大。所以為了解決這個問題,微軟公司在Win97中推出了一種全新的磁盤分區格式FAT32。

FAT32

這種格式采用32位的文件分配表,使其對磁盤的管理能力大大增強,突破了FAT16對每一個分區的容量只有2 GB的限制。由于硬盤生產成本下降,其容量越來越大,運用FAT32的分區格式后,我們可以將一個大硬盤定義成一個分區而不必分為幾個分區使用,大大方便了對磁盤的管理。而且,FAT32具有一個最大的優點:在一個不超過8GB的分區中,FAT32分區格式的每個簇容量都固定為4KB,與FAT16相比,可以大大地減少磁盤的浪費,提高磁盤利用率。支持這一磁盤分區格式的操作系統有Win97、Win98Win2000。但是,這種分區格式也有它的缺點,首先是采用FAT32格式分區的磁盤,由于文件分配表的擴大,運行速度比采用FAT16格式分區的磁盤要慢。另外,由于DOS不支持這種分區格式,所以采用這種分區格式后,就無法再使用DOS系統。

NTFS

它的優點是安全性和穩定性極其出色,在使用中不易產生文件碎片。它能對用戶的操作進行記錄,通過對用戶權限進行非常嚴格的限制,使每個用戶只能按照系統賦予的權限進行操作,充分保護了系統與數據的安全。支持這種分區格式的操作系統已經很多,從 Windows NT Windows 2000 直至 Windows Vista Windows 7Windows 8。[

ext2、ext3

ext2,ext3linux操作系統適用的磁盤格式,Linux ext2/ext3文件系統使用索引節點來記錄文件信息,作用像windows的文件分配表。索引節點是一個結構,它包含了一個文件的長度、創建及修改時間、權限、所屬關系、磁盤中的位置等信息。一個文件系統維護了一個索引節點的數組,每個文件或目錄都與索引節點數組中的唯一一個元素對應。系統給每個索引節點分配了一個號碼,也就是該節點在數組中的索引號,稱為索引節點號。 linux文件系統將文件索引節點號和文件名同時保存在目錄中。所以,目錄只是將文件的名稱和它的索引節點號結合在一起的一張表,目錄中每一對文件名稱和索引節點號稱為一個連接。 對于一個文件來說有唯一的索引節點號與之對應,對于一個索引節點號,卻可以有多個文件名與之對應。因此,在磁盤上的同一個文件可以通過不同的路徑去訪問它。

Linux缺省情況下使用的文件系統為Ext2ext2文件系統的確高效穩定。但是,隨著Linux系統在關鍵業務中的應用,Linux文件系統的弱點也漸漸顯露出來了:其中系統缺省使用的ext2文件系統是非日志文件系統。這在關鍵行業的應用是一個致命的弱點。

Ext3文件系統是直接從Ext2文件系統發展而來,ext3文件系統已經非常穩定可靠。它完全兼容ext2文件系統。用戶可以平滑地過渡到一個日志功能健全的文件系統中來。這實際上了也是ext3日志文件系統初始設計的初衷。

原創文章,作者:TQT,如若轉載,請注明出處:http://www.www58058.com/72939

(1)
TQTTQT
上一篇 2017-04-09
下一篇 2017-04-09

相關推薦

  • linux文件的時間

    1,linux文件有哪些時間屬性     access time:atime 訪問時間:即查看訪問文件的時間     modify time:mtime 修改時間:修改文件內容的時間     change time:ctime 改變時間:修…

    Linux干貨 2016-06-09
  • Hello word!

    初識linux

    2018-03-26
  • 磁盤管理2——文件系統掛載和swap文件系統以及磁盤管理工具

    文件系統的使用: 首先要“掛載”:mount命令和umount命令 根文件系統之外的其他文件系統要想能夠被訪問,都必須通過“關聯”至根文件系統上的某個目錄來實現,此管理操作即為“掛載”,此目錄為“掛載點” 掛載點:MOUNT_POINT,用于作為另一個文件系統的訪問入口     (1)事先存在   …

    Linux干貨 2016-08-29
  • Linux基礎知識之cp mv rm

    該博文以CentOS6.8_x86_64系統為基礎,Xshell 5遠程連接CentOS系統,以root身份登錄系統和sjsir普通用戶身份登錄系統。 為什么要學習cp、mv、rm命令?     cp、mv、rm命令為Linux系統使用最長使用的三個命令之一,復制、移動和刪除是我們平時處理一些文件必須要學會的命令,應該用于熟練掌握和使用的…

    Linux干貨 2016-07-29
  • date(時間),timedatectl(時區),cal(日歷)的用法

    date+%F 顯示日期,   顯示格式如 2017-07-15+%T 顯示時間    顯示格式如 15:00:15+%Y 顯示年      顯示格式如 2017+%m 月 +%d 日+%H 時+%M 分+%S 秒+%s 從linux初始到現在經歷了多少秒+%w 顯示數字形式的星期+%a …

    Linux干貨 2017-07-14
  • Centos 5\6的啟動流程簡介

     Centos 5\6的啟動流程簡介圖如下  第三步說明:磁盤的第一個扇區512字節的前446是bootloader,與此446字節與grub Stage1的446字節是一樣的,主要功能是加載/boot/grup/目錄下的文件     stage1.5加載相應用的文件系統文件并識別,如ext系列使用的e2fs…

    Linux干貨 2016-06-03

評論列表(1條)

  • renjin
    renjin 2017-04-12 11:57

    主要介紹了硬盤與文件系統的理論知識 ,內容總結的很詳細,繼續努力!

欧美性久久久久