![7b813cef63edf50098d290b2692aa9c1.png](https://img-blog.csdnimg.cn/img_convert/7b813cef63edf50098d290b2692aa9c1.png)
一、专栏背景
之前从0开始,一步步的自己动手写了一个简易操作系统:
计算机自制操作系统www.zhihu.com![6a1417fb785fcba1e409bfd56ef7d1e7.png](https://img-blog.csdnimg.cn/img_convert/6a1417fb785fcba1e409bfd56ef7d1e7.png)
感谢自己的坚持,通过这个耗时半年的工程,使我逐渐对计算机的软件运行原理有了质的提升。我的本意想法是在自己写的操作系统上做进一步的延伸学习,比如做编译器,制作一种程序语言等。但是,经过一番搜寻和了解,才发现:我自写的这个操作系统太粗糙和低级了,它只是一个制作操作系统的尝试和探索,真正的拿来开发应用几乎不可能,因为它不合理和不周全的地方太多了。
但是,学习的步伐不能停止。怎么办?于是,我第一个就想到了借助Windows,我个人非常的喜欢Windows这个操作系统,非常地优秀,因为它把人和计算机之间的距离拉得太近了。但是Windows是商业软件,系统非常的庞大,又不是开源项目,要想系统性的学习和研究它肯定非常困难。自然就想到了Linux,毕竟Linux在操作系统领域的影响力实在太大了,于是就这样开始了本专栏的内容。
二、参考书籍
LINUX的教科书太多了,我只能每走一步就罗列出看过的书,目前主要的参考书籍如下:
1.《LINUX内核完全剖析:基于0.12内核》 作者: 赵炯。这是我最主要的参考书。说这本书不好的,都是浮于表面的认知。只有认真调试和实验过的人,才知道作者为写这本书要付出多少心血。
2. 《Linux内核设计的艺术_图解Linux操作系统架构设计与实现原理》 作者: 新设计团队。书中的图片多,很给力。
3…….待补充……
三、实验工具
1.NASM汇编器:我说过这是我理解的最好的汇编器。
2.Bochs和Vmware虚拟机:前置用来调试程序,后者用来验证版本。
3. WinHex二进制工具:制作各种二进制文件。
4…….待补充……
四、专栏申明
学习版本:Linux 0.12。主要基于教科书路线,不可否认版本很古老,但是如果一上来就直接学习目前最新的版本,估计很难入门和坚持。
本专栏涉及到的操作系统知识在我的专栏《计算机自制操作系统》中基本已介绍完了,因此不再重复,只有针对新的内容会做详细阐述。
Linux是一个完整的操作系统,对它的学习过程绝对不像我的专栏《计算机自制操作系统》一样,可以从0起步,自己一步一步的推进和完善,还可以边学习边探索,以致于最后的结果有一种水到渠成的感觉。Linux内核代码一上来就是全局思维和整体布局,会涉及计算机系统的方方面面。因此学习Linux内核对人的要求是:必须具备操作系统的所有基础知识,特别是要掌握计算机32位保护模式的核心原理。没有这些基础,永远都是雾里看花。这个就是对学习者最大的挑战,毕竟绝大部分的人都没有像我一样花半年的时间先去写一个“操作系统”再来学习,这是我最大的优势。
延续上一个专栏的风格,本专栏全部文章内容为我一人原创,如有喜欢转载请注明出处。由于时间和水平有限,不能确定能学习到什么地方,尽最大努力坚持。