
自行开发操作系统(包含源代码). 第一部分。
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本书旨在为读者提供一个实践操作系统的独特体验。从最初的二十行引导扇区代码起步,本书将一步步引导您完成操作系统框架的构建过程。它不仅关注代码本身,更注重实现这些代码背后的思路和方法。与传统的理论书籍不同,本书更侧重于提供一份动手实践的路线图,让您能够逐步完成各个功能模块,从而避免一开始就面对庞大数万行的代码带来的迷茫和挫败感。
本书深入探讨了开发操作系统过程中需要注意的各种细节问题,这些细节不仅能帮助您更深刻地理解操作系统的核心原理,还能有效避免不必要的弯路。本书分为上下两篇共11章,每一章都以前一章的工作成果为基础,实现一项全新的功能。同时,每一章内部又将大的功能分解为多个小的步骤,通过完成这些小步骤,您可以不断获得阶段性的成果,从而使整个开发过程变得更加轻松且充满乐趣。
本书适用于各类程序员和程序开发爱好者阅读,也可作为高等院校操作系统课程的实践参考书。
**序:成为真正黑客的乐趣——亲自动手去实践**
2004年,在编辑建议下,一位年轻的作者完成了《自己动手写操作系统》的第一版。当时普遍认为编写操作系统是一项极具挑战性的任务,需要深入掌握操作系统的原理并具备实际动手编写原型机的能力。
历史上的 Linux 正是这样诞生的:Linus Torvalds 是一名赫尔辛基大学计算机科学系的二年级学生,他经常通过大学主机的网络访问新闻组和邮件来获取信息。为了方便文件读写和下载,他自己编写了磁盘驱动程序和文件系统雏形——这成为了 Linux 的第一个内核。
我认为中国有能力编写内核原型的程序员一定也很多。然而将此题目写成一本书并出版却并不容易:这需要投入大量的时间和精力;主题较为专业且难度较高;因此销售量可能不会特别高,经济回报也相对有限。
但当编辑看到初稿时却被其内容所震惊:文笔流畅、原创性强、绝对值得推荐!因此立即决定在《程序员》杂志上连载这本书。《OrangeS:一个操作系统的实现》于2005年由博文视点出版社出版并获得了广泛好评。
然而仍有一些读者对这本书提出了质疑:“现在软件编程主要集中在框架和应用领域中, 还需要了解操作系统底层吗?”
经过四年的沉淀与成长, 于渊再次推出了第二版《OrangeS:一个操作系统的实现》。
**第一篇:回顾与展望**
* **第1章:马上动手写一个最小的“操作系统”** 本章将带领您从最简单的二十行代码开始构建您的第一个操作系统雏形. 您将学习如何设置开发环境, 编译运行代码, 并逐步理解操作系统的基本概念.
* **第2章:搭建你的工作环境** 本章将介绍两种常用的虚拟机工具: Bochs 和 QEMU. 您将学习如何安装配置这些工具, 并利用它们来模拟运行您的操作系统. 同时, 本章还将讨论 Windows 和 Linux 两种开发平台之间的选择.
* **第3章:保护模式(Protect Mode)** 本章将深入讲解保护模式的概念、原理以及实现方法. 您将学习如何使用 GDT 和 LDT 来管理内存空间, 以及如何进行特权级转移.
* **第4章:让操作系统走进保护模式** 本章将指导您如何将您的操作系统从实模式过渡到保护模式. 您将学习如何设置分页机制, 以及如何使用中断和异常来处理系统事件.
* **第5章:内核雏形** 本章节会详细介绍如何在Linux下用汇编语言编写Hello World程序并运行成功. 同时会着重讲解ELF格式及其应用. 通过Loader到内核的过程展示了整个OS开发的流程.
* ... (后续章节内容类似)
总而言之,《OrangeS:一个操作系统的实现》旨在为读者提供一份清晰、易懂的操作系统开发指南。它不仅涵盖了操作系统的各个要素, 而且涉及了开发操作系统所需的各个方面, 如建立开发环境、调试以及在虚拟机中运行等. 书中的实例操作系统采用IA32作为默认平台, 因此保护模式也作为必备知识储备收入书中...
全部评论 (0)


