【Linux】Kernel
prettykernel
这个作者很懒,什么都没留下…
展开
-
linux下fork的运行机制详细解析
<br /><br />要求如下:<br />已知从这个程序执行到这个程序的所有进程结束这个时间段内,没有其它新进程执行。<br /> 1、请说出执行这个程序后,将一共运行几个进程。<br /> 2、如果其中一个进程的输出结果是“pid1:1001, pid2:1002”,写出其他进程的输出结果(不考虑进程执行顺序)。<br /> 明显这道题的目的是考察linux下fork的执行机制。下面我们通过分析这个题目,谈谈linux下fork的运行机制。 <br />预备知识<br /转载 2011-05-31 16:04:00 · 2233 阅读 · 0 评论 -
gfp_mask含义
gfp_mask标志在alloc_page,kmalloc函数中都有用到。该标志可以分为三类:行为修饰符,区修饰符,类型修饰符。 行为修饰符表示内核应当如何分配所需的内存,在某些特定的情况下,只能使用某些特定的方法分配内存,例如,中断处理程序就要求内核在分配内存时不能睡眠(因为中断处理程序不能被重新调度)。常用标志值有__GPF_WAIT(分配器可以睡眠),__GFP_IO(分转载 2012-08-29 23:53:11 · 6174 阅读 · 0 评论 -
【linux内核装载elf过程简介】
<br /> 首先再用户层面,bash进程会调用fork函数创建一个新的进程,然后新的进程调用execve系统调用执行指定的elf文件,原先bash进程继续返回等待刚才启动的新进程结束。然后等待用户输入命令。<br /> int execve(const char *filename,char *const argv[],char *const envp[]);<br /> 分别是被执行的程序文件名,执行参数和环境变量。<br /> glibc对execve进行了包装,提供了exec转载 2011-05-26 10:20:00 · 2291 阅读 · 0 评论 -
精简LINUX内核配置及快速编译的方法收集
<br />如果经常编译新内核(不管是什么目的),或者需要修改内核的某些代码做测试,虽然make会选择的编译有必要重新编译的部分,但是如果修改了某个核心的头文件。可能需要重新编译很多内容,所以把不需要使用的模块不编译是能节省不少时间的。<br />编译内核大部分时间都在编译模块上,比如我的机器:<br />find /lib/modules/2.6.37-rc5+/ -name “*.ko”|wc -l<br />2374<br />我的目标就是删除这些不用的模块, 不是显示的删除不用的模块,而是提取出需要转载 2011-05-31 12:05:00 · 3997 阅读 · 0 评论