关于如何写一个最简单的操作系统,这个事情完全处于好奇。实际上这样一个操作系统没有任何使用价值。整个系统要做的事情就是输出一句“Hello,OS world!”,但是这样一个输出不同于printf和cout,它是完全不依赖高级语言的。总之就是神奇又酷酷的事情。
闲话少说,下面逐步讲一下,如何完成这件事情:
1、你需要准备一下软件:nasm,VMware
2、然后你需要有一个文本编辑器。Windows里你可以用记事本,不过我更喜欢用Notepad++。Linux下你可以用GEdit等等,看你个人习惯。
3、打开文本编辑器,写下以下内容:
你想知道以上内容是什么意思吗?请自行翻阅《自己动手写操作系统》
把上面的内容保存,并把文件保存为Boot.asm
4.如果你安装好nasm,那么打开Nasm,这是一个命令行程序,用CD命令进入到你存放Boot.asm的文件夹,输入nasm Boot.asm -o Boot.img这样在这个文件夹下面你就会获得一个名为“Boot.img”的文件。
闲话少说,下面逐步讲一下,如何完成这件事情:
1、你需要准备一下软件:nasm,VMware
2、然后你需要有一个文本编辑器。Windows里你可以用记事本,不过我更喜欢用Notepad++。Linux下你可以用GEdit等等,看你个人习惯。
3、打开文本编辑器,写下以下内容:
- org 07c00h ;告诉编译器程序加载到7c00处
- mov ax, cs
- mov ds, ax
- mov es, ax
- call DispStr ;调用显示字符串例程
- jmp $
- DispStr:
- mov ax, BootMessage
- mov bp, ax
- mov cx, 16
- mov ax, 01301h
- mov bx, 00ch
- mov dl, 0
- int 10h
- ret
- BootMessage: db "Hello, OS world!"
- times 510-($-$$) db 0
- dw 0xaa55
你想知道以上内容是什么意思吗?请自行翻阅《自己动手写操作系统》
把上面的内容保存,并把文件保存为Boot.asm
4.如果你安装好nasm,那么打开Nasm,这是一个命令行程序,用CD命令进入到你存放Boot.asm的文件夹,输入nasm Boot.asm -o Boot.img这样在这个文件夹下面你就会获得一个名为“Boot.img”的文件。
5、运行VMware,新建一个虚拟机,图片比文字更直观:
由于这个操作系统太简单了,我用不上网络,所以这里我选择“不使用网络”,当然你选了别的应该也没有影响。
硬盘也用不了多少,随便写吧,反正完全够用。
点下一步走到这里,这里是关键,点一下定制硬件,如果你的VMware是英文的,这里写的是Customize Hardware。选择软盘管理器->使用软盘镜像文件,选择你刚刚生成的Boot.img
千万不要忘了勾上这个打开电源时连接
打开你刚刚创建的虚拟机电源
你的操作系统启动了,是不是很有成就感
参考文献:《自己动手编写操作系统》
《自己动手写操作系统——在 VMware下实现软驱加载并运行》