治肾虚不含糖,专注内核性能优化二十年。 https://github.com/KnightKu
发布时间:2013-04-16 10:35:11
众所周知,C/C++语言本身并不支持垃圾回收机制,虽然语言本身具有极高的灵活性,但是当遇到大型的项目时,繁琐的内存管理往往让人痛苦异常。现代的C/C++类库一般会提供智能指针来作为内存管理的折中方案,比如STL的auto_ptr,Boost的Smart_ptr库,QT的 QPointer家族,甚至是基于C语言构建的GTK+也通过引用计数来实现.........【阅读全文】
发布时间:2013-04-02 17:18:10
实现代码,就两条语句,很简单,依然是经典的do{}while(0)的块式宏封装实现: #define preempt_disable() / do { / inc_preempt_count(); / barrier(); / } while (0) 第一行把进程描述符中的preempt_count加1,第二.........【阅读全文】
发布时间:2013-02-27 13:51:30
转自:http://blog.csdn.net/tigerjb/article/details/8450995前言:1.基本概念:散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数.........【阅读全文】
发布时间:2013-02-21 12:26:36
PCIe设备的配置空间关于PCI设备的配置空间网上已经有很多资料了,如下图就是PCI设备必须支持的64个字节的配置空间,范围为0x00-0x3f。很多PCI设备仅仅支持者64字节的配置空间。PCI和PCIe配置空间的区别如下文。此外PCI/PCI-X和PCIe设备还扩展了0x40和0xFF这段配置空间,这段空间主要存放一些与MSI或者MSI-X .........【阅读全文】
发布时间:2013-02-19 13:40:54
系统初始化时kernel_init在内核态创建和运行应用程序以完成系统初始化 内核刚刚启动时,只有内核态的代码,后来在init过程中,在内核态运行了一些初始化系统的程序,才产生了工作在用户空间的进程。/* This is a non __init function. Force it to be noinline otherwise gcc.........【阅读全文】