中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux中i節點指的是什么

發布時間:2022-07-21 14:03:44 來源:億速云 閱讀:305 作者:iii 欄目:建站服務器

今天小編給大家分享一下linux中i節點指的是什么的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

在linux中,i節點時一個64字節長的表;i節點中含有有關一個文件的信息,其中有文件大小、文件所有者、文件存取許可方式,以及文件為普通文件、目錄文件還是特別文件等,在i節點中最重要的一項是磁盤地址表。

本教程操作環境:linux7.3系統、Dell G3電腦。

linux中i節點

i節點是一個64字節長的表,含有有關一個文件的信息,其中有文件大小、文件所有者、文件存取許可方式,以及文件為普通文件、目錄文件還是特別文件等。

linux文件系統是Linux系統的心臟部分,提供了層次結構的目錄和文件。文件系統將磁盤空間劃分為每1024個字節一組,稱為塊(也有用512字節為一塊的,如:SCOXENIX)。編號從0到整個磁盤的最大塊數。

全部塊可劃分為四個部分,塊0稱為引導塊,文件系統不用該塊;塊1稱為專用塊,專用塊含有許多信息,其中有磁盤大小和全部塊的其他兩部分的大小。從塊2開始是i節點表,i節點表中含有i節點,表的塊數是可變的,后面將做討論。i節點表之后是空閑存儲塊(數據存儲塊),可用于存放文件內容。

文件的邏輯結構和物理結構是十分不同的,邏輯結構是用戶敲入cat命令后所看到的文件,用戶可得到表示文件內容的字符流。物理結構是文件實際上如何存放在磁盤上的存儲格式。用戶認為自己的文件是邊疆的字符流,但實際上文件可能并不是以邊疆的方式存放在磁盤上的,長于一塊的文件通常將分散地存放在盤上。然而當用戶存取文件時,linux文件系統將以正確的順序取出各塊,給用戶提供文件的邏輯結構。

當然,在linux系統的某處一定會有一個表,告訴文件系統如何將物理結構轉換為邏輯結構。這就涉及到i節點了。

i節點是一個64字節長的表,含有有關一個文件的信息,其中有文件大小、文件所有者、文件存取許可方式,以及文件為普通文件、目錄文件還是特別文件等。在i節點中最重要的一項是磁盤地址表。

該表中有13個塊號。前10個塊號是文件前10塊的存放地址。這10個塊號能給出一個至多10塊長的文件的邏輯結構,文件將以塊號在磁盤地址表中出現的順序依次取得相應的塊。當文件長于10塊時又怎樣呢?磁盤地址表中的第11項給出一個塊號,這個塊號指出的塊中含有256個塊號,至此,這種方法滿足了至多長于266塊的文件(272384字節)。如果文件大于266塊,磁盤地址表的第12項給出一個塊號,這個塊號指出的塊中含有256個塊號,這256個塊號的每一個塊號又指出一塊,塊中含256個塊號,這些塊號才用于取文件的內容。磁盤地址中和第13項索引尋址方式與第12項類似,只是多一級間接索引。

這樣,在linux系統中,文件的最大長度是16842762塊,即17246988288字節,有幸是Linux系統對文件的最大長度(一般為1到2M字節)加了更實際的限制,使用戶不會無意中建立一個用完整個磁盤區所有塊的文件。

inode

提到inode,我們不得不先介紹硬盤的整體結構。硬盤中包含多個硬盤盤片,硬盤盤片為圓形,每個硬盤盤片都有一個可以讀寫的磁頭(Head),將這個磁頭固定,使硬盤盤片旋轉一周,所走軌跡就是磁道(Track)。硬盤內所有盤片的相同磁道號的集合成為磁柱(Cylinder)。每一磁道被劃分成許多區域,每個區域叫一個扇區(Sector)。扇區是硬盤的最小存儲物理量,一個扇區的存儲容量大約是512字節(約0.5K)。

知道了硬盤的大體結構之后,再來談談怎么進行硬盤分區。進行硬盤分割的最小單位是磁柱,分割完之后自然就是格式化(format)。在Linux中進行格式化必須考慮Block與inode,Block還好理解,它是磁盤可以記錄的最小單位,是由數個扇區組成,所以大小通常為n*512Bytes,例如4K。

那么inode是什么呢Block是記錄文件內容的區域,inode則是記錄該文件的屬性及其放置在哪個Block之內的信息。所以,每個文件都會占用一個inode。當Linux系統要查找某個文件時,它會先搜索inode table找到這個文件的屬性及數據存放地點,然后再查找數據存放的Block進而將數據取出。inode數量在一開始已被設定好,其設定方式通常是"硬盤大小/一個容量",這個容量比Block大一些較佳,例如剛才將Block設為4K,那么這個容量可以設為8K左右。所以,一塊1GB的硬盤如果以8K 大小劃分它的inode數,則會有131072個inode。一個inode的大小為128Byte,這樣,我們就可以清楚地知道,一個分區被格式化為一個文件系統之后,基本上它一定會有inode table與數據區域兩大塊,一個用來記錄文件的屬性信息與該文件存放的Block塊,一個用來記錄文件的內容。

創建一個文件后,會同時創建一個inode和一個block,inode存放的是文件的屬性信息,但是不包括文件名,并存放所對應數據所在的block塊的地址的指針;block存放文件的數據,每個block最多存放一個文件,而當一個block存放不下的情況下,會占用下一個block。

linux里文件的文件名、文件屬性、文件內容是分別存儲的:文件名存放在目錄項(即dentry)中,文件屬性存放在inode中,一般情況下,每個inode占用128Bity磁盤空間,文件內容存放在數據塊中。

block塊可以用mkfs.ext3 -b來制定快的大小,每個block塊最多可存放一個文件,所以一般block塊的大小設置要根據我們服務器的應用了設置,如果這個服務器較多用來存放一些多的小文件,那就可以把block塊的大小設置的小一些,不至于浪費空間,而當存放的都是大數據時就需要把block設置的大些,這樣可以減少對磁盤block的讀取次數,也可以減少inode的記錄負擔。

block越大,inode越少,適合存儲大文件的文件系統;block越小,inode越多,適合存儲文件多而小的文件系統。

系統運行時,inode和block會在修改后內存與磁盤做一個同步,我們用ls -li列出來的內容這是內存中的暫存,所以有時候系統非正常的關機會導致block和inode的不同步問題。

以上就是“linux中i節點指的是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴塘县| 扎囊县| 江城| 保靖县| 开远市| 辽阳市| 盖州市| 朝阳县| 新乐市| 三门峡市| 额尔古纳市| 元朗区| 漯河市| 泸水县| 上饶市| 南江县| 疏勒县| 嘉兴市| 河源市| 富宁县| 兴义市| 太保市| 杭锦旗| 武义县| 浙江省| 浦东新区| 安岳县| 大埔县| 绵阳市| 阳西县| 池州市| 石家庄市| 全椒县| 台北县| 元谋县| 诏安县| 三原县| 邵阳市| 西青区| 峨眉山市| 辉县市|