1、文件操作 打開文件: Open()系統調用 讀寫文件: 文件指針 刪除文件 :同時刪除目錄項的文件記錄條目 2、管理打開文件 1、系統打開文件表 每個open都會返回一個打開文件表的指針( 文件描述符,打開文件表的索引 )、所有文件操作都圍繞這個指針,打開一個文件 ,則搜索目錄,將文件信息cop ...
1、文件操作
打開文件:Open()系統調用
讀寫文件:文件指針
刪除文件:同時刪除目錄項的文件記錄條目
2、管理打開文件
1、系統打開文件表
每個open都會返回一個打開文件表的指針(文件描述符,打開文件表的索引)、所有文件操作都圍繞這個指針,打開一個文件 ,則搜索目錄,將文件信息copy到系統文件打開表中
操作系統自己維護一個打開文件表,位於記憶體中,維護所有打開文件的信息,當一個文件沒有進程引用了,就從打開文件表中刪除。
索引 | 文件名 | ....外存地址 | 打開計數器(計算有幾個進程引用我就文件) |
---|---|---|---|
2、進程打開文件表
當一個進程打開一個文件時,會創建一個指向系統的打開文件表的指針,同時系統打開文件表引用計數器+1,關閉時-1,引用計數器為0 ,這刪除這個打開條目
索引 | 文件名 | 讀寫指針 | 訪問許可權 | .... | 系統索引表索引 |
---|---|---|---|---|---|