當前位置:編程學習大全網 - 源碼下載 - linux文件存儲空間管理采用linux文件存儲

linux文件存儲空間管理采用linux文件存儲

linux存儲架構詳解?

大部分的Linux文件系統(如ext2、ext3)規定,壹個文件由目錄項、inode和數據塊組成:

目錄項:包括文件名和inode節點號。

Inode:又稱文件索引節點,包含文件的基礎信息以及數據塊的指針。

數據塊:包含文件的具體內容。

壹、目錄塊

Linux系統中,目錄(directory)也是壹種文件。打開目錄,實際上就是打開目錄文件。

目錄文件的結構非常簡單,就是壹系列目錄項(dirent)的列表。每個目錄項,由兩部分組成:所包含文件的文件名,以及該文件名對應的inode號碼。

ls命令只列出目錄文件中的所有文件名:ls/etc

ls-i命令列出整個目錄文件,即文件名和inode號碼:ls-i/etc

如果要查看文件的詳細信息,就必須根據inode號碼,訪問inode節點,讀取信息。ls-l命令列出文件的詳細信息。ls-l/etc

二、Inode

1、inode是什麽

理解inode,要從文件儲存說起。

文件存儲在硬盤上,硬盤的最小存儲單位叫做“扇區”(Sector)。每個扇區儲存512字節(相當於0.5KB)。

操作系統讀取硬盤的時候,不會壹個個扇區的讀取,這樣效率太低,而是壹次性連續讀取多個扇區,即壹次性讀取壹個“塊”(block)。這種由多個扇區組成的“塊”,是文件存取的最小單位。“塊”的大小,最常見的是4KB,即連續八個sector組成壹個block。

文件數據都儲存在“塊”中,那麽很顯然,我們還必須找到壹個地方儲存文件的“元信息”,比如文件的創建者、文件的創建日期、文件的大小等等。這種儲存文件元信息的區域就叫做inode,中文譯名為索引節點。

inode包含文件的元信息內容(除了文件名之外所有的文件信息)

文件的字節數。

文件類型。

文件擁有者的UserID。

文件的GroupID。

文件的讀、寫、執行權限。

文件的時間戳,***有三個:ctime指inode上壹次變動的時間,mtime指文件內容上壹次變動的時間,atime指文件上壹次打開的時間。

鏈接數,即有多少文件名指向這個inode。

文件數據block的位置(數據塊指針)。

2、inode的大小

inode也會消耗硬盤空間,所以硬盤格式化的時候,操作系統自動將硬盤分成兩個區域。壹個是數據區,存放文件數據;另壹個是inode區(inodetable),存放inode所包含的信息。每個inode節點的大小,壹般是128字節或256字節。inode節點的總數,在格式化時就給定,壹般是每1KB或每2KB就設置壹個inode。假定在壹塊1GB的硬盤中,每個inode節點的大小為128字節,每1KB就設置壹個inode,那麽inodetable的大小就會達到128MB,占整塊硬盤的12.8%。

由於每個文件都必須有壹個inode,因此有可能發生inode已經用光,但是硬盤還未存滿的情況。這時,就無法在硬盤上創建新文件。

3、inode號碼

每個inode都有壹個號碼,操作系統用inode號碼來識別不同的文件。這裏值得重復壹遍,Linux系統內部不使用文件名,而使用inode號碼來識別文件。對於系統來說,文件名只是inode號碼便於識別的別稱或者綽號。表面上,用戶通過文件名,打開文件。實際上,系統內部這個過程分成三步:首先,系統找到這個文件名對應的inode號碼;其次,通過inode號碼,獲取inode信息;最後,根據inode信息,找到文件數據所在的block,讀出數據。

三、數據塊

數據塊就是在磁盤上存儲數據的地方,使用文件的時候由操所系統索引inode來調用相應的文件

補充:創建壹個新文件的操作

存儲屬性內核先找到壹個空閑的i節點(這裏是131074)內核把文件信息記錄到其中

存儲數據該文件需要存儲在三個磁盤塊,內核找到了三個空閑塊:300、500、800將內核緩沖區的第壹塊數據復制到300,下壹塊復制到500,以此類推

記錄分配情況文件內容按順序300、500、800存放,內核在inode上的磁盤分布區記錄了上述塊列表。

linux文件存儲原理?

構建適用於嵌入式系統的Linux文件系統,必然會涉及到兩個關鍵點,壹是文件系統類型的選擇,它關系到文件系統的讀寫性能、尺寸大小;另壹個就是根文件系統內容的選擇,它關系到根文件系統所能提供的功能及尺寸大小。嵌入式設備中使用的存儲器是像Flash閃存芯片、小型閃存卡等專為嵌入式系統設計的存儲裝置。

Flash是目前嵌入式系統中廣泛采用的主流存儲器,它的主要特點是按整體/扇區擦除和按字節編程,具有低功耗、高密度、小體積等優點。

linux文件怎麽保存?

linux怎麽保存文件呢,下面是具體方法:

1、打開linux系統,在linux的桌面的空白處右擊。

2、在彈出的下拉選項裏,點擊打開終端即可進入命令行。

3、在終端窗口中輸入vi+文件命令,回車後進入文件編輯模式。

4、進入文件後,按i或者a進入插入模式。

5、下方顯示insert,即可開始編輯文件。

6、編輯好後,按esc即可退出插入模式。

linux用戶文件放在什麽地方?

linux的用戶文件壹斑是放在/用戶名/home當中的。因為linux有win系統無法想象的嚴格權限控制,所以在/目錄下,也就是根目錄下,非root用戶是無法寫入文件的。linux系統的系統分區用途如下:/根目錄,存放系統文件,並且掛載所有的文件系統/home用戶主目錄/usr軟件以及依賴庫文件夾/tmp臨時文件/opt自定義軟件安裝文件夾/proc內存虛擬映射/boot啟動文件文件夾

linux系統文件存儲結構好處?

從數值上看,文件描述符是壹個非負整數,其本質就是壹個句柄,所以也可以認為文件描述符就是壹個文件句柄。那麽何為句柄呢?壹切對於用戶透明的返回值,即可視為句柄。用戶空間利用文件描述符與內核進行交互;而內核拿到文件描述符後,可以通過它得到用於管理文件的真正的數據結構。

使用文件描述符即句柄,有兩個好處:壹是增加了安全性,句柄類型對用戶完全透明,用戶無法通過任何hacking的方式,更改句柄對用的內部結果,比如Linux內核的文件描述符,只有內核才能通過該值得到相應的文件結構;二是增加了可擴展性,用戶的代碼只依賴於句柄的值,這樣實際的結構的類型就可以隨時發生變化,與句柄的映射關系也可以隨時改變,這些變化都不回影響任何現有的用戶代碼。

Linux的每個進程都會維護壹個文件表,以便維護該進程打開的文件信息,包括打開的文件的個數、每個文件的偏移量等信息。

  • 上一篇:Java怎麽使用synchronized聲明壹個變量?
  • 下一篇:可以看屬相的日歷軟件,能看到每天生肖的日歷表
  • copyright 2024編程學習大全網