《ORANGE’S:一个操作系统的实现》第一个例子的实现

这本书看第一章就郁闷了:第一个例子居然需要软盘。。。。这种古董找到了我也没法用啊。


首先我们按照书中所说,使用 NASM 编译出 boot.bin 然后问题就来了,如何将boot.bin转换成img格式的文件

以下是我的各种蛋疼的尝试。(系统:Windows7 x64)

1.使用Winimage直接制作img格式

系统好像可以启动,但是什么也没发生一直黑屏,而且Winimage无法正常打开书中的img格式的实例。

2.使用UltraISO制作ISO格式启动文件

系统可以启动,启动后光标也移动了,但是没有正常输出。


最后,我只能通过书中的方法,使用rawrite2 来制作。

对于rawrite2有这样的一个介绍: 可用于制作驱动软盘,在服务器安装linux系统找不到硬盘驱动的时候会用到,这可能是以上方法失败的原因

=================================================以上都是废话,纪念我蛋疼尝试的三小时


首先rawrite2 无法在win7中正常运行,我们需要一个XP系统的虚拟机。

然后使用UltraISO之类的工具制作一个空白的,足够大的img格式的文件。

将我们新建的img文件设置为xp虚拟机的软盘


就是这个样子


这样就可以启动我们的xp虚拟机了

然后按书中运行rawrite2,拷入的boot.bin文件,进行制作



这是成功的现象:



使用这个程序可能会出现这个错误:

can‘t figure out how many sectors/track for this diskette


这是因为它没有找到可以写入的软盘

在图片中我将指定的盘符写了B,而一般软盘默认是A盘,所以就找不到了。如果出现了这个错误,可能是因为虚拟机中的软盘没有正确配置。



<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

现在我们已经制作好了我们的启动盘,接下来就是运行它了。


首先配置一个新的虚拟机:

在版本和操作系统选项中都选择其它


然后为这个虚拟机也配置一个软盘


好了,尝试一下你的第一个系统吧!

============================================================================

这个简单的操作系统实在太不容易了


完成于2014.11.29   2:00

//

注意!

我在起床之后查了一些资料,发现 nasm可以直接对asm文件进行编译,生成img格式文件。且运行成功。。。。。。

命令:   nasm -o boot.img boot.asm  

真是蛋疼

完成于2014.11.29 16:00

//


  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
畅销书《自己动手写操作系统》第二版。   从只有二十行的引导扇区代码出发,一步一步地向读者呈现一个操作系统框架的完成过程。    翔实的文字,丰富的图表,清晰的代码,作者 于渊 畅销书《自己动手写操作系统》第二版。   从只有二十行的引导扇区代码出发,一步一步地向读者呈现一个操作系统框架的完成过程。     翔实的文字,丰富的图表,清晰的代码,作者亲自用LAATEX排版,内容与形式并重。   人性化的代码组织,帮读者关注每节重点,完备的行号标识,便于读者对照实际代码。   专属网站和邮件列表,方便读者交流。   立足实践层面,关注动于操作过程中的细节,一步一步熟读者完成自己的操作系统:最简单的Boot Sector-由Boot Sector和Loader加载的内核-实现一个和多个进程-多控制台-进程间通信-轻巧的FS-简单的MM-自己的C运行时库-运行自己的应用程序-在真机进行自己操作系统。 本资料共包含以下附件: Orange S:一个操作系统实现(PDF+光盘).part1.rar Orange S:一个操作系统实现(PDF+光盘).part2.rar Orange S:一个操作系统实现(PDF+光盘).part3.rar Orange S:一个操作系统实现(PDF+光盘).part4.rar 四卷下载完后一起解压,资源非本人制作,也是从网上找来,本着方便大家学习的原则分享。 文档很清晰,光盘内容完整。
畅销书《自己动手写操作系统》第二版。   从只有二十行的引导扇区代码出发,一步一步地向读者呈现一个操作系统框架的完成过程。    翔实的文字,丰富的图表,清晰的代码,作者 于渊 畅销书《自己动手写操作系统》第二版。   从只有二十行的引导扇区代码出发,一步一步地向读者呈现一个操作系统框架的完成过程。     翔实的文字,丰富的图表,清晰的代码,作者亲自用LAATEX排版,内容与形式并重。   人性化的代码组织,帮读者关注每节重点,完备的行号标识,便于读者对照实际代码。   专属网站和邮件列表,方便读者交流。   立足实践层面,关注动于操作过程中的细节,一步一步熟读者完成自己的操作系统:最简单的Boot Sector-由Boot Sector和Loader加载的内核-实现一个和多个进程-多控制台-进程间通信-轻巧的FS-简单的MM-自己的C运行时库-运行自己的应用程序-在真机进行自己操作系统。 本资料共包含以下附件: Orange S:一个操作系统实现(PDF+光盘).part1.rar Orange S:一个操作系统实现(PDF+光盘).part2.rar Orange S:一个操作系统实现(PDF+光盘).part3.rar Orange S:一个操作系统实现(PDF+光盘).part4.rar 四卷下载完后一起解压,资源非本人制作,也是从网上找来,本着方便大家学习的原则分享。 文档很清晰,光盘内容完整。
orange's个操作系统实现》是一本关于操作系统实现的书籍,其中第六章无法运行可能有以下几个原因。 首先,书中的代码可能存在错误。编写代码时,一些细节的失误可能导致程序无法正确运行。这可能是作者在编写书籍时出现的问题,或者是影响到第六章的代码遗漏或错误。在实际操作中,我们应该检查在书中提供的代码并尝试找到错误。 第二,缺少必要的软件或工具。在开发操作系统时,通常需要使用一些特定的软件和工具,例如汇编器、编译器、链接器等。如果这些软件或工具没有正确安装或配置,可能会导致第六章中的代码无法运行。 第三,硬件环境不符合要求。在实际操作系统的开发中,硬件环境的要求可能较高。如果硬件配置不符合第六章中所述的要求,例如内存容量过低或者缺少某些关键的硬件设备,那么无法保证代码能够正确运行。 最后,操作系统开发环境的设置可能有问题。正确设置开发环境是操作系统开发的关键。如果遗漏了某些设置步骤,例如环境变量的配置或者文件路径的设置等,那么第六章的代码可能无法正常运行。 针对以上可能的原因,我们可以先检查书中代码的正确性,然后逐步检查所需软件和工具的安装与配置,以及硬件环境是否符合要求。如果仍然无法解决问题,我们可以尝试在相关的开发社区或论坛上寻求帮助,与其他开发者交流并寻找解决方案。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值