内核
文章平均质量分 68
f22jay
这个作者很懒,什么都没留下…
展开
-
内核线程是怎么运行
pid_t kernel_thread(int (*fn)(void *), void *arg, unsigned long flags) 通过这个函数可以创建内核线程,运行一个指定函数fn。 但是这个fn是怎么运行的了? pid_t kernel_thread(int (*fn)(void *), void *arg, unsigned long flags) { struct原创 2013-01-06 11:38:33 · 1166 阅读 · 0 评论 -
笔记
Linux platform driver 机制和传统的device driver机制(即:通过 driver_register 函数进行注册)相比,一个十分明显的优势在于platform机制将设备本身的资源注册进内核,由内核统一管理,在驱动程序中用使用这些资源时,通过platform device提供的标准接口进行申请并使用。 platform 是一个虚拟的地址总线,相比 PCI原创 2013-01-07 10:10:29 · 108 阅读 · 0 评论 -
网口驱动有感
网口驱动架构如上图,很清晰。一直怀疑为什么,在dev目录下找不到网口节点。现在明白了,设备节点一般是给用户层访问的。而根据上图,可得知,网口驱动主要是被网络协议栈调用,而用户层不会直接操作网口驱动,而是一层层的协议栈。 不同的网络控制器的驱动都是大致相同的,像dm9000的, static struct platform_driver dm9000_driver = { .driver原创 2013-01-16 16:12:56 · 227 阅读 · 0 评论