跟我一起写操作系统

    返回首页    发表留言
本文作者:李德强
          前言
 
 

        在这个信息化发达的时代,多数的程序工作者更多的去关心如何学习并使用一些成熟稳定的语言或开发框架来完成一系列庞大的信息化系统。多数的程序员的注意力已经不是计算机体系结构和运行原理。他们使用高级编程语言所编写的一个语句就可以让计算机完成一系列强大的功能。但是很少有人会去进入思考:这些功能的底层实现究竟是什么样子的?计算机是如何识别程序并能够按照事先指定好的程序流畅的运行下去的?操作系统是如何识别用户命令并对多个程序进行调度和管理的?Unix可以说是现代操作系统的鼻祖,她的内核美丽而优雅。Linux作为类Unix的宏内核已经广为人知。如今Linux在全球的地位越来越高,在操作系统家族也有了一席之地。她之所以成功主要原因是加入了自由、开源标准协议,从此有成千上万优秀的程序员为其编写内核代码。可以说Linux内核的出现为广大操作系统爱好者提供了很好的学习对象和学习方法。让人们开始了解并深入学习操作系统内核的实现原理和方式。

        本教程就是要从操作系统内核入手,一步一步的编写一个类Unix的多用户、多任务、现代的、32位操作系统。编写一个操作系统是一件非常考验我们耐心的工作,其中涉及到很多、很杂的计算机专业知识,还有很多的细节问题需要注意,也许一个0和1就有可能导致内核的崩溃,在学习的过程中也会遇到各式各样的古怪的问题。不过我要告诉大家不要被这些困难所击倒。办法总比问题多,只要努力所有的问题都可以解决,也就是说不要气馁,不要放弃,充满自信的、乐观的学习实践。我会通过实际的例子来和大家一步一步的编写我们的操作系统。从简单的引导程序到显示一个“Hello World!”,再到保护模式、任务调度、运行磁盘程序等等。

        “书到用时方恨少,事因经过始知难”——陆游。我建议大家在学习的过程中一定要自己动手去实践,自己不动手做就永远不知道其中的原理和奥妙。读别人写好的代码和自己思考编写程序是两码事,只有自己实际动脑、动手才会有大的收获。所以学习的过程同时也是实践的过程,不要直接将大量的代码复制过来为已所用,要仔细学习分析别人代码的实现方式,明白其中的原理,在完全明白之后自己动手写一遍,体会这个实践过程。      

        本教程所用到的源代码都放在github服务器上,你可以在下面的网址中找到我们所有的源代码,并通过你喜欢的方式下载(https、git和ssh方式):

https://github.com/magicworldos/lidqos

        另外,本教程所使用的源代码完全开放、免费。你可以自由的使用和修改本教程中的所有源代码。源代码采用分支(branch)方式来管理各个不同的版本。我们在每一个可运行的例子里都会附带一些源代码,并在章节结束时说明这一个章节所用到的源代码的分支,你就可以方便的从github上通过切换分支来取得这一个章节相应的源代码了。

        好了,一切准备就绪,下面就要开始我们的开发操作系统之旅了。

    返回首页    返回顶部
  看不清?点击刷新

 

  Copyright © 2015-2018 问渠网 辽ICP备15013245号