声明:本文为转载,原文找不到了
当初一开始拿到赵炯的书时是兴奋的,代码几乎每行都有注释,心想这不手到擒来的吗。但是代码看到十几行就看不下去了,没错就是十几行,操作系统的代码跟应用层的代码完全是两回事,注释再多也不明白什么意思。后来才知道需要 实模式和32位保护模式 的基础,这个是操作系统的核心知识。
这里总结一下需要的基础知识。按学习顺序:
《汇编语言_第2版》,王爽
《x86汇编-从实模式到保护模式》,余洁。操作系统知识的核心
《C语言XXX》,就不多介绍了,网上一堆
《Orange’S 一个操作系统的实现》,于渊。傻瓜式教程,从0开发一个简易操作系统
《AT&T汇编》,这个内容比较少,只要注意一下语法就行了。linux内核到处用到
学完以上所有,再来看linux内核非常轻松。最后就是下面这本:
《Linux内核0.11完全注释》,赵炯
有几个地方需要注意:
-
网上总有人说内核中汇编用到不多,不用学。这是个极大的误区,在整个内核代码中,汇编代码确实不是很多,但地位极度重要,而且穿插用在很多核心模块,并不只是启动那块才用到汇编。比如说进程切换,从高层到底层的层层流程下来,最终就是汇编的切换进程代码;还有系统调用,也是最终调用的是80中断。例子太多。而且,汇编讲的不只是汇编代码,还有计算机底层的运行机制