2012年1月3日

Linux内核模块划分 -- 摘自内核驱动

摘要: 在 Unix 系统中, 几个并发的进程专注于不同的任务. 每个进程请求系统资源, 象计算能力, 内存, 网络连接, 或者一些别的资源. 内核是个大块的可执行文件, 负责处理所有这样的请求. 尽管不同内核任务间的区别常常不是能清楚划分, 内核的角色可以划分(如同图内核的划分)成下列... 阅读全文

posted @ 2012-01-03 22:30 YoungerChina 阅读(419) 评论(0) 推荐(0) 编辑

2012年1月2日

linux 内核链表练习

摘要: linux 内核链表使用案例: 链表源码:test_list.c /********************************************** * Author: lewiyon@hotmail.com * File name: test_list.c * D... 阅读全文

posted @ 2012-01-02 23:39 YoungerChina 阅读(267) 评论(0) 推荐(0) 编辑

2011年12月29日

container_of()宏解析

摘要: 在内核中很多地方都会使用到宏container_of()。 都知道宏container_of()的作用是:根据结构体中一个域成员变量的指针获取指向整个结构体的指针、现在来分析这个宏是如何实现的; 内核中container_of()代码如下: /**... 阅读全文

posted @ 2011-12-29 23:05 YoungerChina 阅读(286) 评论(0) 推荐(0) 编辑

2011年12月28日

linux内核链表

摘要: 链表是一种常用的数据结构,它通过指针将一系列数据节点连接成一条数据链。相对于数组,链表具有更好的动态性,建立链表时无需预先知道数据总量,可以随机分配空间,可以高效地在链表中的任意位置实时插入或删除数据。链表的开销主要是访问的顺序性和组织链的空间损失。 一、链表结构 ... 阅读全文

posted @ 2011-12-28 23:36 YoungerChina 阅读(224) 评论(0) 推荐(0) 编辑

2011年12月27日

[进程管理] linux核心调度器

摘要: linux核心调度器主要基于两个函数实现:周期性调度器函数和主调度器函数。这些函数会根据现有进程的优先级分配CPU时间,所以也称“优先调度” 一、周期性调度器 周期性调度器是在函数scheduler_tick(void),如果当前系统正在活动中,... 阅读全文

posted @ 2011-12-27 23:37 YoungerChina 阅读(550) 评论(0) 推荐(0) 编辑

2011年12月24日

了解函数queue_delayed_work()

摘要: /********************************************** * Author: lewiyon@hotmail.com * File name: delay_wq.c * Description: learn the function queue_delaye... 阅读全文

posted @ 2011-12-24 00:42 YoungerChina 阅读(1223) 评论(0) 推荐(0) 编辑

2011年12月23日

linux平台下 延迟工作队列实例

摘要: 工作队列(work queue)是Linux内核中将操作延期执行的一种机制。因为它们是通过守护进程在用户上下文执行,函数可以睡眠的时间,与内核是无关的。在内核版本2.5开发期间,设计了工作队列,用以替换此前的keventd机制。 这种机制和BH或Tasklets不... 阅读全文

posted @ 2011-12-23 23:25 YoungerChina 阅读(877) 评论(0) 推荐(0) 编辑

2011年12月21日

link_path_walk()分析

摘要: 功能:路径名解析 这是一个基本的路径名解析函数,将一个路径名最终转化为一个dentry; 成功返回0,并将分量保存在nd中。 主要数据结构: struct qstr { /* 用来存放路径名中当前节点的名,长度 */ unsigned int hash; unsigned in... 阅读全文

posted @ 2011-12-21 23:18 YoungerChina 阅读(1309) 评论(0) 推荐(0) 编辑

2011年12月19日

printk与日志优先级设置

摘要: 1. 控制台的日志优先级 #define KERN_EMERG "" /* 致命级:紧急事件消息,系统崩溃之前提示,表示系统不可用 */ #define KERN_ALERT "" /* 警... 阅读全文

posted @ 2011-12-19 21:50 YoungerChina 阅读(630) 评论(0) 推荐(0) 编辑

2011年12月18日

linux内核中的位运算

摘要: 在linux内核中有很多位运算函数,如:set_bit,clear_bit,clear_bit,test_and_set_bit等等。 1. set_bit static __always_inline void set_bit(unsigned int nr, volatile... 阅读全文

posted @ 2011-12-18 03:44 YoungerChina 阅读(2107) 评论(0) 推荐(0) 编辑

导航