/orangeos

一个实验性的操作系统

Primary LanguageC

Orange'os 介绍

Orange'OS 是于渊做的一个实验性的操作系统,按照学习的阶段性,分章节,将所有的代码开放,这为我们学习操作系统提供了极大的便利性。 Orange'OS 不方便的地方在于其开发环境比较老,易出现各种问题,因此本人对要求的环境进行了升级,并对源码做了部分修改,以方便后续的学习。 在此感谢 于渊。

如有侵权,请指出,马上改正!

联系方式: 邮箱:jingwu@vip.163.com QQ:438010680

-----------------------------------------------原码的readme---------------------------------------

欢迎来到 Orange'OS 世界! Orange'S 是一个试验性操作系统,它的最大特点在于开发各个阶段的代码作为操作系统源码的一部分一同发布。这些阶段性代码可被称为“快照”。每个快照都可单独编译运行,并作为后续代码的基础。操作系统爱好者可以通过按照时间顺序阅读快照代码来了解整个系统的开发过程,并可以通过比较两个快照来了解某个功能是如何实现的。 本光盘是《Orange'S:一个操作系统的实现》的配套光盘,其中每个名为“chapterX”的文件夹对应书中的一章,比如“chapter3”对应第3章,“chapter11”对应第11章。每个“chapterX”中又分若干子文件夹,名字为英文小写字母,它们的字母顺序即为代码实现的时间顺序,每个子文件夹即一个快照。读者在阅读书中章节的同时参考相应代码,并可修改、编译、运行它们。 本光盘中的文件均为 UTF-8 编码,使用其它默认编码的操作系统的读者可能需要使用辅助工具进行编码转换(比如recode)。 本光盘中的文件使用 LF 作为换行符,Windows 用户阅读此类文件时请保证软件能正确识别,否则可能造成换行不正确而影响阅读。 对光盘中源代码的阅读不受操作系统限制,但编译需要 Linux 环境,原因是操作系统内核文件的默认格式为 ELF。 编译本光盘的代码需要 GCC 和 NASM,通常也用到 Make 工具。运行 Orange'S 推荐使用 Bochs 作为虚拟机。光盘中以 .img.gz 作为扩展名的文件均为磁盘映像文件,解压后可直接为 Bochs 所用。由于系统之间的差异,使用 Bochs 运行 Orange'S 之前或许需要对配置文件 bochsrc 进行修改,具体请参考 Bochs 使用手册。 本光盘中所有代码均用 GCC 4.3.2 / NASM 2.03.01 编译通过,但取决于具体环境,运行结果可能与书中截图有差别。 读者若有任何问题,可访问本书及源码的官方网站:http://www.osfromscratch.org/,那里会有其它辅助阅读材料以及专门的讨论区。 感谢您对 Orange'S 的关注! 作者:于渊 2009年3月