Linux文件系統

  文件系統是一個邏輯上的概念,本身與磁盤沒有什么關系,它是一個外圍性永久存儲設備,我們知道,計算機共有五大部件,存儲設備是一種,內存是個臨時性質的存儲設備,無論是關機還是斷電,存在里面的數據都會消失,我們需要一個永久性存儲的設備,來彌補內存只是臨時存儲性。

  對于Linux來說,其哲學思想之一就是一切皆文件,我們Linux上的訪問設備全是通過文件接口來實現的,這就如同說我們訪問設備如同訪問一個文件一樣。因為它們都是使用的是文件系統接口。

  在操作系統中,管理磁盤的文件系統有很多種,Windows的NTFS和FAT,Linux的EXT、xfs系列等都是管理磁盤的文件系統,不過它們的分區方式不一樣,Windows分區方式就是直接就是分為C盤和D盤,兩個都是相互獨立的,讓我們很直觀看到,而Linux不是,Linux是除了”/”以外,你就看不到其它任何的獨立分區,但這并不代表它不能支持多個文件系統,只不過我們就是帶著”/”一起訪問罷了。

  當我們格式化完成以后,我們的用戶以為格式化就是能刪除所有的數據,這個本質倒是也沒錯,不過有點不同的就是,格式化是寫文件系統的,它會把磁盤按照邏輯上劃分為元數據區域和數據區域,元數據區域記錄的是Inode節點和超級快等位圖信息,數據區域才是真正存儲的數據,我們的格式化分為低級格式化和高級格式化,低級格式化是廠商在硬盤上劃分出一個個磁道,而高級格式化是我們用戶要使用磁盤在邏輯上建立的一種文件系統。

  在文件系統上我們大部分看到這么兩類,一種是目錄,一種是文件,其實目錄是一個特殊的文件,它是一種路徑的映射,在邏輯上建立文件系統之后,我們就可以使用磁盤了,它們的創建過程相對來說從概念上理解也不是那么容易,首先,它們要將磁盤在邏輯上劃分一個一個的塊兒,這些塊的大小是根據你規劃的分區容量自動來給你進行設定的常見的從1K到4K,然后我們在元數據區域建立一個位圖,這個位圖是標識那個塊是被使用,使用的話,標記為1,沒有使用的話,標記為0,不過,在前面的512個字節你是沒辦法使用的,不但沒辦法使用,要是破壞了你的系統開機就啟動不了,這個分區就叫MBR它是記錄了你操作系統的bootloeader,用于加載內核,然后64個字節中,每16個字節記錄一個分區,總共可以表示四個主分區,最后2個字節是你的驗證,如果劃分好分區的話,會顯示55AA。

  我們繼續上次位圖的話題,使用的話,標記為1,不使用的話,標記為0,但是我有一千個位圖,要存儲數據的話,位圖查找半天,才查找第五百個是0,這也是一件很麻煩的事情,所有就開始事先把這些個塊劃分成為一個一個的塊組,各自管理自己的,數據存儲的時候,可以在這個塊兒上存儲一個,可以在另一個塊上存儲一個,提高了硬盤的寫入速度。

  還有一個就是超級塊,它的作用就是存儲文件系統的大小,有多少是空的和已經填滿的占用多少,以及它們各自的總數和其它諸如此類的信息。要使用一個數據來進行數據訪問,那么第一個要訪問的就是超級塊。所以,如果超級塊壞了,那磁盤就真的沒有救了

  超級塊占用第1號物理塊,是文件系統的控制塊,超級塊包括:文件系統大小、空閑塊的數目、空閑塊的索引表、以及空閑i節點的數目,空閑i節點的索引表、封鎖標記等。超級塊是系統為文件分配存儲空間。

原創文章,作者:劉 祥宇,如若轉載,請注明出處:http://www.www58058.com/58948

(0)
劉 祥宇劉 祥宇
上一篇 2016-11-11 14:31
下一篇 2016-11-12 20:39

相關推薦

  • N22-第三周博客作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 2、取出最后登錄到當前系統的用戶的相關信息。 3、取出當前系統上被用戶當作其默認shell的最多的那個shell。 4、將/etc/passwd中的第三個字段數值最大的后10個用戶的信息全部改為大寫后保存至/tmp/maxusers.txt文件中。 5、取出當前主機的…

    Linux干貨 2016-08-29
  • 馬哥教育網絡班22期第五周博客作業

    正則表達式與grep 文本編輯工具     grep:是一種強大的文本搜索工具,它能使用正則表達式搜索文本,并把匹配的行打印出來;     sed :是一種流編輯器,它是文本處理中非常中的工具,能夠完美的配合正則表達式使用;     awk…

    Linux干貨 2016-10-19
  • httpd及https

    1、建立httpd服務,要求: (1) 提供兩個基于名稱的虛擬主機:     www1.stuX.com,頁面文件目錄為/web/vhosts/www1;錯誤日志為/var/log/httpd/www1/error_log,訪問日志為/var/log/httpd/www1/access_log;   &nbs…

    2017-06-05
  • shell腳本練習題

    1、編寫腳本/root/bin/systeminfo.sh,顯示當前主機系統信 息,包括主機名,IPv4地址,操作系統版本,內核版本, CPU型號,內存大小,硬盤大小。 #!/bin/bash ##編寫腳本/root/bin/systeminfo.sh,顯示當前主機系統信 息,包括主機名,IPv4地址,操作系統版本,內>核版本, C…

    Linux干貨 2016-08-24
  • 圖文演示Netmeeting的三大功能

    原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://jeffyyko.blog.51cto.com/28563/153578     可能很多朋友對Netmeeting有一定認識,但我想真正用過的朋友應該不多,因為類似的軟件太多太多了,所以Netmeet…

    Linux干貨 2015-03-25
  • CentOS程序包管理

    對于Linux系統而言,其能執行的程序為二進制格式,而對于程序開發者而言,直接利用二進制開發程序是不太現實的,所以一般都是利用高級語言來進行軟件開發,其程序也即稱為源代碼;那么我們在對一個程序進行安裝、升級、卸載、 查詢、校驗等操作時,需要對每個源代碼進行編譯成為二進制程序,那么顯然是不太現實的。所以在各Linux發行版中一般都帶有程序包管理器。 所謂程序包…

    Linux干貨 2016-08-25
欧美性久久久久