CHAPTER 18 调试 18.1 准备开始 需要的是准备是: - 一个bug - 一个藏匿bug的内核版本 - 相关内核代码的知识和运气 重点: 想要成功的进行调试,就取决于是否能让这些错误重现。如若不能,消灭bug就只能通过抽象出问题,再从代码中寻找蛛丝马迹来进行了。 18.2 内核中的bug ...
分类:
系统相关 时间:
2016-03-27 18:00:25
阅读次数:
240
第十八章调试 18.1 准备开始 需要准备的东西: l 一个bug:大部分bug通常都不是行为可靠而且定义明确的 l 一个藏匿bug的内核版本:找出bug首先出现的版本 l 相关内核代码的知识和运气 最好能让bug重现,有一些bug存在而且有人没办法让他重现,因为内核与用户程序和硬件间的交互很微妙。
分类:
系统相关 时间:
2016-03-22 23:17:39
阅读次数:
474
【Q1】命令qemu -kernel 内核可执行文件 -initrd rootfs.img 在内核代码目录下有init,这是一个可执行文件,内含有C语言文件。 【Q2】编译内核的目的是什么? 为了生成符号表(即名称与地址的映射表)。 1.MUU页式转换(虚拟地址 >物理地址)。 2.0号中断是除0错
分类:
系统相关 时间:
2016-03-18 23:23:13
阅读次数:
324
1991年10月5日,Linus Torvalds在新闻组comp.os.minix发布了大约有一万行代码的linux v0.01版本。 1993年,大约有100余名程序员参与了Linux内核代码编写/修改工作,其中核心组由5人组成,此时Linux 0.99的代码有大约有十万行,用户大约有10万左右
分类:
其他好文 时间:
2016-03-13 21:14:00
阅读次数:
186
sysfs文件系统:sysfs是2.6内核的一个特性,它允许内核代码经由一个in-memory的文件系统把信息出报(export)到用户进程中。在设备模型中,sysfs文件系统用来表示设备的结构.将设备的层次结构形象的反应到用户空间中.用户空间可以修改sysfs中的文件属性来修改设备的属性值,也可以...
分类:
其他好文 时间:
2016-03-08 21:00:54
阅读次数:
143
第三周 构造一个简单的Linux系统MenuOS 计算机三个法宝: 1、存储程序计算机 2、函数调用堆栈 3、中断 操作系统两把宝剑: 1、中断上下文的切换:保存现场和恢复现场 2、进程上下文的切换 一、阅读Linux内核代码 本周我们要学习如何阅读Linux内核源代码,首先打开Lstest Sta
分类:
系统相关 时间:
2016-03-07 18:45:14
阅读次数:
237
高参原创作品转载请注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 进程之间的切换通过定时器的中断来实现的,在一个进程的时间片时间长短又中断程序控制,在一个进程的时间片用完时中断发生切换到下一个进程。myke
分类:
其他好文 时间:
2016-03-06 23:32:16
阅读次数:
272
李俊锋 + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.实验目的 1、熟悉、理解Linux内核工作方式 2、尝试编写自己的内核 3、理解多进程时间片轮转的工作方式 二.实验步骤 1
分类:
其他好文 时间:
2016-03-06 20:43:21
阅读次数:
175
计算机如何工作 三个法宝:存储程序计算机、函数调用堆栈、中断机制。 堆栈 函数调用框架 传递参数 保存返回地址 提供局部变量空间 堆栈相关的寄存器 Esp 堆栈指针 (stack pointer) Ebp 基址指针 (base pointer) 堆栈操作 Push;pop Ebp用作记录当前函数调用
分类:
系统相关 时间:
2016-03-06 17:32:05
阅读次数:
188
秦鼎涛 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一、实验二:完成一个简单的时间片轮转多道程序内核代码(实验楼截图) 二、进程的启动和进程的切换机制 1、多道进程的处理采用了中断机制,利用cpu和内核代码来实现
分类:
其他好文 时间:
2016-03-06 17:18:57
阅读次数:
165