文件的基本操作
创建操作
创建时候需要给出的参数有:文件存放路径,文件名,所需大小
create系统调用需要做的事情
- 在外存中找到文件的所需空间
- 根据存放信息找到目录对应的目录文件,然后插入相应的条目
删除操作
删除需要给出存放路径与文件名
delete系统调用需要完后:
- 根据文件存放路径找到目录文件,找到对应目录项
- 回收文件占用的块
- 删除对应的目录项
打开操作
一般对文件进行操作之前,操作系统会对文件进行打开操作。
打开操作一般需要提供文件的路径、文件名称、操作类型(r,w)
open系统调用完成的是:
- 找到文件名对应的目录项,并且检查用户是否操作授权
- 将目录项复制到打开文件表当中,并且记录该用户对于该文件声明的操作时读还是写
打开文件表一般分为进程打开表,与系统打开文件表。系统的打开文件表只有一张。
在关闭文件时候,需要完成:
- 将进程当中打开文件表对应的表项进行删除
- 然后将系统打开文件表计数器减一
- 如果系统打开表计数器为0删除这个表项
文件的共享
文件共享主要有两种方式:硬链接与软连接
硬链接就是为当前文件目录添加一个表项指向相同的索引文件。
软连接就是开辟一个新的文件,文件内部保存文件的绝对路径。
二者差别:软连接实际上就是开辟了一个新的文件,他有自己的目录项,有自己的索引结点,有自己的文件物理块。但硬链接是完全共享了索引结点之后的东西,只是开辟了一个新的目录项。