摘要:简述: 1、kmalloc和vmalloc是分配的是内核的内存,malloc分配的是用户的内存 2、kmalloc保证分配的内存在物理上是连续的,内存只有在要被DMA访问的时候才需要物理上连续,malloc和vmalloc保证的是在虚拟地址空间上的连续 3、kmalloc能分配的大小有限,vmall
阅读全文
摘要:1. 内核学习方法,编译、调试等常见问题1.1 关于编译升级内核到2.6.0的一些问题 作者:ommm http://linux.chinaunix.net/bbs/thread-281831-1-5.html 1.2 VMWare Workstation 6.0调试Linux Kernel,竟如此
阅读全文
摘要:Libev设计思路理清了Libev的代码结构和主要的数据结构,就可以跟着示例中接口进入到Libev中,跟着代码了解其设计的思路。这里我们管struct ev_loop称作为事件循环驱动器而将各种watcher称为事件监控器。1.分析例子中的IO事件这里在前面的例子中我们先把定时器和信号事件的使用注释...
阅读全文
摘要:Libev的作者写了一份很好的官方Manual,比较的齐全,即介绍了Libev的设计思想,也介绍了基本使用还包括内部各类事件详细介绍。这里略微赘述一下。Libev通过一个 ·struct ev_loop· 结结构表示一个事件驱动的框架。在这个框架里面通过ev_xxx结构,ev_init、ev_xxx...
阅读全文
摘要:条件变量 条件变量是利用线程间共享的全局变量进行同步的一种机制, 主要包括两个动作: 一个线程等待"条件变量的条件成立"而挂起; 另一个线程使"条件成立"(给出条件成立信号). 为了防止竞争,条件变量的使用总是和一个互斥锁结合在一起。 1. 创建和注销 条件变量和互斥锁一样,都有静态和动态两种创建方...
阅读全文