关于驱动模型的理解

前几天看了linux设备驱动(linux device driver),这本书看的我实在头大,不知道干什么的,只是看到了一大堆的kernel的c库,到底驱动干什么的? 还是一点头绪都没有!

今天与同事聊天,大概明白了linux驱动是什么东东了,大概写一写,不一定准确,但是方向应该差不多。

linux驱动的基本流程:

第一步,注册设备           module_regestor( 芯片号,操作集)

             操作集也就是我们所写的驱动C程序,这些程序中可以调用linux kernel的C库函数 

第二步,application层程序通过系统调用(ioctl等),就可以使用我们所写的驱动程序了。

问题: 驱动是恶意代码怎么办?

            猜想:1. root用户才能加载driver, root可以鉴别

                        2. 每个驱动应该有某种标示,必须在某些组织登记,才能被linux所接受

                       3. linux有些机制可以对第三方驱动程序进行控制,如内存访问等。

2012.5.9  


驱动进一步的理解:

驱动程序就是一堆跑在内核层的程序,这堆程序可以访问内核层的东东,一般不访问内核以外的东东。

当A驱动是在B驱动上层时,A 驱动就直接调用B的函数就好了,而不再经过os kernel。

驱动程序一般包括:init,open,write等寥寥几个函数.

2012.5.16        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值