驱动程序问题(请问hotfire)
一是网卡的驱动能使包的发送接受不通过内核吗?比如通过共享内存? 1.可以, 但你的驱动就不能按网络设备的驱动方式来写了, 要按标准设备的驱动框架来写, 主要就是 实现一个IOCTRL来直接从设置上读写数据, 如果这样写了, 网卡就不能直持系统的socket了. 也就 说不再是socket的设备驱动了, 当然也可以在原来的驱动上加上一个IOCTRL来实现直接读写, 这种 方式我没试过, 理论上是可行的, 但会不会对系统有影响就不知道了.
二是LOOP.C我看的越来越迷胡,比较了一下2.0内核的比较容易搞懂,可是2.4的却看的很晕,请问哪儿有这方面的资料或介绍。 2.loop.c的2.4和2.0的版本是差不多的, 只是注册与注销的部分的函数变了, 基本的流程还是一的. 最好的资料就是源码了, 要了解结构可以看Linux Device Driver(Second Edition, 是2.4内核的), Linux Kernel Internals(应该是第3版以上了, 第2版是2.2的内核)
|