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

知識講堂Unix內(nèi)核教學(xué)

系統(tǒng) 其他OS
unix內(nèi)核是我們學(xué)習(xí)在Unix中很重要的一部分。文章中,我們會講解下Unix內(nèi)核正規(guī)的文件結(jié)構(gòu),目錄和路徑名到索引結(jié)點的轉(zhuǎn)換等知識。

我們這次主要對Unix內(nèi)核的知識進行下講解,很多朋友都存在著對Unix內(nèi)核很茫然的問題。Unix內(nèi)核就是用C等語言寫的操作系統(tǒng)的內(nèi)核,這里的操作系統(tǒng)就是unix.

1.Unix內(nèi)核正規(guī)的文件結(jié)構(gòu)

索引結(jié)點包含著文件在磁盤上位置的明細表。磁盤的每個塊都編了號。在unix系統(tǒng)V中,塊的大小是1k,(在windows里為4k),索引結(jié)點里包含指向各個數(shù)據(jù)塊的指針,其中有10個直接塊,1個1次間接塊,1個2次間接快,1個3次間接塊,如果使用到3次間接的話,單個文件的大小可以最大為16G,存取文件時,內(nèi)核調(diào)用bmap算法將邏輯文件的字節(jié)偏移量映射到文件系統(tǒng)的塊上。

2.Unix內(nèi)核目錄

目錄是使文件系統(tǒng)具有樹型結(jié)構(gòu)的那些文件。目錄是文件,它只是數(shù)據(jù)是一些目錄表項的文件,每個目錄表項有他們的索引結(jié)點號和此目錄下的文件名構(gòu)成,路徑就是有/分割成的各個獨立分量構(gòu)成的。

目錄的讀權(quán)限為允許進程讀目錄,寫權(quán)限為允許進程創(chuàng)建子目錄或刪除子目錄,執(zhí)行權(quán)限為允許進程尋找文件而搜索整個目錄。注意:讀權(quán)限與執(zhí)行權(quán)限的區(qū)別。

3.Unix內(nèi)核路徑名到索引結(jié)點的轉(zhuǎn)換

在后面的系統(tǒng)調(diào)用中,如open,對文件的操作用到的參數(shù)是文件的路徑名。Unix內(nèi)核是通過一個名為namei的算法尋著路徑,找到文件的索引結(jié)點。namei算法每次分析一個路徑名里的分量,根據(jù)名字以及正在搜索的目錄,把每個分量轉(zhuǎn)化成索引結(jié)點,最終返回輸入路徑名的索引結(jié)點。

4.Unix內(nèi)核磁盤塊的分配

系統(tǒng)的實用程序mkfs可以生成下圖的數(shù)組鏈,每個鏈?zhǔn)且粋€磁盤塊,塊中包含一個數(shù)組,分量是空閑的磁盤塊號。
在超級塊中有一磁盤空閑塊表,里面有空閑的磁盤塊的編號,與空閑索引結(jié)點號表一樣是一個單純的數(shù)組。

表為下面的各鏈中的一條:                                                   
=90=86=82=78=74=70=66=62=58=.......=.........
=200=196=192=188=184=180=176=172=.......=........
=400=396=392=388=384=380=.........=................

第2列第一元素的塊號為90,里面存的塊號為200,而200里是第三列里的第一個元素,里面存的自然是下一列元素的第一個400。當(dāng)?shù)谝涣械膲K分配到86時,才將第一個元素分配出去,同時將下一個鏈讀入超級塊里的磁盤空閑塊表里。

unix里廣泛的是用象空閑索引結(jié)點號表和空閑磁盤塊號表這樣的緩沖機制,提高了系統(tǒng)效率。也是unix實現(xiàn)的主要思想之一。

5.Unix內(nèi)核其他文件類型

unix還支持另外兩種文件類型:管道文件和特殊文件。

管道又被成為fifo(first in first out,就是隊列),數(shù)據(jù)只能從一端流入,從一端流出。

特殊文件包括塊設(shè)備特殊文件和字符設(shè)備特殊文件。他們都指明了為設(shè)備,因此索引結(jié)點不引用任何數(shù)據(jù),而含有兩個稱為主與次的設(shè)備號。主設(shè)備號指出終端或磁盤這樣的設(shè)備類型,次設(shè)備號指出這類設(shè)備的裝置號。

Unix內(nèi)核中,我們就介紹這些知識了,以后,我們會對超級塊做詳細的介紹,希望大家能夠關(guān)注我們的教學(xué)。

【編輯推薦】

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

2010-05-05 17:32:29

Unix Superd

2010-05-04 15:29:57

Unix dos

2010-05-05 13:13:55

Unix內(nèi)核

2010-04-14 09:40:05

2010-04-21 13:47:45

Unix內(nèi)核

2010-11-01 00:56:27

2010-05-06 14:33:30

Unix系統(tǒng)交換區(qū)

2009-12-15 13:26:33

Ruby單態(tài)方法

2010-04-13 13:55:36

Unix文件系統(tǒng)

2010-04-13 17:25:40

Unix交換區(qū)

2010-04-14 09:02:57

Unix操作系統(tǒng)

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-05-06 13:54:12

Unix tar

2010-04-21 13:11:54

Unix內(nèi)核

2010-04-29 16:15:26

Unix文件

2010-05-04 09:22:10

Unix文件

2010-05-05 13:45:21

Unix Telnet

2010-04-30 13:27:26

Unix cronta
點贊
收藏

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