设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 操作系统 >> Linux >> Linux 内核文件系统与设备操作流程分析
精品推荐
Linux点击TOP10
·Linux下安装LumaQQ
·口袋里的Linux:在您的U盘上运行SLAX
·Linux命令Man解释:PPPD(8) :点对点daemon协议
·虚拟网络计算工具VNC使用指南
·Linux系统中如何正确安装摄像头驱动
·Linux 内核文件系统与设备操作流程分析
·Linux 核心--4.内存管理
·Ethernet HOWTO Linux以太网-HOWTO (4)型号的信息
·Linux精彩桌面 GNOME桌面主题安装实例
·Linux下Flash/Shockwave播放器安装
操作系统点击TOP10
·Windows Vista完全硬盘安装法
·Windows Vista 激活不求人
·Windows Vista局域网网络连接设置
·Windows Vista系统动态桌面截图欣赏
·Windows XP中磁盘的分区应用
·Windows NT/2000/XP 出现蓝屏并显示“STOP 0x0000007f”错误
·让Windows XP变身Vista
·一招搞定Vista系统软件不兼容问题
·教你如何正确配置和优化Windows Vista
·只转两圈 加快Windows XP启动速度
精选专题

Linux 内核文件系统与设备操作流程分析

作者: 来源: 时间:2007-3-1 14:05:52

Linux 内核文件系统与设备操作流程分析(14)
        //
        // 如果 open 函数有效那么则先锁定内核,调用此方法后
        // 再解锁内核
        //
    if (filp->f_op->open) {
        lock_kernel();
        ret = filp->f_op->open(inode,filp);
        unlock_kernel();
    }
    if (ret)
        cdev_put(p);
    return ret;
}


到这里我们可以知道,对文件或设备驱动的判断与函数集的赋值都是在文件
系统这一级区分的,也就是说在有 open 操作时是到具体的文件系统,如
ext3,并在 ext3 上再次区分出是否为设备驱动,这点很好理解,因为设备
驱动也是以文件形式存在的。分析到这里可以算是把对设备驱动的操作流程
弄清晰了。但这仅是对设备驱动的操作,别忘了上面还存在一大堆的疑问,
我们知道只有在触发调用了 ext3_read_inode() 时才会区分,那么它何时
被调用的?什么情况下调用的?为什么 ext3 的文件操作集中的 open 是
空操作呢?要解答这些问题,我们仍要从 open_namei() 函数开始进行分析。



在这个函数的实现过程中会根据标志的不同将路径名转换成 struct nameidata
结构,当得到此结构后还会根据目录,连接等做不同处理。这里我们只关心操作
流程,所以只对 path_look_xxx() 函数做跟踪分析。

int open_namei(int dfd, const char *pathname, int flag,
        int mode, struct nameidata *nd)
{
    int acc_mode, error;
    struct path path;
    struct dentry *dir;
    int count = 0;

        //
        // 篇幅所限,在这个函数中我们只列出相关代码。
        //

        ......

        //
        // 判断是否是建立标志,如果不是则使用 path_lookup_open()
        //

    if (!(flag & O_CREAT)) {

1.Linux 内核文件系统与设备操作流程分析(1)
2.Linux 内核文件系统与设备操作流程分析(2)
3.Linux 内核文件系统与设备操作流程分析(3)
4.Linux 内核文件系统与设备操作流程分析(4)
5.Linux 内核文件系统与设备操作流程分析(5)
6.Linux 内核文件系统与设备操作流程分析(6)
7.Linux 内核文件系统与设备操作流程分析(7)
8.Linux 内核文件系统与设备操作流程分析(8)
9.Linux 内核文件系统与设备操作流程分析(9)
10.Linux 内核文件系统与设备操作流程分析(10)
11.Linux 内核文件系统与设备操作流程分析(11)
12.Linux 内核文件系统与设备操作流程分析(12)
13.Linux 内核文件系统与设备操作流程分析(13)
14.Linux 内核文件系统与设备操作流程分析(14)
15.Linux 内核文件系统与设备操作流程分析(15)
16.Linux 内核文件系统与设备操作流程分析(16)
17.Linux 内核文件系统与设备操作流程分析(17)
18.Linux 内核文件系统与设备操作流程分析(18)
19.Linux 内核文件系统与设备操作流程分析(19)
20.Linux 内核文件系统与设备操作流程分析(20)
21.Linux 内核文件系统与设备操作流程分析(21)
22.Linux 内核文件系统与设备操作流程分析(22)
23.Linux 内核文件系统与设备操作流程分析(23)
24.Linux 内核文件系统与设备操作流程分析(24)
25.Linux 内核文件系统与设备操作流程分析(25)
26.Linux 内核文件系统与设备操作流程分析(26)
27.Linux 内核文件系统与设备操作流程分析(27)
28.Linux 内核文件系统与设备操作流程分析(28)
29.Linux 内核文件系统与设备操作流程分析(29)
30.Linux 内核文件系统与设备操作流程分析(30)
31.Linux 内核文件系统与设备操作流程分析(31)
32.Linux 内核文件系统与设备操作流程分析(32)
33.Linux 内核文件系统与设备操作流程分析(33)
34.Linux 内核文件系统与设备操作流程分析(34)
共34页 9 7 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [348 :>

Linux 内核文件系统与设备操作流程分析 相关文章:
Linux 内核文件系统与设备操作流程分析 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com