Linux2.4打开一个文件的系统调用
来源:互联网 发布:单片机温湿度控制系统 编辑:程序博客网 时间:2024/05/14 15:34
0.sys_open()
(1)从当前进程的“打开文件表”中找到一个空闲的项get_unused_fs()
(2)建立文件读写的上下文filp_open():(见1)
(3)将上下文安装到文件打开表中
1.filp_open():建立文件读写的上下文
(1)获取指向文件名的dentry和vfsmount:open_namei()
若只是打开,则通过path_init()和path_walk()搜索
若有不存在就创建的要求,则(见3)
3.获取指向文件名的dentry和vfsmount,若不存在就创建
(1)找到path_name对应的节点的父dentry
(2)找到目标文件的dentry
(3)若不存在,则创建dentry:vfs_create()(见4)
(4)判断dentry:
若是一个安装点,则进入所安装的文件系统
若是一个连接符号,则展开目标结点,go to 3-(1)
(5)由dentry计算出inode
(6)对inode各种检查
(7)如果需要,对文件截尾
A.切除length之后的内容
B.修改inode
C.把inode挂入脏队列
4.vfs_create():为文件在创建一个dentry
(1)创建文件在存储设备上的索引节点和内存中的inode:ext2_new_inode()
(2)把目标文件的文件名和索引节点号写入其所在的目录ext2_add_entry()
(3)把目标文件的dentry结构和inode结构联系在一起d_instantiate()
- Linux2.4打开一个文件的系统调用
- Linux2.4系统调用sys_execve
- Linux2.6系统调用
- 在linux2.6.39源码中添加一个简单的系统调用
- 调用系统打开文件OpenAs_RunDLL
- 调用系统的方法,打开文件的源代码
- 调用系统控件,打开选择文件或路径的对话框
- Android中调用系统所装的软件打开文件
- Android中调用系统所装的软件打开文件
- Android中调用系统所装的软件打开文件
- Android中调用系统所装的软件打开文件
- Android中调用系统所装的软件打开文件
- Android中调用系统所装的软件打开文件
- Android中调用系统所装的软件打开文件
- Android中调用系统所装的软件打开文件
- Android中调用系统所装的软件打开文件
- Android中调用系统所装的软件打开文件
- Android中调用系统所装的软件打开文件
- 每天一本书不再是问题——快速阅读
- JSP入门
- tabsiplus即将发布新版本
- C# DataGridView禁止通过列排序
- 一个正整数表示为n(n>=2)个连续正整数之和!
- Linux2.4打开一个文件的系统调用
- C# request 获取完整URL
- MFC计时器的使用 -- 毫秒级
- 【iOS-Cocos2d游戏开发】CCScene切换的所有特效(28种)以及设置屏幕横竖屏!
- 【STL】Squares
- sql时间函数
- 评论:Evernote成长史:曾遭遇山穷水尽
- uCOS系统的思考
- 工作学习笔记——4月、5月