自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺析Unix內(nèi)核索引結(jié)點(diǎn)表

系統(tǒng) 其他OS
我們?cè)谖恼轮校瑫?huì)給大家?guī)硪恍╆P(guān)于Unix內(nèi)核索引結(jié)點(diǎn)表的知識(shí),索引結(jié)點(diǎn)(index node,簡(jiǎn)稱inode)是文件系統(tǒng)的核心內(nèi)容,也是Unix內(nèi)核最重要的數(shù)據(jù)結(jié)構(gòu)。

大家都知道Unix內(nèi)核,所有的Unix內(nèi)核都同宗同源,并且提供相同的API,現(xiàn)代的Unix內(nèi)核存在許多設(shè)計(jì)上的相似之處。今天,我們就來介紹更多的Unix內(nèi)核的知識(shí)。是關(guān)于Unix內(nèi)核索引結(jié)點(diǎn)表的,我們下面就來看看吧!

索引結(jié)點(diǎn)(index node,簡(jiǎn)稱inode)是文件系統(tǒng)的核心內(nèi)容,也是Unix內(nèi)核最重要的數(shù)據(jù)結(jié)構(gòu)。unix中一個(gè)文件只有一個(gè)inode與其相對(duì)應(yīng),它的儲(chǔ)存在磁盤的索引結(jié)點(diǎn)表里。索引結(jié)點(diǎn)表是一個(gè)線性數(shù)組。索引結(jié)點(diǎn)的各個(gè)域的內(nèi)容如下:
1,文件所有者的標(biāo)識(shí)號(hào)。
2,文件類型。
3,文件的存取權(quán)限。
4,文件的存取時(shí)間。
5,文件的聯(lián)結(jié)數(shù)。
6,文件在磁盤上的位置。
7,文件大小。

(注意:索引結(jié)點(diǎn)不表明該文件的路徑)

當(dāng)索引結(jié)點(diǎn)被某個(gè)進(jìn)程引用是,它被調(diào)入內(nèi)存中。在內(nèi)存中存在另外一個(gè)索引結(jié)點(diǎn)表(in-core inode list)和一個(gè)空閑索引結(jié)點(diǎn)表。當(dāng)索引結(jié)點(diǎn)被調(diào)入內(nèi)存時(shí)(在Unix內(nèi)核中使用iget算法),將索引結(jié)點(diǎn)放入內(nèi)存索引結(jié)點(diǎn)表里,并將其引用數(shù)加1。

內(nèi)存索引結(jié)點(diǎn)里的數(shù)據(jù)域除了磁盤索引結(jié)點(diǎn)的內(nèi)容以外,還有以下新的域:
1,內(nèi)存索引結(jié)點(diǎn)的狀態(tài)
2, 含有該文件的文件系統(tǒng)的邏輯設(shè)備號(hào)。
3,索引結(jié)點(diǎn)號(hào)。(索引結(jié)點(diǎn)在磁盤上數(shù)組里索引)
4,指向其他內(nèi)存索引結(jié)點(diǎn)的指針。
5,引用數(shù)。

Unix內(nèi)核用文件系統(tǒng)和索引結(jié)點(diǎn)號(hào)來標(biāo)識(shí)特定的索引結(jié)點(diǎn),在高層的系統(tǒng)調(diào)用請(qǐng)求是使用iget算法來分配一個(gè)索引結(jié)點(diǎn)的內(nèi)存拷貝,即內(nèi)存索引結(jié)點(diǎn)。Unix內(nèi)核獨(dú)立的操縱索引結(jié)點(diǎn)鎖和引用數(shù)。在系統(tǒng)調(diào)用執(zhí)行期間將起鎖住,防止其他的進(jìn)程在此期間使用此結(jié)點(diǎn),調(diào)用結(jié)束后開鎖。在兩次系統(tǒng)調(diào)用之間結(jié)點(diǎn)是不上鎖的。

而iget算法主要完成的任務(wù):索引結(jié)點(diǎn)號(hào)為參數(shù),如果索引結(jié)點(diǎn)位于內(nèi)存索引結(jié)點(diǎn)表中則引用數(shù)加1,返回索引結(jié)點(diǎn),如果位結(jié)點(diǎn)位于空閑索引結(jié)點(diǎn)表中(此表中索引結(jié)點(diǎn)的引用數(shù)為0),則從該表中取出該索引結(jié)點(diǎn),放入在內(nèi)存索引結(jié)點(diǎn)表中,并將其引用數(shù)加1,如果在兩個(gè)表中都沒有該索引結(jié)點(diǎn),則在空閑表中移出一個(gè)新的索引結(jié)點(diǎn),在磁盤索引結(jié)點(diǎn)表中尋找到該結(jié)點(diǎn),讀入內(nèi)存索引結(jié)點(diǎn)表中,然后返回該索引結(jié)點(diǎn)。

當(dāng)Unix內(nèi)核釋放索引結(jié)點(diǎn)時(shí),引用數(shù)減1。如果引用數(shù)降為0,而且文件的內(nèi)存拷貝與磁盤拷貝不同,則執(zhí)行寫磁盤操作,并把索引結(jié)點(diǎn)放入空閑表里。這里用到的算法是iput。如果文件的聯(lián)結(jié)數(shù)為0,則Unix內(nèi)核釋放該文件的所有數(shù)據(jù)塊,并釋放該文件的磁盤索引結(jié)點(diǎn)。

在這里,我們就對(duì)Unix內(nèi)核的索引結(jié)點(diǎn)表介紹到這里吧,希望大家可以繼續(xù)關(guān)注我們以后對(duì)Unix內(nèi)核的知識(shí)的介紹。

【編輯推薦】

  1. 簡(jiǎn)單四步 編譯Linux內(nèi)核
  2. 教學(xué)Unix操作系統(tǒng)內(nèi)核級(jí)后門
  3. Nginx內(nèi)核優(yōu)化的源代碼探秘
  4. Linux 2.6.31內(nèi)核優(yōu)化指南
  5. 簡(jiǎn)單介紹Linux內(nèi)核安全入侵偵察系統(tǒng)
責(zé)任編輯:小霞
相關(guān)推薦

2010-05-05 13:13:55

Unix內(nèi)核

2010-04-07 17:55:12

Unix命令

2010-04-21 13:41:41

Unix內(nèi)核

2010-04-30 16:08:20

Unix內(nèi)核

2010-04-30 16:19:17

Unix內(nèi)核

2010-04-21 12:54:46

Unix內(nèi)核

2010-04-21 11:15:55

Unix 命令

2010-04-21 16:50:31

Unix信號(hào)量

2010-04-20 15:58:30

Unix操作系統(tǒng)

2010-04-21 13:47:45

Unix內(nèi)核

2010-04-14 16:45:15

Unix操作系統(tǒng)

2010-04-08 16:11:39

Unix操作系統(tǒng)

2010-04-19 17:44:56

Unix操作系統(tǒng)

2010-04-14 09:40:05

2010-04-14 15:44:10

Unix操作系統(tǒng)

2010-04-07 11:31:25

Unix操作系統(tǒng)

2010-04-08 17:31:51

Unix操作系統(tǒng)

2010-04-08 17:43:44

Unix操作系統(tǒng)

2011-03-23 13:59:43

2020-03-20 10:14:49

搜索引擎倒排索引
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)