Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7695806
  • 博文数量: 961
  • 博客积分: 15795
  • 博客等级: 上将
  • 技术积分: 16612
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-07 14:23
文章分类

全部博文(961)

文章存档

2016年(1)

2015年(61)

2014年(41)

2013年(51)

2012年(235)

2011年(391)

2010年(181)

发布时间:2012-07-26 17:31:06

......【阅读全文】

阅读(3741) | 评论(0) | 转发(7)

发布时间:2012-07-26 17:23:08

几乎每一种外设都是通过读写设备上的寄存器来进行的,通常包括控制寄存器、状态寄存器和数据寄存器三大类,外设的寄存器通常被连续地编址。根据CPU体系结构的不同,CPU对IO端口的编址方式有两种:  (1)I/O映射方式(I/O-mapped)  典型地,如X86处理器为外设专门实现了一个单独的地址空间,称为"I/O地址空间"或.........【阅读全文】

阅读(3311) | 评论(0) | 转发(5)

发布时间:2012-07-26 15:19:58

kmalloc 原型是:#include void *kmalloc(size_t size, int flags); 给 kmalloc 的第一个参数是要分配的块的大小. 第 2 个参数, 分配标志, 一般使用的标志, GFP_KERNEL驱动开发者应当记住的一件事情是, 内核只能分配某些预定义的, 固定大小的字节数组. 如果你请求一个任意数量内存, 你可能得到稍微多于你.........【阅读全文】

阅读(4031) | 评论(0) | 转发(6)

发布时间:2012-07-26 11:48:12

tasklet 类似内核定时器在某些方面. 它们一直在中断时间运行, 它们一直运行在调度它们的同一个 CPU 上, 并且它们接收一个 unsigned long 参数. 不象内核定时器, 但是, 你无法请求在一个指定的时间执行函数. 通过调度一个 tasklet, 你简单地请求它在以后的一个由内核选择的时间执行. 这个行为对于中断处理特别有用, 那.........【阅读全文】

阅读(1719) | 评论(0) | 转发(3)

发布时间:2012-07-26 11:21:04

你需要调度一个动作以后发生, 而不阻塞当前进程直到到时, 内核定时器是给你的工具. 这些定时器用来调度一个函数在将来一个特定的时间执行,定时器 API内核提供给驱动许多函数来声明, 注册, 以及去除内核定时器. 下列的引用展示了基本的代码块:#include struct timer_list{    .........【阅读全文】

阅读(2278) | 评论(0) | 转发(3)
给主人留下些什么吧!~~

_Yangdada2017-02-28 16:20

后生专门找回密码过来膜拜一下

回复  |  举报

注册看下2016-06-28 22:46

非常感谢

回复  |  举报

X_Unstoppable2016-01-18 13:59

神一样的崇拜

回复  |  举报

流浪者转世2015-02-14 21:59

看了以后,感觉神一般的人!!崇拜中
。。。。

回复  |  举报

hfm_honey2012-08-10 09:10

你好,基于看见你也学习过Linux内核的知识,也相信你也是个高手。如今我现在看到Linux内存分配的slab机制这一块,我实在理解不了什么是slab机制,它里面包含的对象什么情况下叫 “空闲”?什么情况下又叫不空闲,到底该怎么具体的理解呢?能给我具体化,举个实例说明一下吗,感激不尽!谢谢!

回复  |  举报
留言热议
请登录后留言。

登录 注册