自己动手写操作系统在线阅读_如何理解写作是一个整体系统

自己动手写操作系统在线阅读_如何理解写作是一个整体系统最近开始看《自己动手写操作系统》,虽然很早以前就读过一点点,但一直没有机会动手实践。本着光说不练假把式的原则,今天动手实践了开头的一部分。(说得这么正经其实你就是看了一点点吧!囧)废话不多说,在这里做一个小小的总结。实验环境:操作系统:win7旗舰版64位 汇编编译器:NASM 2.12.02虚拟机:VirtualPC_2007软盘/虚拟软盘写引导扇区工具:Flopp

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

最近开始看《自己动手写操作系统》,虽然很早以前就读过一点点,但一直没有机会动手实践。本着光说不练假把式的原则,

今天动手实践了开头的一部分。(说得这么正经其实你就是看了一点点吧!囧)废话不多说,在这里做一个小小的总结。

实验环境:

操作系统:win7旗舰版64位 

汇编编译器:NASM  2.12.02

虚拟机:VirtualPC_2007

软盘/虚拟软盘 写引导扇区工具:FloppyWriter.exe

步骤

  • 抄袭(这个这个)了书中的汇编代码,然后用NASM编译,生成boot.bin文件。
  • 将boot.bin写入软盘映像文件中,当然这里是写入指定的位置,具体来说就是对应软盘的第一个扇区。
  • 虚拟机中用设置用软盘启动,启动文件当然设置为我们上面做好的启动软盘映像啦。
  • 启动虚拟机,然后,bingo!

问题

如何将boot.bin写入到软盘映像中正确的位置(引导扇区)。

为了印证随后的确将boot.bin写入了正确的位置,先查看生成的boot.bin的内容,用任意二进制查看软件均可。我用的是BinaryViewer.可以看到其中的内容为:

自己动手写操作系统在线阅读_如何理解写作是一个整体系统

用UltraISO生成软盘映像,然后尝试用UltraISO将boot.bin写入其中,我的步骤如下(勿喷,小生对UltraISO不是特别熟悉):

自己动手写操作系统在线阅读_如何理解写作是一个整体系统

操作后的软盘映像文件内容为:

自己动手写操作系统在线阅读_如何理解写作是一个整体系统

好吧,确实写入了,但是并没有对应软盘的第一个扇区,o(╯□╰)o,我不太明白。

无奈,利用作者提供的小工具FloppyWriter.exe将boot.bin写入UltraISO软盘映像文件,写入成功。写引导扇区后的软盘内容如下:

自己动手写操作系统在线阅读_如何理解写作是一个整体系统

可以看到成功写入了boot.bin,并确实在第一个扇区。

虚拟机中设置此软盘映像启动。启动失败。(o(╯□╰)o)

好吧,别瞎折腾了!

还是按照书中的步骤,用VirtualPC的软盘制作向导生成软盘印象文件,然后将boot.bin写入其中,内容如下:

自己动手写操作系统在线阅读_如何理解写作是一个整体系统

显示预期的字符,成功。

自己动手写操作系统在线阅读_如何理解写作是一个整体系统

对于为什么不能直接用UltraISO生成的软盘启动,还是有些困惑,希望能得到解答。可能VirtualPC_2007对软盘映像文件的确有特殊的格式要求。


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/179216.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JavaScript 设计模式之组合模式

    JavaScript 设计模式之组合模式引我们知道地球和一些其他行星围绕着太阳旋转,也知道在一个原子中,有许多电子围绕着原子核旋转。我曾经想象,我们的太阳系也许是一个更大世界里的一个原子,地球只是围绕着太阳原子的一个电子。而我身上的每个原子又是一个星系,原子核就是这个星系中的恒星,电子是围绕着恒星旋转的行星。一个电子中也许还包含了另一个宇宙,虽然这个宇宙还不能被显微镜看到,但我相信它的存在。也许这个想法有些异想天开,但在程序设计中,…

    2022年7月12日
    15
  • PyCharm激活码永久有效PyCharm2021.3激活码教程-持续更新,一步到位

    PyCharm激活码永久有效PyCharm2021.3激活码教程-持续更新,一步到位PyCharm激活码永久有效2021.3激活码教程-Windows版永久激活-持续更新,Idea激活码2021.3成功激活

    2022年6月19日
    37
  • pycharm安装社区版还是专业版_pycharm专业版怎么激活

    pycharm安装社区版还是专业版_pycharm专业版怎么激活1.找到pycharm社区版安装目录下,的uninstall文件。对原来的pycharm社区版本进行卸载。2.到pycharm官网下载专业版本,这里我选择的是最新版本的pycharm(2022.1.3),win系统下载链接(官网):https://download-cdn.jetbrains.com/python/pycharm-professional-2022.1.3.exe具体安装过程就不给大聪明们摆出来了3.到这里就安装好了,测试成功,输出“Hi,PyCharm”4.引入之前pychar

    2022年10月21日
    0
  • fastjson解析多层json_fastjson github

    fastjson解析多层json_fastjson github一、前言通过alibaba的fastjson包中的com.alibaba.fastjson.JSONArray、com.alibaba.fastjson.JSONObject定义JsonObjectUtil对象工具类,实现object转换成JSON的convertMapToJson、JSON转换成Map的convertJsonToMap、判断JSONObject/JSONArray对象是否为空is…

    2022年9月27日
    0
  • java struts2 漏洞_Struts2漏洞利用「建议收藏」

    java struts2 漏洞_Struts2漏洞利用「建议收藏」Struts漏洞合集Struts-S2-013漏洞利用受影响版本Struts2.0.0-Struts2.3.14.1漏洞利用任意命令执行POC:${(#_memberAccess[“allowStaticMethodAccess”]=true,#a=@java.lang.Runtime@getRuntime().exec(‘id’).getInputStream(),#b=newjava…

    2022年7月19日
    14
  • 图解java反射机制及常用应用场景

    图解java反射机制及常用应用场景一、什么是java反射?二、HelloWorld三、类加载与反射关系四、操作反射的java类五、反射的常用场景六、反射的优缺点

    2022年9月16日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号