文件打开管理
程序员文章站
2022-06-25 08:38:55
1、文件操作 打开文件: Open()系统调用 读写文件: 文件指针 删除文件 :同时删除目录项的文件记录条目 2、管理打开文件 1、系统打开文件表 每个open都会返回一个打开文件表的指针( 文件描述符,打开文件表的索引 )、所有文件操作都围绕这个指针,打开一个文件 ,则搜索目录,将文件信息cop ......
1、文件操作
打开文件:open()系统调用
读写文件:文件指针
删除文件:同时删除目录项的文件记录条目
2、管理打开文件
1、系统打开文件表
每个open都会返回一个打开文件表的指针(文件描述符,打开文件表的索引)、所有文件操作都围绕这个指针,打开一个文件 ,则搜索目录,将文件信息copy到系统文件打开表中
操作系统自己维护一个打开文件表,位于内存中,维护所有打开文件的信息,当一个文件没有进程引用了,就从打开文件表中删除。
索引 | 文件名 | ....外存地址 | 打开计数器(计算有几个进程引用我就文件) |
---|---|---|---|
2、进程打开文件表
当一个进程打开一个文件时,会创建一个指向系统的打开文件表的指针,同时系统打开文件表引用计数器+1,关闭时-1,引用计数器为0 ,这删除这个打开条目
索引 | 文件名 | 读写指针 | 访问权限 | .... | 系统索引表索引 |
---|---|---|---|---|---|