操作系统 文件系统.pptVIP

  • 5
  • 0
  • 约1.1万字
  • 约 41页
  • 2017-09-07 发布于上海
  • 举报
操作系统 文件系统

读取文件某个位置的数据。 给定的位置是相对于文件而不是相对于磁 盘的,因此需要根据该位置计算出它在 i_block中的下标, 得到在磁盘上的位置。 三、 磁盘块的分配与释放 磁盘块的释放 主要工作是修改块位图和 涉及块的统计变量。 磁盘块的分配 先试图与上次分配给文件的块连续。 如果不行,则试图在附近32个块的范围内分配。 还不行的话再本组内向前找八个连续空闲的块。 若还不满足则任何空闲的块均可以。 还不满足的话则到其它的组中去寻找。 目的 文件尽可能地连续分配使文件访问时 间变短 10.3.3 主要文件系统系统调用处理流程 一 、 文件的open()操作 open()函数最终会调用内核的sys_open() 第一个参数是打开文件的路径名 第二个参数文件的访问标志 (1)用get_unused_fd()在current-files-fd所指向的文件对象指针数组中查找一个未使用文件号,存储在局部变量fd中。 (2) 调用filp_open()函数,工作主要分成两步: 第一步:调用open_namei()函数,找到目标结点(可以是文件、目录)所对应的dentry对象,与dentry对象相对应的inode对象此时也应该在物理内存中 第二步 :调用dentry_open()函数,该函数申请一个file对象空间,然后初始化该

文档评论(0)

1亿VIP精品文档

相关文档