欢迎来到 常识词典网 , 一个专业的常识知识学习网站!

[ Ctrl + D 键 ]收藏本站

您所在的位置:首页 > 教育学习 > 知道

知道

不懂汇编可以学linux内核吗?

分类: 知道 常识词典 编辑 : 常识 发布 : 08-25

阅读 :178

不懂汇编可以学linux内核吗?最近想学习linux内核,准备看《Linux内核完全剖析——基于0.12内核》,看了看目录,里面有些硬件知识。但我是不会汇编,硬件也了解不多了解LINUX C,了解计算机组成原理和OS,使用过两年linux,不知道还需要什么知识做基础?7 个答案

答案 1:

对于某些人来说,比如我,是绝对完全不可以的。我读大一的时候,复习《大学物理》曾经企图像中学一样把所有结论都自己推导一遍。结果差点因为时间不够没及格,还连累了其它科目的复习。不过这也让我认清了自己的学习方式。我不能容忍没有衔接的知识断链。如果两段代码之间的部分我不知道它们做了些什么,那我就不舒服。我可以因为当前的主要目标不是这个而不去了解,但是我不能容忍我不了解的原因是我居然不会那门语言。我经常遇到这样的情况,面试的对象知识有明显的断链。他们的眼神里充满了『你问这个有用吗』的神情。而我的头脑里充满了『你不懂这个怎么看得下去第二章教材』的疑问。不懂汇编,学到的东西注定是夹生的。比如,kenel里到处都是的偏移量到底是什么?让它滑过去也能大概搞个一知半解。我的做法是看了ELF格式的说明,然后又都忘了。但是从此那些偏移量再也没有什么神秘感。学会汇编,不在于你真的看懂每一句kernel里的汇编代码,而在于你明白自己忽略的到底是什么。出了问题你能意识到去什么地方寻求答案。

答案 2:

可以的,Linux内核里大部分都是C语言。建议先看《Linux内核设计与实现(Linux Kernel Development)》,Robert Love,也就是LKD。通过该书可以对Linux内核有个大体的把握。Linux内核有很多方面,全弄懂不大现实。通过LKD有个大体印象,再深入学习感兴趣的模块,这样比较实际。不会汇编、硬件完全可以跳过这些部分。

答案 3:

Linux内核中有一些汇编实现的内容,不懂汇编的话这个部分可能会不容易看懂,进而影响你深入理解其他部分。如果你只是想对内核有个大体了解和初步印象,就可以选择忽略这些内容,或者直接看《Linux内核完全剖析——基于0.12内核》关于这部分的解释。实际上我觉得看内核源码如果不是要做底层开发就不必要看太多细节的东西,有个宏观把握就可以了。因为0.12内核的代码很少,如果想完全搞明白这些代码,还是建议你看下汇编知识,学起来不是很难,而且你有组成原理的基础,学习汇编完全没有障碍,内核源码都看了,应该也不会在乎学习汇编花的那点时间了吧。

答案 4:

汇编不必完全懂,AT&T写法的x86汇编懂点最好了,我当初看ULK的时候,光第二章讲页表的,就看了两遍,还要结合intel的手册,才能彻底搞清楚页表是怎么映射的,段页式管理是怎么做的。当然,太细节的东西,现在都忘的差不多了。。。

答案 5:

如果你只是研究linux内核,以后做基于linux内核的驱动程序开发,你读懂那本书就可以了,不用太去理汇编的。但是如果以后你要做基于硬件的开发,还是懂点汇编会比较容易理解一点。汇编其实很简单,是很基础的语言,多读几个程序就能懂了。

答案 6:

linux内核就是管硬件的. 汇编就是用来管硬件的接口. 上面2个不懂虽然可以看, 但是会遇到很多问题. 还是先去弄懂点吧. 不算太复杂.

答案 7:

当然可以咯。

下一篇:ubuntu ocelot"Hybrid CD/USB ISO镜像"如何安装 下一篇 【方向键 ( → )下一篇】

上一篇:人有没有死的权利? 上一篇 【方向键 ( ← )上一篇】