linux
文章平均质量分 61
FrankyzhangC
这个作者很懒,什么都没留下…
展开
-
内核模块的Makefile编写
KERNELDIR ?= /home/franky/linux-2.6.35 #这是你的内核源码的地址 PWD := $(shell pwd) #当前编译地址CROSS_COMPILE = /home/franky/toolchain/bin/ #交叉编译工具的地址CC = $(CROSS_COMPILE)arm-none-linux-gnueabi-gcc #交叉编译工原创 2011-06-17 21:52:00 · 1688 阅读 · 0 评论 -
等待队列实现代码浅析
等待队列是很多其他linux内核机制的基石,例如异步事件通知机制,信号量也是。 Linux中等待队列的实现思想:当一个任务需要在某个wait_queue_head上睡眠时,将自己的进程控制块信息封装到wait_queue中,然后挂载到wait_queue的链表中,执行调度睡眠。当某些事件发生后,另一个任务(进程)会唤醒wait_queue_head上的某个或者所有任务,唤醒工作原创 2011-06-29 00:05:00 · 3189 阅读 · 0 评论 -
spin_lock浅析
今天我们详细了解一下spin_lock在内核中代码实现,我们总共分析四个项目: 1.spinlock_t的定义分析:首先来看一下spinlock_t的定义:typedef struct { raw_spinlock_t raw_lock;#if defined(CONFIG_PREEMPT) &&defined(CONFIG_SMP)原创 2011-06-27 08:49:00 · 30895 阅读 · 6 评论 -
Poll机制分析(转韦东山)
最近看了一下Linux Poll 机制的实现,看了韦老师的分析文档,总结如下: int poll(struct pollfd *fds,nfds_t nfds, int timeout);总的来说,Poll机制会判断fds中的文件是否可读,如果可读则会立即返回,返回的值就是可读fd的数量,如果不可读,那么就进程就会休眠timeout这么长的时间,然后再来判断是否有文件可读,如果有,返回fd原创 2011-08-16 16:36:51 · 19027 阅读 · 3 评论