12 2011 档案

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

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

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

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

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

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

了解函数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 阅读(1248) 评论(0) 推荐(0) 编辑

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

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

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

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

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

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

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 阅读(2386) 评论(0) 推荐(0) 编辑

基于Extent 的文件存储(fiemap)
摘要:现代很多文件系统都采用了 extent 替代 block 来管理磁盘。 Extent 就是一些连续的 block,一个 extent 由起始的 block 加上长度进行定义。 Extent 能有效地减少元数据开销。为了进一步理解这个问题,我们还是看看 ext2 中的反... 阅读全文

posted @ 2011-12-15 23:03 YoungerChina 阅读(1908) 评论(0) 推荐(0) 编辑

inode_operations介绍
摘要:与 索引节点inode对象关联的方法称为索引节点操作,由struct inode_operations 结构体描述,该结构的地址存放在inode结构体域变量i_op字段中,struct inode_operations具体描述如下: struct inode_operations {... 阅读全文

posted @ 2011-12-14 22:55 YoungerChina 阅读(1277) 评论(0) 推荐(0) 编辑

Linux 文件系统概述
摘要:linux中有很多种文件系统,如,ext2,ext3,ext3,sysfs,procfs等。每种文件系统都有自己的特性。 linux文件系统体系结构通过使用一组通用的API函数,实现了对不同具体文件系统的抽象化。 一、文件系统的体系结构 图1中显示了... 阅读全文

posted @ 2011-12-14 00:01 YoungerChina 阅读(183) 评论(0) 推荐(0) 编辑

linux硬链接与软连接的区别
摘要:Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为软链接又称符号链接(Symbolic Link)。 一、硬链接 硬连接指通过索引节点来进行连接。所以硬链接与源文件共用一个索引节点对象,不共用file对象,不共用dentry对象。 在Linux的文件... 阅读全文

posted @ 2011-12-13 23:30 YoungerChina 阅读(226) 评论(0) 推荐(0) 编辑

procfs读写信息实例
摘要:procfs是比较老的一种用户态与内核态的数据交换方式,内核的很多数据都是通过这种方式出口给用户的,内核的很多参数也是通过这种方式来让用户方便设置的。 struct proc_dir_entry *create_proc_entry(const char *name, mode_t... 阅读全文

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

procfs信息读取实现案例
摘要:/********************************************** * Author: lewiyon@hotmail.com * File name: proc_sample.c * Description: create a file "proc_exampl... 阅读全文

posted @ 2011-12-12 01:00 YoungerChina 阅读(240) 评论(0) 推荐(0) 编辑

linux内核 简化版kset-example.c解析
摘要:/********************************************** * Author: lewiyon@hotmail.com * File name: kset_sample.c * Description: kset example * Date: 2011-12... 阅读全文

posted @ 2011-12-11 01:04 YoungerChina 阅读(347) 评论(0) 推荐(0) 编辑

定制.vimrc配置文件
摘要:文件下载点,如有如需要请点击(不需要积分)http://download.csdn.net/detail/iamonlyme/3902685" vimrc by lewiyon@hotmail.com" last update 2011-12-09" 判断操作系统if (has("win32")... 阅读全文

posted @ 2011-12-10 01:41 YoungerChina 阅读(289) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示