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

學(xué)習(xí)Unix文件系統(tǒng)基礎(chǔ)

系統(tǒng) 其他OS
文章中,我們會(huì)講解下Unix文件系統(tǒng)基礎(chǔ)的知識(shí)。內(nèi)核文件子系統(tǒng),是主要負(fù)責(zé)訪問和管理系統(tǒng)及用戶文件。Unix文件類型有許多種。

學(xué)習(xí)Unix,我們要從基礎(chǔ)開始。這里,我們就來學(xué)習(xí)下Unix文件系統(tǒng)基礎(chǔ)。Unix內(nèi)核有兩個(gè)基本的子系統(tǒng):Unix文件子系統(tǒng)和進(jìn)程控制子系統(tǒng)。Unix文件子系統(tǒng)負(fù)責(zé)文件的相關(guān)操作和管理進(jìn)程控制子系統(tǒng)則負(fù)責(zé)與進(jìn)程相關(guān)的操作與管理。

內(nèi)核文件子系統(tǒng)

它主要負(fù)責(zé)訪問和管理系統(tǒng)及用戶文件。Unix系統(tǒng)只是把文件看作是一組數(shù)據(jù)字節(jié),對(duì)它們的解釋是通過系統(tǒng)提供的某種結(jié)構(gòu)進(jìn)行的。Unix內(nèi)核文件子系統(tǒng)使用了三個(gè)數(shù)據(jù)結(jié)構(gòu)來描述每一個(gè)文件以及訪問文件的途徑,它們分別是與具體進(jìn)程相關(guān)的文件描述符表項(xiàng),與內(nèi)核相關(guān)的文件表項(xiàng),與每個(gè)文件相關(guān)的索引節(jié)點(diǎn)。

文件描述符表:在內(nèi)核中,對(duì)應(yīng)于每個(gè)進(jìn)程,都有一個(gè)文件描述符表,用來標(biāo)識(shí)改進(jìn)程要打開的所有文件。該表中的每一項(xiàng)對(duì)應(yīng)一個(gè)進(jìn)程打開的文件,每一項(xiàng)中有一個(gè)稱為文件描述符(file description)的整型數(shù)用來標(biāo)識(shí)文件。

文件表:文件表中的每一項(xiàng)對(duì)應(yīng)于內(nèi)核中打開的文件,主要描述用戶對(duì)文件的訪問權(quán)限及讀寫起始地址。索引節(jié)點(diǎn)(Index Node,又稱inode)文件的具體信息是通過索引節(jié)點(diǎn)來描述的。根據(jù)所在位置的不同,inode分為磁盤inode和內(nèi)存inode。

進(jìn)程要訪問文件,必須通過上述三種數(shù)據(jù)結(jié)構(gòu)來進(jìn)行,過程具體如下:

進(jìn)程先訪問與它對(duì)應(yīng)的文件描述符表,通過它訪問文件表,進(jìn)而訪問inode表中與文件相關(guān)的inode表項(xiàng),***通過inode去訪問文件,如下圖所示。

文件類型

Unix文件類型有許多種,當(dāng)用戶使用ls –l filename命令時(shí),所列內(nèi)容的***項(xiàng)的***位就標(biāo)識(shí)了文件系統(tǒng)的類型。

正規(guī)文件(regular file):又稱為普通文件,在使用ls –l時(shí),所列內(nèi)容的***項(xiàng)的***位為“-”。系統(tǒng)中源碼、文本和shell程序等都是正規(guī)文件。

目錄文件:在Unix系統(tǒng)中,目錄是一種特殊的文件,它的內(nèi)容是所包含的文件的信息:文件的位置、大小、文件的創(chuàng)建時(shí)間等。使用ls –l時(shí),***項(xiàng)***列的標(biāo)識(shí)為“d”。目錄文件只能由操作系統(tǒng)或?qū)iT的程序來讀取和修改,普通用戶無法直接訪問目錄文件,只能讀取目錄文件的內(nèi)容。

套接字:socket是Unix系統(tǒng)中用于計(jì)算機(jī)之間相互通信的應(yīng)用程序的接口它將完成網(wǎng)絡(luò)上的I/O操作。在Unix系統(tǒng)中,socket并不是一個(gè)真正的文件,但是它被抽象成一個(gè)文件,使用ls –l命令時(shí),***項(xiàng)***位的標(biāo)識(shí)為“s”。

設(shè)備文件(device file):Unix系統(tǒng)為了實(shí)現(xiàn)與外設(shè)相關(guān)的操作,提供設(shè)備文件專門負(fù)責(zé)內(nèi)存與外設(shè)間的I/O操作。Unix系統(tǒng)中有兩種設(shè)備文件:字符設(shè)備文件(character device file)和塊設(shè)備文件(block device file)。

字符設(shè)備文件用于與外設(shè)進(jìn)行無緩沖的I/O操作,使用ls –l時(shí),其***項(xiàng)***位標(biāo)識(shí)為“e”;塊設(shè)備文件用于與外設(shè)進(jìn)行有緩沖的I/O操作,使用ls –l時(shí),其***項(xiàng)的***位標(biāo)識(shí)為“b”。一般來說,系統(tǒng)中的磁盤驅(qū)動(dòng)器(包括硬盤和CDROM)為塊設(shè)備文件,磁帶驅(qū)動(dòng)器和終端驅(qū)動(dòng)器為字符設(shè)備文件。鍵盤和顯示器為系統(tǒng)的兩個(gè)標(biāo)準(zhǔn)輸入/輸出的字符設(shè)備文件。

有名管道(FIFO文件):Unix系統(tǒng)提供了使用管道實(shí)現(xiàn)進(jìn)程間通信的方法。它是一個(gè)臨時(shí)文件,嚴(yán)格遵守先進(jìn)先出的原則,因此又稱為FIFO文件。在使用ls –l時(shí),***項(xiàng)***位的標(biāo)識(shí)為“p”。

鏈接(link):系統(tǒng)中的鏈接是一個(gè)已經(jīng)存在的文件的另一個(gè)名字,它不復(fù)制文件的內(nèi)容。有兩種鏈接方式,一種是硬鏈接(hard link),另一種是符號(hào)鏈接(symbolic link),又稱軟鏈接。硬鏈接和原有文件是存儲(chǔ)在同一物理地址的兩個(gè)不同的名字,因此硬鏈接是相互的;符號(hào)鏈接的內(nèi)容只是一個(gè)所鏈接文件的文件名,在使用ls –l時(shí),符號(hào)鏈接的***項(xiàng)的***位為“l”。

在這里,我們關(guān)于Unix文件的知識(shí),我們就學(xué)習(xí)這些簡單的知識(shí)。

【編輯推薦】

  1. Unix病毒和蠕蟲如何工作
  2. Unix病毒、蠕蟲和木馬威脅了我們的電腦
  3. Linux/Unix平臺(tái)不是無懈可擊
  4. Unix操作系統(tǒng)市場(chǎng)3大角逐
  5. SCO Unix取消IBM的UNIX類OS授權(quán)
責(zé)任編輯:小霞
相關(guān)推薦

2010-04-13 13:55:36

Unix文件系統(tǒng)

2010-04-15 16:24:10

Unix操作系統(tǒng)

2010-05-10 19:03:00

Unix文件

2010-05-05 17:46:32

Unix文件系統(tǒng)

2010-05-04 14:36:40

Unix文件系統(tǒng)

2010-04-26 18:35:18

Unix文件

2010-04-26 18:11:55

Unix文件系統(tǒng)

2010-04-13 13:31:31

Unix文件

2010-04-29 10:11:17

Unix系統(tǒng)

2010-04-30 15:51:48

Unix系統(tǒng)

2011-03-23 14:00:44

2010-04-08 15:58:24

Unix操作系統(tǒng)

2011-03-23 14:28:29

安全Unix系統(tǒng)find

2010-06-22 16:18:54

2010-04-30 17:03:44

Unix文件系統(tǒng)

2015-07-27 09:22:53

Unix文件系統(tǒng)命令

2010-04-13 14:00:10

Unix文件

2010-07-27 10:15:38

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

2010-04-07 18:42:42

Unix命令

2010-05-04 17:09:56

點(diǎn)贊
收藏

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