偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

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

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

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

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

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

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

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

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

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

系統(tǒng)的實(shí)用程序mkfs可以生成下圖的數(shù)組鏈,每個(gè)鏈?zhǔn)且粋€(gè)磁盤(pán)塊,塊中包含一個(gè)數(shù)組,分量是空閑的磁盤(pán)塊號(hào)。
在超級(jí)塊中有一磁盤(pán)空閑塊表,里面有空閑的磁盤(pán)塊的編號(hào),與空閑索引結(jié)點(diǎn)號(hào)表一樣是一個(gè)單純的數(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列第一元素的塊號(hào)為90,里面存的塊號(hào)為200,而200里是第三列里的第一個(gè)元素,里面存的自然是下一列元素的第一個(gè)400。當(dāng)?shù)谝涣械膲K分配到86時(shí),才將第一個(gè)元素分配出去,同時(shí)將下一個(gè)鏈讀入超級(jí)塊里的磁盤(pán)空閑塊表里。

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

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

unix還支持另外兩種文件類(lèi)型:管道文件和特殊文件。

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

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

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

【編輯推薦】

  1. 簡(jiǎn)單四步 編譯Linux內(nèi)核
  2. 教學(xué)Unix操作系統(tǒng)內(nèi)核級(jí)后門(mén)
  3. Nginx內(nèi)核優(yōu)化的源代碼探秘
  4. Linux 2.6.31內(nèi)核優(yōu)化指南
  5. 簡(jiǎn)單介紹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-29 16:15:26

Unix文件

2010-04-30 13:27:26

Unix cronta

2010-05-04 12:25:28

Unix鏈接

2010-05-05 13:45:21

Unix Telnet

2010-05-04 09:22:10

Unix文件
點(diǎn)贊
收藏

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