隨筆-22  評論-8  文章-0  trackbacks-0
          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節點號。
          i節點結構如下(參考/usr/include/sys/ino.h):
          struct dinode
          {
           ushort di_mode;  /*文件類型+用戶權限*/
           short di_nlink;  /*文件鏈接數*/
           ushort di_uid;  /*屬主用戶id*/
           ushort di_gid;  /*屬主用戶組id*/
           off_t di_size;  /*文件大小*/
           char di_addr[40]; /*文件數據區起點地址*/
           time_t di_atime; /*最后訪問時間*/
           time_t di_mtime; /*最后修改時間*/
           time_t di_ctime; /*創建時間*/
          };
          從上面這個結構可以看出以下一些信息:
          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
          posted on 2011-12-28 11:16 Hukin 閱讀(5088) 評論(1)  編輯  收藏

          評論:
          # re: I節點介紹 2012-02-02 10:46 | 恩恩
          每個文件系統分為6部分:引導塊,超級塊,空閑空間管理,i-節點表,根目錄。文件和目錄。
            回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 芦溪县| 泽库县| 丰县| 鄂州市| 呼和浩特市| 景宁| 青海省| 平阳县| 龙州县| 大方县| 白河县| 尉犁县| 屏东市| 凤山市| 临西县| 于田县| 石楼县| 柏乡县| 沧源| 沙坪坝区| 韶山市| 新昌县| 阿瓦提县| 黑水县| 安达市| 拜城县| 滕州市| 金昌市| 温州市| 新田县| 澳门| 汝南县| 阜宁县| 新河县| 大田县| 孟州市| 桂林市| 洛隆县| 亚东县| 浪卡子县| 安塞县|