建筑安全員證查詢網(wǎng)上查詢seo排名優(yōu)化什么意思
扇區(qū)(sector)
硬盤的讀寫以扇區(qū)為基本單位。磁盤上的每個磁道被等分為若干個弧段,這些弧段稱之為扇區(qū)。硬盤的物理讀寫以扇區(qū)為基本單位。通常情況下每個扇區(qū)的大小是 512 字節(jié)。linux 下可以使用?fdisk -l
?了解扇區(qū)大小:
$ sudo /sbin/fdisk -l
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x7d9f5643
其中 Sector size,就是扇區(qū)大小,本例中為 512 bytes。
注意,扇區(qū)是磁盤物理層面的概念,操作系統(tǒng)是不直接與扇區(qū)交互的,而是與多個連續(xù)扇區(qū)組成的磁盤塊交互。由于扇區(qū)是物理層面的概念,所以無法在系統(tǒng)中進行大小的更改。
磁盤塊,IO Block
文件系統(tǒng)讀寫數(shù)據(jù)的最小單位,也叫磁盤簇。扇區(qū)是磁盤最小的物理存儲單元,操作系統(tǒng)將相鄰的扇區(qū)組合在一起,形成一個塊,對塊進行管理。每個磁盤塊可以包括 2、4、8、16、32 或 64 個扇區(qū)。磁盤塊是操作系統(tǒng)所使用的邏輯概念,而非磁盤的物理概念。磁盤塊的大小可以通過命令?stat /boot
?來查看:
$ sudo stat /bootFile: /bootSize: 4096 Blocks: 8 IO Block: 4096 directory
Device: 801h/2049d Inode: 655361 Links: 3
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-07-06 20:19:45.487160301 +0800
Modify: 2019-07-06 20:19:44.835160301 +0800
Change: 2019-07-06 20:19:44.835160301 +0800Birth: -
其中 IO Block 就是磁盤塊大小,本例中是 4096 Bytes,一般也是 4K。
為了更好地管理磁盤空間和更高效地從硬盤讀取數(shù)據(jù),操作系統(tǒng)規(guī)定一個磁盤塊中只能放置一個文件,因此文件所占用的空間,只能是磁盤塊的整數(shù)倍,那就意味著會出現(xiàn)文件的實際大小,會小于其所占用的磁盤空間的情況。
test2.txt是一個只包含一個字母的文本文檔。它的理論大小是一個字節(jié),但是由于系統(tǒng)的磁盤塊大小是4KB(文件的最小存儲大小單位),所以test2.txt占據(jù)的磁盤實際空間是4KB
操作系統(tǒng)不能對磁盤扇區(qū)直接尋址操寫,主要原因是扇區(qū)數(shù)量龐大,因此才將多個連續(xù)扇區(qū)組合一起操作。磁盤塊的大小是可以通過blockdev命令更改的。
頁,page
內(nèi)存的最小存儲單位。頁的大小通常為磁盤塊大小的 2^n 倍,可以通過命令?getconf PAGE_SIZE
?來獲取頁的大小:
$sudo getconf PAGE_SIZE
4096
本例中為 4096 Bytes,與磁盤塊大小一致。
總結(jié)兩個邏輯單位:
- 頁,內(nèi)存操作的基本單位
- 磁盤塊,磁盤操作的基本單位
操作系統(tǒng)經(jīng)常與內(nèi)存和硬盤這兩種存儲設(shè)備進行通信,類似于“塊”的概念,都需要一種虛擬的基本單位。所以,與內(nèi)存操作,是虛擬一個頁的概念來作為最小單位。與硬盤打交道,就是以塊為最小單位。
命令索引
- 扇區(qū)大小,
fdisk -l
- 磁盤塊大小,
stat /boot
- 內(nèi)存頁大小,
getconf PAGE_SIZE