Posts Tagged ‘Bootloader’

【翻译】操作系统开发系列——Bootloaders 4

June 9th, 2011 | 阅读:98

操作系统开发系列——Bootloaders

Translated By Matrix7

本系列旨在展示和教授如何从零开始开发一个操作系统。

简介

欢迎!在前一章中我们学习了如何加载和执行一个扇区。同时我们学习了汇编语言中的Ring以及详细了解了BIOS参数块(BPB)。

在这一章中,我们将用我们所学的所有东西去解析FAT12文件系统,同时通过名字来加载我们的二级loader。

这一章中会包含很多的代码。我将会尽我所能去解释每一个细节。同时,这一章中会需要一些数学知识。准备好了吗?

» Read more: 【翻译】操作系统开发系列——Bootloaders 4

Matr7x版权所有,转载本站文章请注明,转载自 迷途羔羊

【翻译】操作系统开发系列——Bootloaders 3

January 29th, 2011 | 阅读:134

操作系统开发系列——Bootloader 3

Translated By Matrix7

本系列旨在展示和教授如何从零开始开发一个操作系统。

简介

欢迎!

在前一章里,我们学习了不同的处理器模式,和一些简单的BIOS中断。同时我们也学习了实模式中的段:偏移寻址方式,并且深入地解释了实模式。同时我们扩展了我们的bootloader,增加了一个神秘的“OEM参数块(OEM Parameter Block)”,同时增加了在屏幕上打印字符串的功能。

在这一章中,我们将会学习不同的“Ring”用于描述应用程序系统程序的不同。

同时我们也会学习单级和多级bootloader,以及他们各自的利弊。

最后,我们将会学习BIOS中断0x13,OEM参数块读取,加载以及执行一个程序。这个程序将会成为我们的二级Bootloader。我们的二级Bootloader会设置32位环境,并准备加载C内核

准备好了吗?
» Read more: 【翻译】操作系统开发系列——Bootloaders 3

Matr7x版权所有,转载本站文章请注明,转载自 迷途羔羊

【翻译】操作系统开发系列——Bootloaders 2

September 27th, 2010 | 阅读:126

操作系统开发系列——Bootloader 2

Translated By Matrix7

本系列旨在展示和教授如何从零开始开发一个操作系统。

简介

欢迎光临!

在上一章教程中我们已经学习了很多东西。我们学习了当你按下电源按钮的时候到底发生了什么,以及BIOS是如何启动的。除此之外我们还学习了BIOS中断(INT) 0x19,它用于寻找启动标识(0xAA55),如果发现了就加载bootloader到0x7C00,并执行它。

我们同时也开发了一个简单的bootloader,并对整个创建过程有了一些经验。

在这一章中,我们将扩展我们的bootloader。本章将覆盖一下内容:

  • BIOS参数块和主引导记录(MBR)
  • 处理器模式
  • 中断——打印字符串等等
  • 段:偏移寻址模式

» Read more: 【翻译】操作系统开发系列——Bootloaders 2

Matr7x版权所有,转载本站文章请注明,转载自 迷途羔羊

【翻译】操作系统开发系列——Bootloaders

July 9th, 2010 | 阅读:308

操作系统开发系列——Bootloaders

Translated By Matrix7

本系列旨在展示和教授如何从零开始开发一个操作系统。

简介

欢迎光临!本章教程相信您已期待很久。本章我们将涵盖许多话题,如:

  • 启动过程——它是如何工作的
  • Bootloader理论
  • 开发一个简单的Bootloader
  • 用NASM来汇编这个Bootloader
  • 使用VFD(Virtual Floppy Drive)软件;创建一个软盘镜像
  • 使用PartCopy;将我们的Bootloader复制到软盘镜像
  • 使用Bochs——基本的安装和使用;测试这个Bootloader

准备好了吗?
» Read more: 【翻译】操作系统开发系列——Bootloaders

Matr7x版权所有,转载本站文章请注明,转载自 迷途羔羊

【翻译】操作系统开发系列——历史与基本理论

May 4th, 2010 | 阅读:186

操作系统开发系列——历史与基本理论

Translated By Matrix7

本系列旨在展示和教授如何从零开始开发一个操作系统。

简介

欢迎来到奇妙而又令人疯狂的操作系统世界!

在前一章里,我们已经定义了什么是操作系统。一个操作系统提供了用户与计算机系统之间的基本接口,它为系统提供了基本的外观和感觉。

我们也看了一些将会对我们有帮助的工具,汇编器、编译器、链接器、PartCopy、MagicISO还有Bochs。

我对正在阅读这一章而又没有任何编程经验的人(我知道有一些这样的人)感到羞愧:)请回到第一章并重新阅读“要求”这一节。你为什么非要到这里来呢?赶快回去吧!

在本文中,我们将从另外一种角度来看操作系统。我们首先回到过去去看看操作系统的历史。你将会发现这些操作系统之间有很多相似点。这些相似点将会被归类为操作系统所有共有的基本东西——也是创建我们操作系统的积木(building blocks)。
» Read more: 【翻译】操作系统开发系列——历史与基本理论

Matr7x版权所有,转载本站文章请注明,转载自 迷途羔羊

【翻译】操作系统开发系列——简介

April 11th, 2010 | 阅读:270

操作系统开发系列­——简介

Translated By Matrix7

本系列旨在展示和教授如何从零开始开发一个操作系统。

这是关于什么的?

操作系统是一个复杂深奥的话题。学习操作系统是如何工作的将会是一个非常棒的学习体验。

本系列的目的是传授从零开始开发操作系统的黑色艺术(black art)。无论你是想开发你自己的操作系统还是仅仅学习它是如何工作的,本系列都是非常适合你的。

什么是操作系统?

一个操作系统为一台计算机提供了基本的功能,外观和感觉。它最初的目的是为用户创造一个可使用的操作环境。操作系统的例子有Windows,Linux,Macintosh。
» Read more: 【翻译】操作系统开发系列——简介

Matr7x版权所有,转载本站文章请注明,转载自 迷途羔羊

【翻译】操作系统开发系列——前言

April 1st, 2010 | 阅读:211

操作系统开发系列——前言

Translated By Matrix7

本系列旨在展示和教授如何从零开始开发一个操作系统。

引言

欢迎大家来到这里!

这是一系列关于计算机和操作系统的章节、教程或者文章。本系列重点在于一种新的方法,即在描述体系结构和系统级编程中的概念的过程中,从零开始开发一款操作系统。

本系列教程的目标是通过尽可能地覆盖每一点(every bit of,一语双关,也指计算机中的每一个位)内容,提供关于操作系统和计算机体系结构的最通俗易懂的指导。

在开始进入我们的系列教程之前,我认为应了解一些我们所选择的编程语言和读者需要了解的东西,包括编程语言中的重要概念和他们是如何工作的。我们同样会覆盖一些仅仅在嵌入式平台和系统级软件中用到的概念。

本系列使用C和x86汇编语言。在继续我们的系列之前对这两门编程语言有一个比较深入的理解是非常重要的。本章包含了对这两门编程语言的回顾。
» Read more: 【翻译】操作系统开发系列——前言

Matr7x版权所有,转载本站文章请注明,转载自 迷途羔羊