• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Linux操作系統(tǒng)文件管理概論

      2017-08-16 18:27:08朱小明武漢學(xué)院信息及傳播學(xué)院信息系
      數(shù)碼世界 2017年8期
      關(guān)鍵詞:空閑磁盤調(diào)用

      朱小明 武漢學(xué)院信息及傳播學(xué)院信息系

      Linux操作系統(tǒng)文件管理概論

      朱小明 武漢學(xué)院信息及傳播學(xué)院信息系

      隨著計算機(jī)操作系統(tǒng)的發(fā)展,系統(tǒng)的穩(wěn)定性也是越來越重要,但是由于windows操作系統(tǒng)的先天不足,所以linux系統(tǒng)越來越受到歡迎,服務(wù)器操作系統(tǒng),大多都采用linux操作系統(tǒng)用來管理文件。

      linux 文件管理 支持系統(tǒng)

      1 linux文件系統(tǒng)概述

      Linux系統(tǒng)因為使用VFS,所以其核心可以支持如ext、ext2、ext3、ext4、JFS2等的多種的文件系統(tǒng)。下面咱們就說一下文件系統(tǒng),我們還是從外部使用與內(nèi)部實現(xiàn)兩部分來分開講。

      2 外部調(diào)用

      我們知道我們操作系統(tǒng)內(nèi)核的外面也就是用戶空間下,我們是通過系統(tǒng)調(diào)用來使用操作系統(tǒng)提供的功能的。下面我們介紹一下關(guān)于文件和目錄的系統(tǒng)調(diào)用。

      2.1 文件系統(tǒng)調(diào)用

      Fd=create(fileName,mode); 創(chuàng)建文件系統(tǒng)調(diào)用(文件名,權(quán)限狀態(tài)位)

      Fd=open(filename,how); 打開文件(文件名,模式(讀or寫))

      Close(fd) 關(guān)閉一個文件,意味著對一個文件的操作全部結(jié)束

      N=read(fd,buffers,nbytes) 讀取文件(文件句柄,緩存區(qū),讀取的字節(jié)大小)

      N=write(fd,buffer,nbytes) 把數(shù)據(jù)從緩沖區(qū)寫入文件(文件句柄,緩沖區(qū),要寫入的字節(jié)數(shù))

      Position=lseek(fd,offset,whence); 移動文件指針

      S=stat(name,&buf) 獲取文件狀態(tài)信息

      S=fstat(fd,&bug); 獲取文件狀態(tài)信息

      2.2 關(guān)于目錄的系統(tǒng)調(diào)用

      S=mkdir(path,mode) 創(chuàng)建目錄(目錄路徑,權(quán)限)

      S=rmdir(path) 刪除目錄

      S=link(oldPath,newPaht) 創(chuàng)建指向已有文件的鏈接

      S=unlink(path); 刪除已有鏈接

      S=chdir(path) 改變工作目錄

      Dir=opendir(path); 打開目錄

      S=closedir(dir) 關(guān)閉目錄

      dirInfo=readdir(path); 讀取目錄項

      3 內(nèi)部實現(xiàn)原理

      下面我們以linux下ext2文件系統(tǒng)來說一下文件系統(tǒng)的內(nèi)部實現(xiàn)。我們首先看一下磁盤的分區(qū)示意圖:

      引導(dǎo)區(qū)(啟動時讀取哪個分區(qū)上的操作系統(tǒng))分區(qū)表(記錄各個分區(qū)的位置) 1分區(qū) 2分區(qū) 3分區(qū)

      再看一下每個分區(qū)下的數(shù)據(jù)塊:

      超級塊(記錄了文件系統(tǒng)的類型,包含的i節(jié)點(diǎn)的個數(shù)、磁盤塊數(shù)、以及空閑塊鏈表的其實位置)組描述符(存放了空閑塊位圖以及i節(jié)點(diǎn)位圖的位置、目錄的個數(shù))塊位圖用來記錄空閑塊的位置I節(jié)點(diǎn)位圖用來記錄空閑i節(jié)點(diǎn)I節(jié)點(diǎn)存儲區(qū)數(shù)據(jù)存儲區(qū)

      3.1 Inode(i節(jié)點(diǎn))

      因為文件系統(tǒng)要知道所有文件的屬性信息,還要知道文件數(shù)據(jù)在磁盤上的實際存儲位置,所以還要記錄一個文件所占用的磁盤塊。無論是采用鏈表或者位圖來存儲一個硬盤上的文件和目錄信息,都是要耗費(fèi)不少的磁盤空間和內(nèi)存空間,磁盤越大,文件或目錄項或空閑塊就越多。為了解決這個問題,設(shè)計者就想出了這個i節(jié)點(diǎn)的注意,并且在文件系統(tǒng)上實現(xiàn)了。這樣在內(nèi)存中就不必存儲所有文件的位置信息了,需要打開哪些文件就將那些文件的i節(jié)點(diǎn)存儲到內(nèi)存中即可。

      3.2 文件系統(tǒng)的空間分配

      操作系統(tǒng)根據(jù)文件中空間塊位圖以及i節(jié)點(diǎn)位圖來分配和回收文件的創(chuàng)建和消除的存儲分配。

      3.2.1 日志文件系統(tǒng)

      為了防止由于系統(tǒng)崩潰或電源突然中斷導(dǎo)致正在進(jìn)行的文件操作中斷所造成的數(shù)據(jù)丟失,ext2文件系統(tǒng)就必須在每個數(shù)據(jù)塊創(chuàng)建或修改后即刻寫入磁盤。

      Ext3其實只是ext2文件系統(tǒng)加上了一個日志維護(hù)功能,增強(qiáng)了文件系統(tǒng)的健壯性。每一個磁盤操作都會將其具體的操作位置以及數(shù)據(jù)記錄到日志里。當(dāng)發(fā)生系統(tǒng)崩潰或電源中斷時,再次啟動時,文件系統(tǒng)會比對日志與磁盤是否一致,不一致則根據(jù)日志來完善操作。

      3.2.2 網(wǎng)絡(luò)文件系統(tǒng)(NFS)

      網(wǎng)絡(luò)功能在linux中占據(jù)著不可動搖的地位,當(dāng)然文件系統(tǒng)也要強(qiáng)大到支持非本地文件系統(tǒng)。其實網(wǎng)絡(luò)文件系統(tǒng)就是在linux操作系統(tǒng)下,將遠(yuǎn)程機(jī)器上的目錄掛載到本地的文件系統(tǒng)上,首先遠(yuǎn)程機(jī)器會檢查客戶機(jī)器的掛載請求以及權(quán)限驗證,通過則將自己的文件系統(tǒng)類型以及被掛載目錄的i節(jié)點(diǎn)信息組成的一個唯一標(biāo)識放到本地。當(dāng)本地有對此文件操作時,文件系統(tǒng)就會檢查當(dāng)前被掛載的目錄是本地文件系統(tǒng)還是網(wǎng)絡(luò)文件系統(tǒng)。如果是網(wǎng)絡(luò)文件系統(tǒng),則通過網(wǎng)絡(luò)文件系統(tǒng)協(xié)議發(fā)送讀取文件或者打開文件的請求,包含文件名以及讀取的位置或要寫入的數(shù)據(jù)或位置,然后遠(yuǎn)程機(jī)器返回相應(yīng)。

      4 結(jié)論

      盡管文件系統(tǒng)的實現(xiàn)并不復(fù)雜,但它是可伸縮和可擴(kuò)展的體系結(jié)構(gòu)的好例子。文件系統(tǒng)體系結(jié)構(gòu)已經(jīng)發(fā)展了許多年,并成功地支持了許多不同類型的文件系統(tǒng)和許多目標(biāo)存儲設(shè)備類型。由于使用了基于插件的體系結(jié)構(gòu)和多層的函數(shù)間接性,Linux文件系統(tǒng)發(fā)展很值得關(guān)注。

      [1]文東戈,孫昌立,王旭.Linux操作系統(tǒng)實用教程[M].北京:清華大學(xué)出版社,2010.

      [2]阿正.linux文件系統(tǒng)概述[J]

      猜你喜歡
      空閑磁盤調(diào)用
      恩賜
      詩選刊(2023年7期)2023-07-21 07:03:38
      核電項目物項調(diào)用管理的應(yīng)用研究
      解決Windows磁盤簽名沖突
      電腦愛好者(2019年2期)2019-10-30 03:45:31
      “鳥”字謎
      小讀者之友(2019年9期)2019-09-10 07:22:44
      LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
      修改磁盤屬性
      彪悍的“寵”生,不需要解釋
      磁盤組群組及iSCSI Target設(shè)置
      基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
      創(chuàng)建VSAN群集
      义马市| 海原县| 涿州市| 武汉市| 四子王旗| 皮山县| 呈贡县| 河南省| 静宁县| 牡丹江市| 同德县| 留坝县| 昌宁县| 万州区| 宁津县| 黄冈市| 宾川县| 临湘市| 云南省| 虎林市| 广平县| 水富县| 綦江县| 即墨市| 上思县| 泸溪县| 尉氏县| 施甸县| 曲阜市| 张家港市| 斗六市| 大邑县| 广元市| 太仆寺旗| 凯里市| 扎赉特旗| 南通市| 连州市| 建瓯市| 新河县| 岳普湖县|