11 LinuxKerneltravel

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 2w+

Linux内核源码分析方法

以下是刚接触内核三个月的同学,通过对一个内核特性的分析,总结出一套分析内核的方法。一、内核源码之我见Linux内核代码的庞大令不少人“望而生畏”,也正因为如此,使得人们对Linux的了解仅处于泛泛的层次。如果想透析Linux,深入操作系统的本质,阅读内核源码是最有效的途径。我们都知道,想成为优秀的程序员,需要大量的实践和代码的编写。编程固然重要,但是往往只编程的人很容易把自己局

2013-03-22 09:21:55

5 基于IntelVt技术的Linux内核调试器主要问题以及解决

在开发基于虚拟化的调试器时遇到了很多问题,有些问题看似简单,但是解决起来很不容易。这是因为我们的调试器工作在VMXroot模式,而在这种模式下引发的崩溃性BUG,没有任何软件调试器可以对其进行跟踪分析,除非这个调试器同样运行在VMXroot模式。专业的虚拟机开发人员可以使用硬件调试器来解决开发中遇到的问题。x86架构是支持外接硬件调试器的,类似于JTAG接口,这种调试器价格昂贵,大概两万美

2012-09-20 14:12:09

4 基于IntelVt技术的Linux内核调试器- 调试器设计与实现(2):调试核心

4.1反汇编引擎如果说调试框架是一个调试器的灵魂,那么接口与反汇编引擎就是一个调试器的身体。我们在调试过程中是要阅读指令代码的,而反汇编引擎则提供将二进制元指令翻译成可阅读的汇编代码这个功能。设计并实现一个初级的反汇编引擎很简单,但是计算机指令系统并不简单,将这个反汇编引擎实现到可以实际应用的级别需要不断地调试与修复Bugs,这个过程需要耗费大量精力。所以我选择了开源反汇编引擎。虽

2012-09-20 14:02:35

3.基于IntelVt技术的Linux内核调试器- 调试器设计与实现(1):基本框架

本内核调试器拥有如下几个主要模块:虚拟化框架(调试框架)、接口模块、反汇编引擎、键盘驱动模块、符号表模块、调试控制台模块等。以下内容为各个模块的设计与实现。3.1虚拟化框架虚拟化框架实现的主要功能就是创建一个虚拟CPU,并将在当前物理CPU上运行的操作系统转移到虚拟CPU上,而调试器则运行在当前CPU上。实际上就是CPU控制权的转移,或者说是CPU上下文的转移。这样在虚拟CPU

2012-09-20 13:49:05

2.基于IntelVt技术的Linux内核调试器- 调试器主要原理与环境搭建

2.1 传统调试器原理传统的内核调试器在实现断点功能时,都是修改中断向量表,捕获CPU的单步异常和断点异常来实现的。被调试软件只要检测中断向量表是否被修改就可以判断当前是否运行了内核调试器。图2-1-1原理图:操作系统正常的CPU异常处理图2-1-2原理图:传统调试器2.2 硬件虚拟化技术的调试器原理基于VT-x技术的内核调试器主要原理是创建一个虚拟机,

2012-09-20 13:42:09

1. 基于IntelVt技术的Linux内核调试器- 引言与IntelVT-x 技术简介

<!--@page {margin:0.79in}h1 {margin-top:0.08in; margin-bottom:0.22in; direction:ltr; color:#000000; line-height:0.28in; page-break-inside:avoid; widows:0; orphans:0}h1.western

2012-09-20 13:32:01

开源项目-基于Intel VT技术的Linux内核调试器

本开源项目将硬件虚拟化技术应用在内核调试器上,使内核调试器成为VMM,将操作系统置于虚拟机中运行,即操作系统成为GuestOS,以这样的一种形式进行调试,最主要的好处就是调试器对操作系统完全透明。如下图:       图1 虚拟化调试器框架    传统的内核调试器的工作原理是接管中断向量表中的INT1和INT3处理程序。前者对应的是 #DB异常,通常是设置了单步标志后引发的

2012-08-09 09:11:58

弹性云存计算平台CloudXY新人学习汇报

在cloudxy邮件列表中,有一位新成员bin yin发来如下邮件:    诸位,我很幸运的发现了CloudXY,对它简单了解后突然激动起来,感觉昏暗混沌的生活猛的被一缕阳光刺中,我预感到一个新纪元将要来临。  于是告诉自己应该去为之做些什么,去追求开源带来的快乐,到技术的前沿摘取硕果,提高自己的同时奉献社区。   于是12月14日我联系康哥,请求参与到Cl

2011-12-26 10:20:34

新一代弹性云计算平台cloudxy发布0.1版

从年初到现在,经过大半年的奋战,康华(博客)在工作之余,带领西邮兴趣小组的同学进行弹性云存储项目的开发,目前终于完成了第一个版本,取名cloudxy,其中的xy意味着,任何感兴趣者都可以加入进来,或许因为您的加入,这个xy就有了未知的扩展。 Cloudxy 立足于实现虚拟子网(以太网)的弹性云计算平台 该项目主要包含有两个子项目: HLFS - 虚拟机分布式镜像存储 (类似于亚马逊

2011-11-27 21:19:33

虚拟内存实践

<br /><br /> <br /> <br /> <br /> <br /><br />实现目的: 通过实验了解虚拟内存<br /> <br /> 实验内容:在proc 文件系统下,我们建立一个文件,每次向这个文件写人字符时,调用相应的虚拟内存处理函数/* mtest_dump_vma_list():打印出当前进程的各个VMA,这个功能我们简称"listvma" mtest_find_vma(): 找出某个虚地址所在的VMA,这个功能我们简称“findvma" my_follow_page( ):根据页

2010-11-04 11:07:00

LKD第三版翻译时

<br />  Linux Kernel Development第三版英文版已经出版,目前有几个学生在做两个版本之间文字差异的校对,并插入到第二版译文中,此事繁琐而枯燥。与此同时,我们翻译组正在翻译。合作者康华和张波,是99年分析Linux内核源代码时带的第一届学生。现在的康华,已经属于大牛的行列。作为老师,不仅为他们欣慰,也为他们对Linux的默默贡献而自豪。本书在业界如雷贯耳,其原作者Robert Love,更是一个传奇人物,写作本书时还是在校大学生,追寻他的足迹,或许对我们有所启发,在网上找到早年对他

2010-08-10 10:02:00

Google失败的产品

<br />   当今天看到google对其两款所谓失败的产品的处置之后,感到Google对中国文化“欲进则退”的现实应用。   第一条消息:Google将用Nexus One作为赠送开发者机型-“Google宣布停售Nexus One手机后,这么多剩下来的硬件将会去哪里?不要担心,开发者们需要它,Android开发博客今天宣布Nexus One将完全被解锁,并取代G1成为Google合作开发者的测试机型,Google不但会为它安装最新的系统,还配备了开发所需要的各种套件。”  第二条消息:谷歌Wave

2010-08-06 16:26:00

心急吃不了热豆腐

<br />  “心急吃不了热豆腐”这个耳熟能详的词无人不知晓,但且慢,知道归知道,能否做到,那是另一码事。     随便进入一个领地,都是庞大而复杂,让围观者总有老虎吃天无从下口的感觉,而虎视眈眈者又群聚而来,谁不想心急如焚地占一块地盘呢,市场的确是这样的。可是,到了学习和工作这块地盘,如此的心态往往把自己造就成一直不断扳棒的猴子。不信你可以试试,在IT这个庞大的天地,眼花缭乱的东西太多,每一件几乎都是诱人的,但当你拿到手上,又发现那不是你所能掌控的...    Linux的学习也莫过如此,想一口吃个

2010-08-06 15:56:00

学生助教领你入门Linux

<br />   又有新的研究生9月份要入学了,暑假是补基础的好空挡。可我手上已经有不少要带的本科生:Linux兴趣小组和Linux3+1班,大约60~70人,大家水平各不一样。这给业余时间的带领增添不少麻烦。于是,在学生中挖掘出助教,也许他更适合学生的口味。这个任务给胖兔子后,他的负责和执行力与我所想几乎吻合,看看他发给大家的第一封邮件“暑假我们一起学习linux吧!”  暑假期间由我来组织大家学习linux 下C语言基础。不管我们每个人身处那里,我们的目标都一致:掌握好linux C基础。具体教材就

2010-08-06 15:55:00

嵌入式系统联谊会-桥梁搭起时

   成为嵌入式系统联谊会的一员,觉得自己像闯进大象园中的一只小鹿,脖子长只是虚高,整体实力与大象是难以比拟的,但脖子长自然可以东张西望,东家西家的优势尽收眼底。   本次联谊会的主题为“嵌入式系统新技术论坛http://www.esbf.org.cn/index.asp”,演讲者给出的话题是否就是新技术,听众可能各有自己的看法。实际上,联谊会只是一个民间组织,因为两位何老师的自我奉献和一些其他委员和工作人员的协助,才使这样一个中立组织有每年四次的主题讨论,并在委员之间搭起交流的桥梁。   每位委员是一本书

2010-08-06 15:53:00

移动终端引起的平台之争

创造一个无线帝国,这是众多IT商家的梦想。“硅谷海盗”乔布斯所创造的苹果帝国,羡煞了本在各自领域独领风骚的大佬们。谷歌在推出其Android系统时,其实,那绝不仅仅是一个手机操作系统或软件商店而已。它的野心,是想通过这个入口把用户引向谷歌的网站,利用自己在互联网的优势形成新的模式。Intel在推出Moblin时,其实,那也绝不仅仅是在移动操作系统市场分一杯粥。它的野心,是想通过这个入口把自己的“芯”贯穿于各种移动设备。诺基亚收购Symbian并将其开源,其实,那也绝不仅仅是对Symbian的拥有,而是开放的

2010-07-09 11:42:00

点燃的激情

<br /> 《Linux内核分析》课程上机验收的场面混乱而热闹,只因为上周我扔出一把火苗,所有学生必须背上装有Linux的笔记本来实验室,一个个单独演示编写的内核模块程序!严格检查是学生所反感的,但在学生只在乎分数的情况下,严格和公平验收又是点燃大家睡眠惰性的一种有效方式。 <br />  1对100多名学生,所谓的一个个验收显然不现实,这使我想起了操作系统中惯常用的索引方式。因为软专业有10多名学生在Linux兴趣小组,他们对Linux内核有一年左右的接触和钻研,把他们升级到助手的级别显然可以降低我的工

2010-06-29 20:42:00

基础的多米诺骨牌

  关于“基础”之重要的话题引起一片争议,这似乎是一个无尽的话题。而实际上,观点之不同在于出发点和向往之终点的差别。     “兴趣”是落地有声的借口,在兴趣的背后似乎就可以省却枯燥和艰辛,而把兴趣要坚持到成为习惯,这中间付出的艰辛和为枯燥而抓狂的段段落落,很可能被成功的光环所遮掩。 依然记得二十年多前在西电的操场每天下午跑十圈的训练,4000米不是一个小数,现在即使从0数到4000,也缺乏这个耐心。但当一步步往前跑时,那些过往的脚步被时间的流逝踩在脚下。在看似毫无意义的一步步脚印中,为未来N年打下的基础不

2010-06-04 22:58:00

在每一条错误的道路上成长

  在操作系统的课程的实践环节,给学生给出了Linux下关于进程,线程和死锁的部分程序,然后让大家补充完整,并回答后面的问题,例如,关于线程:<br />--------------------------------------------------------------------------------------------------------------------------<br />  通读下列代码:<br />/* <br />* POSIX 下线程控制的

2010-06-02 22:36:00

为什么是基本功

 前面两篇“试炼基本功”读者的留言让我反思,说明我没有把问题说清楚。<br />不管学任何东西,基本功的重要性是不言而喻的。大家之所以不愿意练基本功,因为其枯燥并看不到其实用价值何在。实际上,这又涉及到另一个问题,如何练基本功,是死练还是灵活应用?是在一个水平面上往前走还是在一个稍有陡度的陂上往上爬?是在思考中不断修订还是出手后就不知修订的空间在哪里?<br />比如,求最大数的问题:1)求两个数的最大数2)求n个确定数的最大数3)求不确定数的最大数4)...<br />第一个问题仅仅用条件语

2010-05-31 21:49:00

查看更多

勋章 我的勋章
    暂无奖章