
Linux Kernel
文章平均质量分 69
alexander1125
这个作者很懒,什么都没留下…
展开
-
linux kernel head.S文件解析
.text#include #include #include #include #include #include #include #include #include #include //初始化一些CPU参数存放地址#define X86 new_cpu_data+CPUINFO_x86#define X86_VENDOR new_cpu_data+CPUINFO_x86_vendor原创 2010-05-11 22:08:00 · 3636 阅读 · 1 评论 -
linux kernel Setup.S代码完全注释(累死了。。。)
//注释不一定全对,希望高手斧正啊。。#include #include #include #include #include #include /* Signature words to ensure LILO loaded us right */#define SIG1 0xAA55#define SIG2 0x5A5AINITSEG = DEF_INITSEG # 0x9000原创 2010-05-11 21:50:00 · 5573 阅读 · 2 评论 -
kernel misc
<br />1 make clean与make mrproper区别:<br /> make clean 不清除.config文件。<br /> <br />2 模块中要使用的内核函数必须已经被内核EXPORT_SYMBOL(sym)。否则模块不能被挂载。<br /> 所以要使用内核中的某些函数,可以将其符号导出,然后重新编译内核和模块。原创 2010-10-11 15:29:00 · 1456 阅读 · 0 评论 -
linux kernel 信号处理
<br />1 前言 <br />写作本文的目的和其它文章略有不同,不是为了系统和全面的介绍”信号”这个子系统,--虽然它不复杂,其内容也不是一篇短短的文章所能够覆盖的,而是要回答自己的疑惑,解决工作中遇到的一些问题,理解那些不能够马上了解的部分。说到底,可以将这篇文章看作问题的答案。 <br />曾经遇到的问题放在最后一节”问题与答案”中,在阅读正文之前先扫描一下问题可能更加有助于理解文章中的内容。 <br />欢迎大家对这篇文章提出意见和指正,我的email是:shisheng_liu@yahoo.co原创 2010-10-31 16:48:00 · 1878 阅读 · 1 评论 -
SLAB & SLUB
<br />SLUB取代了SLAB,成为了默认的内存分配器。内核开发人员称其为:more SMP-friendly SLUB allocator。显然,在桌面平台上的多核心处理器也能从中受益。<br /><br />SLAB是Linux上一个古老的内存分配器。因为其结构复杂,所以几乎没有人敢修改它,颇似当年我的偶像Anders Hejlsberg用全汇编写成的Delphi编译器,在他离开Borland以后的很长一段时间里,没有敢维护这些编译器的代码。<br /><br />在研究SLUB之前,先说说SLAB转载 2010-12-27 18:37:00 · 2407 阅读 · 0 评论 -
kmalloc中的常量参数优化处理
<br />static __always_inline void *kmalloc(size_t size, gfp_t flags)<br />{<br /> <br /> //如果size为常量,比如以这种方式调用kmalloc(32,GFP_KERNEL);<br /> //__builtin_constant_p来确定size是否为常量<br /> if (__builtin_constant_p(size))<br />{ //找到合适的大小的普通高原创 2011-01-06 20:11:00 · 1099 阅读 · 0 评论 -
内核sanitize_e820_map函数详解(征服内存管理模块的起点)
<br /> <br />原理:<br />bios探测到的内存段信息可能是以下的情况,内核需要重新整理内存段信息:<br />* Sample memory map (w/overlaps):<br />* ____22__________________<br />* ______________________4_<br />* ____1111________________<br />* _44_____原创 2011-01-10 18:53:00 · 2511 阅读 · 0 评论 -
Linux ld script用法
<br />关于GNU LD和LD脚本--------------------------------------------------------------------------------ld,即GNU的连接工具,用于将各目标文件合并在一起,并重新安排他们的数据以及符号的引用,常常是程序编译的最后一步。ld scripts 即ld脚本。ld 脚本的主要目的是要描述怎样将输入文件的各段印象到输出文件中去。它控制输出文件在内存的布局情况。------------------------转载 2011-01-23 20:41:00 · 2132 阅读 · 0 评论