Linux Kernel
文章平均质量分 78
heyunqi
这个作者很懒,什么都没留下…
展开
-
some Linux kernel study resouce
Books:Linux Device Drivers, 3rd edition,Linux Kernel Development, 2nd EditionUnderstanding the Linux Kernel, 3rd edition,website you should check:http://lwn.netThe weekly digest off all Linux an原创 2007-11-21 21:30:00 · 687 阅读 · 0 评论 -
说说subsys_initcall
在linux内核代码里, 到处充满了subsys_initcall,这个调用是用来干吗的呢?有人回答是系统启动时候用来初始化某些系统的,具体怎么初始化的呢,说起来还是有点复杂。以2.6.21内核作为例子。在linux/init.h里,有这样一段代码:#define pure_initcall(fn) __define_initcall("0",fn,1)#define core_i原创 2007-11-21 22:30:00 · 8769 阅读 · 3 评论 -
Linux网络协议栈(0)
最近想写有关Linux网络协议栈的文章,好久没有接触这一块了,再不复习一下,恐怕以后就全忘记了。曾经看过一本The Linux Networking Architecture,尽管说的是2.4内核的,不过还是挺有参考价值的。这次看的是2.6.24的代码。准备总结下列内容:1 网络子系统的初始化过程2 如何写基本的网络驱动程序3 数据链路层代码分析4 网络层代码分析5 传输层代码分析6 SOCKET原创 2008-07-15 16:02:00 · 723 阅读 · 0 评论 -
Linux网络协议栈(一)-网络系统初始化
1.1 Overviewsocket.c里面有:core_initcall(sock_init); /* early initcall */因此在系统启动的时候,do_basic_setup(main.c)---->do_initcalls(main.c)会调用sock_init。同理在af_init.c中的fs_initcall(inet_init)导致inet_init在原创 2008-07-16 14:29:00 · 1642 阅读 · 0 评论 -
Linux网络协议栈(三)--如何写基本的网络驱动程序
Linux Device Driver(3rd version)的第17章已经解释的很详细了,大家可以参考,当然,在2.6.24之后的内核中,使用了N-NAPI,所以书中第17章的程序snull是无法在2.6.24内核中编译通过的,下面是我根据2.6.24内核所作的patch:--- /home/heyunqi/examples/snull/snull.c 2005-02-01 04:31:02.原创 2008-08-05 10:19:00 · 1883 阅读 · 2 评论 -
Linux TTY设备驱动程序原理
如何写TTY设备驱动程序可以参考Linux Device Driver的第18章和例子程序tiny_tty.c,这里主要分析驱动程序调用的kernel API后面的细节.驱动程序主要做3件事:struct tty_driver *alloc_tty_driver(int lines)int tty_register_driver(struct tty_driver *driver)原创 2008-08-05 15:54:00 · 5229 阅读 · 1 评论 -
Linux网络驱动程序howto
1.in module_init dev->your_netdev=alloc_netdev(sizeof(struct your_priv),intfname,your_setup);//in future, you can get your_priv by netdev_priv(your_netdev) your_setup function will called befo原创 2008-05-22 16:25:00 · 367 阅读 · 0 评论 -
Linux同步和并行
Mutex and semopareDECLARE_SEMAPHORE_GENERIC(name, count)static DECLARE_MUTEX(name);sema_init(sem, count);init_MUTEX(sem);init_MUTEX_LOCKED(struct semaphore *)down_interruptible(struct sema原创 2008-05-29 16:21:00 · 383 阅读 · 0 评论 -
2.6 kernel preemption schedule
User-space preemption can occur· When returning to user-space from a system call· When returning to user-space from an interrupt handlerKernel-space preemption can occur·原创 2008-06-02 15:30:00 · 427 阅读 · 0 评论