文件操作

管理文件系统主要操作的具体表现为:
在写操作的过程中,通过“超级快->逻辑块位图->数据块”这条路线可以查找到硬盘上的空闲数据块;通过“超级快->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中执行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值