30天自制操作系统光盘_计算机自制操作系统:总序

3d78775dfb2301e4280c7c82ca10afaa.png

一、不忘初心

电子计算机---是20世纪人类最伟大的发明之一。本人机械专业出身,但是最热爱的专业是电子,如果有机会再让我选择一次,我会毫不犹豫的选择读EE。由于缺乏电子行业所需的实验环境和实践机会,后来慢慢就把注意力转移到了计算机,因为只需要一台电脑就可大显身手了。没有机会当程序员,多年以来一直在自学,业余写点小代码,但却有一颗非要将问题弄懂的纠结心。

记得90年代末上大学的时候刚开始接触计算机,对计算机能够显示照片,播放视频等简直惊叹不已,自己非常疑惑的问计算机系的同学:计算机能够有那么漂亮的桌面和图案,它到底是怎么弄出来的啊?那位同学很“专家”式的给我解答:是用VB(Visual Basic)做的。这位同学显然答非所问,那个时候的我们真的是什么都不懂......

所以很早的时候其实我就对计算机感到神奇而伟大,为了彻底搞清楚这些原理,我痛下决心决定好好的系统性学习计算机,以期彻底解决我心中的各种疑惑。从组成原理到操作系统,再到编译语言,最后到高级语言,一步一个台阶的学习和掌握。我知道这个过程会很耗费精力,一年两年五年,或许会是一生,我将尽最大努力坚持。

本专栏的目标就是从零开始,自制操作系统,最终能让自己制作的操作系统成功运行在一台裸机上。至于这个操作系统能实现什么功能,达到什么效果,只能走一步算一步。

自己写操作系统是在重复造轮子吗?不是,因为你不可能造得出比Windows、Linux这种更好的轮子。但是你如果学会了造轮子,哪怕造出的是一个破轮子,那么你在用别人轮子的时候,才知道它好在什么地方,才能寻思鼓轮结构是不是还可以优化,轮胎材质是否可以替换等。

有人可能会认为,做操作系统肯定需要很高的计算机水平。其实,这里最不需要的就是多高的水平,只有做过这个事情的人才知道这里面会包含多大的工作量,多么枯燥的工作。我敢说,没有超高的兴趣、超高的毅力和忍耐力是绝对做不下去的。所以,唯一需要的就是坚持。

开此专栏的目的是记录自己的心路历程,同时也为有同样兴趣的爱好者提供学习素材,因此我会特别注意层层递进的开发方法和写作思路,保证稍微有一点计算机基础的人都能看懂学懂。这个教程绝对是最清楚明了的,因为我花费了大量的精力来制作,把所有的细节全部写得明明白白。如果你也愿意学习,那么跟着我的文章一起实践和练习,定有收获。

二、环境工具

根据我个人的习惯和偏好,主要开发环境和工具选择如下:

  1. 操作系统: Windows 。对于大多数的初学爱好者,Linux显得有点陌生和不适应。
  2. 16位Dos开发环境:DOSBox。
  3. 虚拟机:Bochs和Vmware。Bochs用于调试测试,mware用于定版验证。
  4. 汇编语言:Nasm。据说这是目前最好的汇编语言编译器。
  5. 二进制工具:WinHex。
  6. 软盘映像制作工具:WinImage
  7. C语言相关编译和链接器:cc1.exe,gas2nask.exe,nask.exe,obj2bim.exe...等,全部取自《30 天自制操作系统》。

三、参考资料

1. 李忠 《x86汇编语言:从实模式到保护模式》。强烈推荐的一本必读之书,花功夫读透它,基础打牢,后续制作操作系统中的问题才能迎刃而解。这是真正的磨刀不费砍柴工。

2. 川合秀实 《30 天自制操作系统》。操作系统制作学习的最佳书籍,最大特点是层层推进,引人入胜。 我基本以此书为主线,甚至很多时候都是直接拷贝源代码,但这并不妨碍我对操作系统的学习和理解,所以本专栏在此书的基础上做了大量的延伸和扩展。另外,书名“30天”做出操作系统的说法过于夸张,对于99%的计算机专业程序员来说,30天都是不够的。如果书中所有的功能和程序代码都自己来设计和编写调试,300天看能不能完成。

3. 于渊 《Orange‘s:一个操作系统的实现》。有一定实践意义,但进阶性不够强,汇编程序太多了。

4. 郑刚 《操作系统真相还原》。原理性参考书,但实践难度较大。放在枕头旁边,每天看一点点比较合适。

5. 《NASM中文手册》。NASM是很好的汇编器,自从用它之后,MASM、FASM和TASM我一个都不想用了,更别说AT&T汇编了。

6. 《经典DOS汇编程序100例》。自己动手多练,可得一身超强的汇编能力,受益一生。

7. 《C语言XX》。没有发现特别好的C语言教材,随便找本C语言的参考书就行了。

四、忠告

学习操作系统,不要一上来就端起《操作系统设计与实现》、《深入理解Linux内核》等书一阵猛啃,因为你会有太多的不懂和疑惑,这只会更加打击你学习计算机的兴趣和自信。如果你自己尝试先从0开始动手实践,经过痛苦的折磨和无数的摔打之后,翻开这些书才会有恍然大悟的感觉。这个时候,你再回头去阅读像《深入理解计算机系统》这类经典的书籍,简直就是一种高级享受。

五、申明

专栏内容全部为本人呕心沥血的原创制作,花费大量的精力来实验、截图和撰写,只为不留死角。高水平的人很多,但是有耐心坚持的没有几个,能看到本专栏的人无疑是幸运的。

生有涯而知无涯,本人不对专栏所有内容的正确性负责。如有任何形式的转载,请务必注明出处。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
 优秀国内原创图书!本书用丰富的实例代码,一步一步地指导读者用C语言和汇编语言编写出一个具备操作系统基本功能的操作系统框架,不同于其他的理论型书籍,本书提供给读者一个动手实践的路线图。用理论指导动手实践,用实践深化理解理论!  这是一本编程爱好者编写的别具一格、颇有特色的操作系统原理与实现的书。该书作者对操作系统具有特殊爱好,在大量实践和反复钻研下积累了丰富而可贵的经验,为了与广大读者分享这些经验写成了此书。  本书对一般的操作系统原理教材不很重视的部分,例如,系统初启、保护模式、控制权如何转入OS Kernal等都写得具体详细,对操作系统的爱好者以及涉足于操作系统设计、实现和应用的读者有很好的参考价值。  本书的文字生动活泼,富有个性,可望提高青年学子的阅读兴趣。  本书在详细分析操作系统原理的基础上,用丰富的实例代码,一步一步地指导读者用C语言和汇编语言编写出一个具备操作系统基本功能的操作系统框架。本书不同于其他的理论型书籍,而是提供给读者一个动手实践的路线图。书中讲解了大量在开发操作系统中需注意的细节问题,这些细节不仅能使读者更深刻地认识操作系统的核心原理,而且使整个开发过程少走弯路。全书共分7章。  本书适合各类程序员、程序开发爱好者阅读,也可作为高等院校操作系统课程的实践参考书。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值