首先要回答這樣乙個問題「為什麼要寫這樣的文章?」網路中已經有大量這樣的教程和介紹。我的回答和codproject上的一位大牛的回答是類似的,其一是:「對於初學者來說資訊越多越好,多角度的對同乙個問題或者概念進行描述對理解問題和概念是大有好處的。」
其二是:這樣把學習的東西講述出來才能更好的幫助自己理解概念。
什麼是檔案系統?
計算機的檔案系統是一種儲存和組織計算機檔案和資料的方法,它使得對其訪問和查詢變得容易。
這個定義還是比較抽象的,下面舉個具體的例子來說明一下什麼是檔案系統例子:有一塊3g的硬碟,我把硬碟劃分成三個相等的塊,三塊分別可以儲存乙個檔案,這就是乙個最簡單的檔案系統。只能儲存三個檔案,檔案沒有名字,只能通過序號來表示(1,2,3)。這其實就是檔案系統。如下面圖1所示:
圖1通俗一點講檔案系統就是把磁碟劃分成一塊一塊,來存放資料。不同的劃分方法就形成了不同的檔案系統。
為什麼要使用檔案系統?
我想主要有兩個方面來的好處: 1)就是提高儲存的利用率;2)就是為了訪問方便。考慮下沒有檔案系統會是怎樣的情況,那就是一塊磁碟就只能儲存乙個檔案。如果檔案很大把磁碟就放滿了,那還好空間利用率很高。如果很小,那就完了,可能3g的磁碟只放了1k的檔案。然後要訪問哪個檔案就必須人來記住哪個檔案放在了那個磁碟上,麻煩啊。
這時候檔案系統就產生了。還是看我的那個例子,把磁碟分成3塊,這樣就好多了。一塊磁碟能夠放三個檔案,利用率大大提高,少說提高了3倍。但是還只能靠人自己記住檔名在那塊資料區,訪問不夠方便。當然我例子中的檔案系統過於簡單,通常的檔案系統是同都是以目錄和檔名的形式來管理和訪問檔案的。這樣比直接訪問磁碟的塊來方便的多了。
zh.wikipedia.org/wiki/檔案系統
linux檔案系統初探 Day3
今天來看看day3中新增的 day3中並沒有涉及太多一些檔案系統原理上的知識,主要是對之前的 進行補充與完善,新增了一些除錯資訊。主要涉及虛擬檔案系統proc的一些知識,今天來學習一下。proc檔案系統全名process data system,初衷是傳遞程序資料。proc檔案系統使核心生成系統狀態...
Linux檔案系統探秘1
在檔案系統看來,一塊硬碟由多個分割槽組成,每乙個分割槽則由乙個引導塊 乙個超級塊和若干扇區組組成,每個扇區組則由乙個超級塊的引用 inode data block inode點陣圖和data block點陣圖組成。inode中儲存了檔案的metadata,包括許可權 修改時間以及data block...
Linux檔案系統1 概述
本文主要先引入vfs的概念,並從直觀上了解linux中所註冊的檔案系統,從而對linux檔案系統有乙個概括的認識。圖 vfs檔案系統架構圖 vfs為使用者空間提供了統一的介面,不同的檔案系統需要實現這些介面,對於裝置檔案,驅動程式中也要實現相應的介面,這體現了一種機制與分離的理念。圖 核心所註冊的檔...