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