Linux 檔案描述符表

2021-10-02 14:09:16 字數 624 閱讀 1317

上圖為虛擬位址空間結構圖;

在核心區的程序管理模組中有個程序控制塊(pcb),實質上是個四百多行的結構體;在程序控制塊中有個檔案描述符表,如下圖:

檔案描述符表中最多能儲存1024個檔案描述符;

下面講一下檔案描述符表如何儲存檔案的各種資訊

檔案描述符表還依賴另外兩個表協同工作,分別是開啟檔案表和i-node表,這兩張表整個系統只有乙份,而檔案描述符表每乙個程序中都有一張;

每乙個檔案描述符對應乙個檔案指標,不同的檔案有不同的檔案描述符,通過檔案指標可以確定檔案檔案i-node指標在開啟檔案表中的位置,以及對應的一些其他檔案資訊。

檔案描述符表實際上就是乙個長度為1024的陣列,檔案描述符就是陣列的下角標,陣列中儲存的就是指向檔案的指標。檔案描述表前三個預設被占用的。檔案描述符表是從最小的沒有被占用的開始使用

linux檔案描述符

本文介紹了檔案描述符,1 首先說什麼是檔案描述符,它有什麼作用?檔案描述符是乙個簡單的整數,用以標明每乙個被程序所開啟的檔案和socket。基於檔案描述符的輸入輸出函式 open 開啟乙個檔案,並指定訪問該檔案的方式,呼叫成功後返回乙個檔案描述符。creat 開啟乙個檔案,如果該檔案不存在,則建立它...

linux檔案描述符

當某個程式開啟檔案時,作業系統返回相應的檔案描述符,程式為了處理該檔案必須引用此描述符。所謂的檔案描述符是乙個低階的正整數。最前面的三個檔案描述符 0,1,2 分別與標準輸入 stdin 標準輸出 stdout 和標準錯誤 stderr 對應。因此,函式 scanf 使用 stdin,而函式 pri...

Linux 檔案描述符

我們之前就知道在linux作業系統下 一切皆檔案 所以在這個條件下,所有研究的物件都變相的相當於研究檔案,那麼對檔案系統的研究也應該是必須的。我們的核心利用檔案描述符來訪問檔案,每個檔案描述符都是非負整數,開啟現存的檔案或者是新建檔案時,核心會返回乙個檔案描述符,讀寫檔案也需要使用檔案描述符來指定待...