下面這篇思考,是在地鐵上突然想到,然後把理解用自己的文字寫在手機上。
扇區和磁碟塊的區別是什麼?
這麼多的單位真的很難記憶,很難區別,最好是自己瞭解原理。物理層面分為磁軌,扇區。
磁碟塊是個虛擬出來的概念,是作業系統中的。作業系統為什麼要虛擬個這樣的概念出來呢?作業系統與磁碟打交道的最小單位是磁碟塊。目前是4k大小。
作業系統操作磁碟,也需要通過磁碟驅動器進行。所以離不開扇區的。
最小單位,好比我們生活中約定最小單位是一毛。沒有一分的單位了。為什麼要這樣,方便管理?
扇區是真實的東西。磁碟驅動器操作磁碟資料,每次都按照扇為最小單位操作。
簇也是作業系統弄出來的概念(不禁問,整這麼多概念幹啥呢)
這好比漢語中幹嘛整這麼多成語,什麼叔叔阿姨之類的稱呼幹嘛呢,全部叫你不就省事了麼?
有的題目會問,磁碟的讀寫單位是?
千萬不要聯絡到作業系統層面去了。
讀寫基本單位是扇區。磁碟驅動器是按照這個單位操作磁碟資料的。
又沒特意指明作業系統讀寫磁碟的基本單位。
檔案系統就是作業系統的一部分,所以檔案系統操作檔案的最小單位是塊。
塊,聽這個詞語會明白,是抽象概念。真的有塊形狀的東西嗎?
是因為我們老喜歡叫磁碟塊,磁碟塊,這個塊讓我們以為磁碟的基本單位是塊。
當我們說塊的時候,是從軟體角度(即作業系統)來說的。因為我們程式設計大部分是在特定的作業系統上執行,與硬體打交道不用我們關注,交給作業系統去處理。本來作業系統的一個任務之一就是與硬體通訊,控制各種硬體(不然怎麼叫作業系統?操作硬體的系統)
由於作業系統以塊為單位操作磁碟,於是,我們不會去提扇區,而是總說磁碟塊。
當介紹磁碟原理的時候,才會說扇區,磁軌,碟片之類的概念。這些本來就是實際存在,摸得找的部件。比如扇區,在碟片上,的確是像扇形狀的物理區域
磁碟塊與扇區大小問題
既然磁碟塊是一個虛擬概念。是作業系統自己"杜撰"的。軟體的概念,不是真實的。所以大小由作業系統決定,作業系統可以配置一個塊多大。
一個塊大小=一個扇區大小*2的n次方。
N是可以修改的。
頓時我思考:為什麼磁碟塊大小必須是扇區大小的整數倍呢?
因為,磁碟驅動器,磁碟附帶的硬體裝置,與磁碟讀寫資料,作業系統也要靠它。
它讀取磁碟資料就是扇區的大小。
一個扇區是512位元組。有些硬碟廠商會提供4k大小扇區。這是物理結構。磁碟定下來的結構就是沒法修改的
塊與頁總是迷糊
作業系統操作需要與記憶體、硬碟這兩種硬體裝置打交道。
都需要虛擬一種單位來操作。與記憶體操作,是虛擬一個頁的概念來作為最小單位。
與硬碟打交道,就是以塊為最小單位。