下面這篇思考,是在地鐵上突然想到,然後把理解用自己的文字寫在手機上。
扇區和磁碟塊的區別是什麼?
這麼多的單位真的很難記憶,很難區別,最好是自己了解原理。物理層面分為磁軌,扇區。
磁碟塊是個虛擬出來的概念,是作業系統中的。作業系統為什麼要虛擬個這樣的概念出來呢?作業系統與磁碟打交道的最小單位是磁碟塊。目前是4k大小。
作業系統操作磁碟,也需要通過磁碟驅動器進行。所以離不開扇區的。
最小單位,好比我們生活中約定最小單位是一毛。沒有一分的單位了。為什麼要這樣,方便管理?
扇區是真實的東西。磁碟驅動器操作磁碟資料,每次都按照扇為最小單位操作。
簇也是作業系統弄出來的概念(不禁問,整這麼多概念幹啥呢)
這好比漢語中幹嘛整這麼多成語,什麼叔叔阿姨之類的稱呼幹嘛呢,全部叫你不就省事了麼?
有的題目會問,磁碟的讀寫單位是?
千萬不要聯絡到作業系統層面去了。
讀寫基本單位是扇區。磁碟驅動器是按照這個單位操作磁碟資料的。
又沒特意指明作業系統讀寫磁碟的基本單位。
檔案系統就是作業系統的一部分,所以檔案系統操作檔案的最小單位是塊。
塊,聽這個詞語會明白,是抽象概念。真的有塊形狀的東西嗎?
是因為我們老喜歡叫磁碟塊,磁碟塊,這個塊讓我們以為磁碟的基本單位是塊。
當我們說塊的時候,是從軟體角度(即作業系統)來說的。因為我們程式設計大部分是在特定的作業系統上執行,與硬體打交道不用我們關注,交給作業系統去處理。本來作業系統的乙個任務之一就是與硬體通訊,控制各種硬體(不然怎麼叫作業系統?操作硬體的系統)
由於作業系統以塊為單位操作磁碟,於是,我們不會去提扇區,而是總說磁碟塊。
當介紹磁碟原理的時候,才會說扇區,磁軌,碟片之類的概念。這些本來就是實際存在,摸得找的部件。比如扇區,在碟片上,的確是像扇形狀的物理區域
磁碟塊與扇區大小問題
既然磁碟塊是乙個虛擬概念。是作業系統自己"杜撰"的。軟體的概念,不是真實的。所以大小由作業系統決定,作業系統可以配置乙個塊多大。
乙個塊大小=乙個扇區大小*2的n次方。
n是可以修改的。
頓時我思考:為什麼磁碟塊大小必須是扇區大小的整數倍呢?
因為,磁碟驅動器,磁碟附帶的硬體裝置,與磁碟讀寫資料,作業系統也要靠它。
它讀取磁碟資料就是扇區的大小。
乙個扇區是512位元組。有些硬碟廠商會提供4k大小扇區。這是物理結構。磁碟定下來的結構就是沒法修改的
塊與頁總是迷糊
作業系統操作需要與記憶體、硬碟這兩種硬體裝置打交道。
都需要虛擬一種單位來操作。與記憶體操作,是虛擬乙個頁的概念來作為最小單位。
與硬碟打交道,就是以塊為最小單位。
sql server和mysql的區別是什麼
sql server和mysql的區別是什麼 青燈夜遊青燈夜遊2019 05 11 17 20 30原創 sql server和mysql都是廣泛使用的關聯式資料庫管理系統 rdbms 那麼它們之間有什麼區別?下面本篇文章就來給大家介紹一下sql server和mysql之間區別,希望對你們有所幫助...
redis和memcached的區別是什麼?
redis是乙個開源的記憶體資料結構儲存,用作資料庫,快取和訊息 memcached是乙個免費的開源高效能分布式記憶體物件快取系統,它通過減少資料庫負載來加速動態web應用程式。redis與memcached的區別 1 型別 redis是乙個開源的記憶體資料結構儲存系統,用作資料庫,快取和訊息 me...
session和cookies的區別是什麼?
1.儲存位置 session服務端。cookie客戶端。2.安全性 session相對安全,cookie相對不安全。3.儲存型別 session能夠儲存任意的物件,cookie只能儲存string型別的物件。4.大小限制 session沒有大小限制。cookie有大小限制 4k 5.個數限制 ses...