i節點介紹
2. 乙個磁碟可以劃分為n多扇區,每個扇區有512位元組 。扇區是磁碟上的基本儲存單元,我們可以將每個扇區進行編號,這樣磁碟就變為
一系列編了號的塊的組合。
3. 磁碟塊上儲存檔案時,按照一定的規律。
每個檔案系統
分為3部分:超級塊,i-節點表,資料區 。
超級塊:存放檔案系統本身的資訊,比如記錄了每個區域的大小,或未被使用的磁碟塊的資訊。(不同版本稍有差別)
i-節點表:每個檔案都有其屬性,大小,最近修改時間等等,這些被儲存在ino_t 的結構體中,所有的i-節點都有一樣的大小,i-節點表就是這樣一些節點的列表。
(表中的每個i-節點都通過位置來標誌,例如標誌為2的i-節點位於檔案系統i-節點表中的第3個位置 )
資料塊:存放檔案內容,因為塊的大小一定,所以有時乙個檔案會分布在多個磁碟上。
4.
建立乙個檔案
的4個步驟:
儲存屬性:核心先找到乙個空的i-節點,把檔案的屬性資訊填入其中;
儲存資料:從磁碟上找出空閒塊,把檔案資料複製進去;
記錄分配情況:核心在i-節點的磁碟分布區記錄了剛剛的磁碟編號
新增檔名到目錄:將(i-節點號,檔名)新增到目錄。
nix檔案系統包括引導塊、超級塊、i節點區、檔案儲存區、程序對換區等幾部分。
引導塊占用第0號物理塊,不屬於檔案系統管轄,如果系統中有多個檔案系統,只有根檔案系統才有引導程式放在引導塊中,其餘檔案系統都不使用引導塊;
超級塊占用第1號物理塊,是檔案系統的控制塊,超級塊包括:檔案系統的大小、空閒塊數目、空閒塊索引表、空閒i節點數目、空閒i節點索引表、封鎖標記等。超級塊是系統為檔案分配儲存空間、**儲存空間的依據。
i節點區存放i節點,i節點是對檔案進行控制和管理的一種資料結構。
檔案儲存區是存放檔案內容的區域,檔案儲存區中各資料塊的使用情況在超級塊中由記錄,系統利用超級塊中的記錄完成對資料塊的分配和**
unix檔案系統中很重要的概念之一就是i節點,下面就開始說說這個重要概念。
每乙個檔案都有自己的i節點,每個i節點都有乙個唯一的i節點號。
struct dinode
;1、i節點儲存了檔案的屬性和型別、存放檔案內容的物理塊位址、最近一次的訪問時間、最近一次的修改時間、建立此檔案的時間。
2、i節點中沒有記錄檔案名字,那檔名是怎麼關聯到i節點,這麼設計又有什麼好處呢?
呵呵,這裡就關係到了 硬連線與符號連線的區別?
3、di_mode這個是怎麼儲存檔案型別+使用者許可權的,這個如果引申下來也很值得一說。
一般我們用l列檔案看到的是這樣的結果:
drwxr-xr-x 7 root sys 512 dec 15 2002 var
-rw-r--r-- 1 root sys 4003 jul 4 23:37 1
深入理解linux i節點 inode
深入理解linux i節點 inode 對於unix系列的作業系統,大多都有v節點。但是對於linux來說,只有通用的i節點,卻沒有v節點。下面來 一下,linux下的i節點。linux中,檔案查詢不是通過檔名稱來查詢的。實際上是通過i節點來實現檔案的查詢定位的。我們可以形象的將i節點看做是乙個指標...
linux i2c 驅動分析
static struct platform driver s3c2410 i2c driver static struct platform driver s3c2440 i2c driver static int init i2c adap s3c init void return ret st...
linux i2c驅動總結
最近幾天一直在看i2c的驅動架構,看到目前的感覺是說明白吧又不是很透徹,說不明白吧又知道點,總之有點不明白。明白的 1 adapter驅動,i2c控制器驅動,如果要開發i2c控制器的,這部分是要實現的。這部分要填充struct i2c adapter 結構圖和struct alogrithm結構體....