本文共 736 字,大约阅读时间需要 2 分钟。
管理文件系统主要操作的具体表现为:
在写操作的过程中,通过“超级快->逻辑块位图->数据块”这条路线可以查找到硬盘上的空闲数据块;通过“超级快->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中执行。转载地址:http://qpxii.baihongyu.com/