《三十天自制操作系统》one day自学笔记(1) (有很多我当时的疑问)

                                                            闲谈及准备工作

由于我是一名在校计算机专业大三的学生,最近想要自学一下自制操作系统,同时为了增强记忆,我决定写博客进行记录,所以书中一部分知识对于我来说已经学过,可能有些地方不会讲解到,有问题可以私聊我,我很乐意帮忙。

如果没有书籍或者光盘内容的话,在这里下载,提取码e6ho。

首先是书中要求的工具Bz162,也就是二进制编辑器Binary Editor,在这里下载,提取码p5ez。

                                                       接下来正式开始

在我们新建的hellos1文件夹中除了我们自己敲的helloos.img文件之外,还有从z_new_w中copy过来的!cons_9x.bat、!cons_nt.bat和跟随书籍创建的run.bat、install.bat。接下来我一个一个讲解。

.bat是批处理文件的扩展名,批处理文件的每一行都是一条DOS命令,我们用NotePad++打开!cons_9x.bat和!cons_nt.bat后可以看到这两个文件的内容,如下图:

并且我使用的是win10系统,当双击!cons_9x.bat时,黑框一闪而过,当双击!cons_nt.bat时,打开了cmd窗口。书中也有下图的介绍

上面已经讲到批处理文件的每一行都是一条DOS命令,所以我在DOS窗口下测试了一下,下图是结果:

而网上的资料加上书中的提示都说明这两个文件其实很简单,就是打开DOS窗口而已,那么文件的命名应该是console(控制台)的缩写加上适用的系统所命名的。

那么在查找资料的过程中,我发现网上还给出了另一种打开DOS窗口的批处理文件写法,那就是start cmd.exe,出于好奇,我在DOS窗口中输入了start cmd.exe。结果如下图:

在原有的DOS窗口上弹出了一个新的DOS窗口,当我更改了批处理文件,双击后,先闪出了一个DOS窗口,消失后再次出现一个DOS窗口,我再次查找资料,大多是说没有start的语句会等待exe程序执行完后才会运行接下来的语句,而又start的语句则不会等待。我认为简而言之就是并行。

所以在更改后的批处理文件中由于只有一条语句,语句运行不等待,原有DOS窗口关闭,所以窗口一闪而过,而语句同时运行,start cmd.exe创建了新的DOS窗口。

为了验证我的观点,当没有使用start时,我使用cmd在原本的窗口创建了一个新的DOS窗口,但是必须等待我退出现在的DOS窗口,才能在原来的DOS窗口运行,所以我可以连续EXIT两次。而使用了start的语句由于可以并行,则分别可以运行,互不影响。测试后结果如下图,可以输入两次EXIT,连续退出两个DOS窗口,我的想法验证成功!

在run.bat和install.bat中,我照着书籍中的命令输入后运行不成功,将¥去掉之后运行成功,下图为两个批处理文件中的命令

install.bat指的是通过z_tools文件夹下的imgtol.com文件来运行helloos.img,com是二进制执行文件的后缀。

run.bat第一行使用了copy函数,指的是将helloos.img复制到z_tools\qemu文件夹下,并重命名为fdimage0.bin,第二行则是通过z_tools下的make.exe来运行z_tools下的qemu文件夹下的所有文件。

还有一点我发现在run.bat中最后的-C ../z_tools/qemu使用的是反斜杠\,而路径应该是斜杠/,经过查找资料,有一篇资料说反斜杠代表的是参数,斜杠是路径,我觉得这个解释较为可信。如果大家有更好的想法可以评论。

我查找资料找到一个大佬的博客写到这两个工具的作用,虽然也不是很清晰,但是很有帮助,博客链接------>https://blog.csdn.net/Emiter01/article/details/80998266

                                                                 随笔总结

虽然只写了这么一点,但是花了三四个小时,第一次写,思路也不是很清晰,希望之后可以越写越快,也希望这篇文章对大家有所帮助。

 

 

 

 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值