
Linux内核开发
田贝
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux内核中的per-CPU变量
per-CPU变量时linux内核中一个非常有趣的特性,他为系统中每个处理器都分配了变量的一个副本。这样做的好处是,在多处理器的系统中,当处理器操作属于他的变量副本时,不需要考虑与其他处理器竞争的问题,同时该副本还可以充分利用处理器本地的硬件以提高访问速度。基于per-CPU的以上特性,其最典型的使用场合是在统计计数方面。例如在网络系统中,内核需要跟踪已经接收到的各类数据包的数量,而这些数量在原创 2014-02-12 22:13:17 · 1109 阅读 · 0 评论 -
关于驱动开发中mmap函数的实现
在编写设备驱动程序的时候,如果要想把设备内存映射到用户空间,那需要我们实现mmap,通过看ldd3上面的介绍,对实现mmap有了一点了解.书上介绍主要是利用int remap_pfn_range(struct vm_area_struct *vma, unsigned long virt_addr,unsigned long pfn, unsigned long size,pgprot_t p转载 2014-02-01 23:13:07 · 798 阅读 · 0 评论 -
总线设备模型-LED驱动
#include #include #include #include #define LED_DEVICE_NAME ("LED_DEV")static struct resource s3c_led_resource[] = { [0] = { .start = 0x56000050, .end = 0x56000050 + 8 - 1,原创 2014-01-30 22:16:02 · 923 阅读 · 0 评论 -
Linux内核中的内存分配
虽然Linux的内存管理相当复杂,但是使用起来还是比较简单的。Linux内存分配器(__get_free_pages alloc_pages),基于伙伴系统,其中alloc_pages可以在分配高端内存。而__get_free_pages只能分配低端内存。并且他们分配的内存在物理上都是连续的。使用alloc_pages分配的高端内存需要通过kmap建立映射以获得内核虚拟地址进行访问,而分配的低原创 2014-02-12 22:54:13 · 1007 阅读 · 0 评论 -
Linux按键驱动程序、定时器消抖
使用定时器可以防止因为按键抖动产生的多次 #include #include #include #include #include #include #include #include #include #include #include #include #include #define BUT_NAME "buttons"#define DEVCOU原创 2014-04-07 23:07:05 · 1210 阅读 · 0 评论