Linux驱动之字符设备的简单分析

下面的字符设备的笔记是基于Linux-2.6.22.6内核


首先问题:应用层是如何调用到驱动层的呢?
VFS架构

    用户空间            用户程序(进程)
                               |
                               |                                    文件系统操作的系统调用界面包括 read,write,open,close等等
    -------------------------------------------------------------   
    系统空间              |
                               |
                        VFS虚拟文件系统(sys_read(),sys_write() sys_open()等等)
                               |         
                               |
    -------------------------------------------------------------   通过file结构的f_op指针实现的
          |          |           |             |                    “文件系统总线”
          |          |           |             |
        minix       Ext2        FAT         设备文件    ...

    说明:
        每个进程通过“打开文件”(open)与具体的文件建立起连接,或者说建立起一个读写的”上下文“。
        这种连接以一个file数据结构作为代表,结构中有个file_operation结构体指针f_op。指向某个具体的
        file_opreation机构,就指定了这个文件所属的文件系统

     自己小结:上层的应用程序通过C库调用open()、read()等等,C库有swi value这条指令来触发某个异常,这个异常就会进入内核空间的异常处理函数
                         会根据swi value传入不同的值来调用sys_read(),sys_write()\sys_open()࿰
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值