管理文件系统主要操作的具体表现为:
在写操作的过程中,通过“超级快->逻辑块位图->数据块”这条路线可以查找到硬盘上的空闲数据块;通过“超级快->i节点位图->i节点表中的i节点->数据块”这条路线可以访问到文件中指定的数据块。
文件系统给通常的组织规则是:
根目录文件i节点->根目录文件->根目录文件中A的目录项->A目录文件的i节点->A目录文件->A目录文件中的B目录项->B目录文件的i节点->B目录文件->B目录文件中C目录项->……M目录文件->M目录文件中N的目录项->N文件i节点->N文件内容。
打开文件
因为在操作系统看来,文件是根据进程的需求来操作的,又因为文件的i节点是记载文件属性的最关键的数据结构,所以,只要使进程与指定的i节点建立关系,就可以确定读取哪个文件,即“打开文件”。“打开文件”的本质就是为了建立这套关系。
具体表现为,一系统中的文件管理表file_table[64]为中转站,让进程管理结构task_struct中的文件管理指针表*filp[20]与将要打开的文件的i节点建立关系。从而使金城具备操作这个文件的能力。
实现的具体过程分为3个步骤:
1、将用户进程管理解雇task_struct中的文件管理指针表*filp[20]与内核中的文件管理file_table[64]进行挂接;
2、亿用户给定的路径名为线索,找到文件的i节点;
3、经文件对应的i节点在文件管理表file_table[64]中进行登记,从而使金城具备操作文件的能力。
用户程序调用open库函数产生软中断
用户程序是通过调用open函数打开文件的,open函数是一个库函数,该函数被调用后,会产生int 0x80软中断,最终映射到sys_open中执行。
文件操作
最新推荐文章于 2023-11-04 14:08:11 发布