diy檔案系統上建立檔案的流程

2021-07-05 15:28:03 字數 1124 閱讀 6323

0.1) source code are from orange』s implemention of a os , and for complete code , please visit ;

0.2)本文總結的內容是乾貨, 而且 建立檔案所涉及的**呼叫太複雜,整理了出來,生怕它含在嘴裡化了,所以發表上來;

0.3) 本建立檔案的**or steps 僅僅針對 orange『s diy 的檔案系統,如何建立diy的檔案系統, refering to

黃色別墅

1)每當乙個程序開啟乙個檔案——無論是開啟乙個已存在 的還是建立乙個新的,該程序的程序表的filp 陣列中就會分配乙個位置, 用於存放 開啟檔案的fd指標;

2)檔案描述符fd 的真正含義:它其實是乙個陣列的下標,循著這個下標,系統可以找到用以描述檔案的inode 資料結構;

2.1) 我們先看看建立檔案的**大致呼叫流程:

2.2) 建立檔案的主要過程,其中最核心的函式是 do_open()函式呼叫的 create_file() 函式,我們看一下它們的呼叫過程;

函式效能analysis)

函式效能analysis):

326電影網

conclusion):

a3)int strip_path(char * filename, const char * pathname, struct inode ppinode):**返回帶路徑的檔名pathname 對應的純檔名filename, 以及該檔案所在資料夾的inode編號;

a4)struct inode * get_inode(int dev, int num):從裝置號dev 所標識的硬碟分割槽中,查詢出編號為num 的inode資料結構(指標);

建立檔案系統

作業系統通過檔案系統管理資料 磁碟建立分割槽後並不能直接被作業系統使用,還需要建立檔案系統 格式化 建立檔案系統的過程又稱為格式化 裸裝置 raw 沒有檔案系統的裝置 常見的檔案系統有 fat32 ntfs ext2 ext3 ext4 xfs hfs等 檔案系統之間的區別 日誌 支援的分割槽大小 ...

Solaris Zpool 建立檔案系統

1 列出server 有幾塊disk format 2 可以看到列出disk c1d0 3 看系統裡已經建了哪些pool zpool list 4 因為乙個disk 只能建了乙個pool,下面試建,就報錯 zpool create new pool c1d0 error device already...

AIX 建立檔案系統

首先用crfs或者smit來建立乙個20g的檔案系統,既然下面要使用一些低階命令來建立檔案系統,因此,這裡用crfs來完成檔案系統的建立 crfs v jfs2 g testvg a size 20g m testfs 解釋 在testvg卷組上建立乙個格式為jfs2的20g大小的檔案系統,掛載點為...