内核在linux-2.6.22.6\init\main.c\start_kernel函数中调用trap_init、init_IRQ 两个函数来设置异常的处理函数。asmlinkage void __init start_kernel(void)
{
...
trap_init();
...
init_IRQ();
...
}1.linux-2.6.22.6...
分类:
系统相关 时间:
2016-05-06 15:16:57
阅读次数:
252
1.搭建环境 然后打开另一个shell窗口 2.分析start_kernel 可以在http://codelab.shiyanlou.com/xref/linux-3.18.6/init/main.c找到start_kernel所在函数的源代码。 关注需要关注的,删除不必要的代码: 执行start_ ...
分类:
系统相关 时间:
2016-04-25 22:29:47
阅读次数:
257
内核的启动过程可以简单地这么来看:start_kernel从内核一启动的时候它会一直存在,这个就是0号进程,idle就是一个while0,一直在循环着,当系统没有进程需要执行的时候就调度到idle进程,我们在windows系统上会经常见到,叫做system idle,这是一个一直会存在的0号进程,然 ...
分类:
其他好文 时间:
2016-04-21 15:09:16
阅读次数:
84
执行setup_arch()函数
回到start_kernel当中,569行,调用setup_arch函数,传给他的参数是那个未被初始化的内部变量command_line。这个setup_arch()函数是start_kernel阶段最重要的一个函数,每个体系都有自己的setup_arch()函数,是体系结构相关的,具体编译哪个体系的setup_arch()函数,由顶层Makefile中的ARC...
分类:
系统相关 时间:
2016-04-01 18:30:02
阅读次数:
280
一、原理分析 1.进程的描述 进程控制块PCB——task_struct,为了管理进程,内核必须对每个进程进行清晰的描述,进程描述符提供了内核所需了解的进程信息。 2.进程的创建 道生一(start_ kernel...cpu_ idle),一生二(kernel_ init和kthreadd),二生 ...
分类:
系统相关 时间:
2016-03-30 23:58:30
阅读次数:
540
姓名:江军 ID:fuchen1994 实验日期:2016.3.13 实验指导 使用实验楼的虚拟机打开shell 内核启动完成后进入menu程序(《软件工程C编码实践篇》的课程项目),支持三个命令help、version和quit,您也可以添加更多的命令,对选修过《软件工程C编码实践篇》的童
分类:
数据库 时间:
2016-03-13 19:37:20
阅读次数:
597
总结部分: Linux内核源代码: Arch 支持不同cpu的源代码;主要关注x86 Init 内核启动的相关代码;主要关注main.c,整个Linux内核启动代码start_kernel函数 Kernel 核心代码 installing t
分类:
系统相关 时间:
2016-03-13 19:34:25
阅读次数:
235
《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 内核源码三个个重要目录 README 构造一个简单的Linux 系统 MenuOs 内核启动 → 加载根文件系统(可执行文件init被启动了) 使用GDB跟踪调
分类:
系统相关 时间:
2016-03-13 17:42:29
阅读次数:
240
顾涛原创作品转载请注明出处《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 如果我写的不好或者有误的地方请留言 实验报告: 在实验楼里跑了一下gdb 没有多大印象 印象就是卡 这是卡吗 下面分析换自己的虚拟机 先来个宏
分类:
数据库 时间:
2016-03-13 14:18:56
阅读次数:
381
实验要求: 使用gdb跟踪调试内核从start_kernel到init进程启动 详细分析从start_kernel到init进程启动的过程并结合实验截图撰写一篇署名博客,并在博客文章中注明“真实姓名(与最后申请证书的姓名务必一致) + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程h
分类:
系统相关 时间:
2016-03-13 14:12:02
阅读次数:
240