Linux核心分析 開啟檔案描述符實現

2021-09-08 12:21:54 字數 608 閱讀 3830

在linux中每乙個程序的資料是儲存在乙個task_struct結構(定義在sched.h中)中的。

1

struct

task_struct ;

該結構中有乙個用於儲存開啟檔案資訊的成員:files,該成員型別是:struct files_struct*(定義在file.h)。

1 /*

2 * open file table structure

3 */

4 struct files_struct ;

可以看到該結構中儲存了所有與程序開啟檔案相關的資訊,其中fd_array是乙個struct file*(定義在file.h)型別的陣列。

1 struct file {

2 struct list_head f_list;

3 struct dentry *f_dentry;

4 struct vfsmount *f_vfsmnt;

5 struct file_operations *f_op;

struct file就是儲存了每個開啟檔案資訊的資料結構。

Linux核心分析 開啟檔案描述符實現

在linux中每乙個程序的資料是儲存在乙個task struct結構 定義在sched.h中 中的。1 struct task struct 該結構中有乙個用於儲存開啟檔案資訊的成員 files,該成員型別是 struct files struct 定義在file.h 1 2 open file t...

Linux核心分析 Kconfig檔案分析

注 本文參考資料 朱有鵬嵌入式課程。本文為個人學習記錄,如有錯誤,歡迎指正。kcongfig用於構建linux核心配置的圖形介面,配置介面所有配置項都從kconfig中讀取。kconfig檔案遵循一定的格式,menuconfig程式可以識別其格式,並從中提取相關資訊形成menuconfig介面中的選...

linux核心head S檔案分析

1 kernel ram vaddr vaddr就是virtual address 這個巨集定義了核心執行時的虛擬位址。值為0xc0008000 2 kernel ram paddr paddr就是physical address 這個巨集定義核心執行時的物 理位址。值為0x30008000 3 總...