30天自制操作系统 (一个操作系统的实现)

10分钟搞出一个简单操作系统

1 准备工作

  • 安装虚拟机(VMware-workstation),下载好虚拟机安装包之后,点击下一步安装就行。
  • 在虚拟机(VMware-workstation)中安装一个系统,笔者安装的是windows10(当然win7,win8,Linux都可以)。
  • 汇编编译器NASM,下载并安装。

2 用汇编写一个显示“Hello,OS world”的boot.asm文件

    org 07c00h          ; 告诉编译器程序加载到7c00处
    mov ax, cs
    mov ds, ax
    mov es, ax
    call    DispStr         ; 调用显示字符串例程
    jmp $          ; 无限循环
DispStr:
    mov ax, BootMessage
    mov bp, ax          ; ES:BP = 串地址
    mov cx, 16          ; CX = 串长度
    mov ax, 01301h      ; AH = 13,  AL = 01h
    mov bx, 000ch       ; 页号为0(BH = 0) 黑底红字(BL = 0Ch,高亮)
    mov dl, 0
    int 10h         ; 10h 号中断
    ret
BootMessage:        db  "Hello, OS world!"
times   510-($-$$)   db  0   ; 填充剩下的空间,使生成的二进制代码恰好为512字节
dw  0xaa55              ; 结束标志

3 用NASM编译boot.asm文件生成boot.bin二进制文件

  • 按照提示默认安装完成NASM之后,桌面会出现右图的图标
  • 这里写图片描述
  • 双击图标,出现下图
  • 30天自制操作系统 (一个操作系统的实现)_第1张图片
  • 进入boot.asm所在的目录,我的boot.asm在D盘根目录,即D:\boot.asm
  • 进入之后,如图
  • 30天自制操作系统 (一个操作系统的实现)_第2张图片
  • 输入以下命令,
  • nasm boot.asm -o boot.bin
    如图
  • 生成boot.bin文件
    30天自制操作系统 (一个操作系统的实现)_第3张图片

4 生成A.img文件

生成A.img需要用到软件FloppyWriter.exe,(同样上传该工具)

  • 首先新建一个文件,将其名称及后缀改成“a.img”,目前a.img是空白的。这里写图片描述
  • 打开FloppyWriter.exe,出现30天自制操作系统 (一个操作系统的实现)_第4张图片

  • 点击第二项“Write FIle to Image”如图,并选择第三步生成的boot.bin 文件30天自制操作系统 (一个操作系统的实现)_第5张图片

  • 点击打开,选中刚才新建的a.img
  • 30天自制操作系统 (一个操作系统的实现)_第6张图片
  • 成功
  • 30天自制操作系统 (一个操作系统的实现)_第7张图片

好,现在回顾一下我们都做了什么。

  1. 汇编写boot.asm文件
  2. 用nasm编译成boot.bin
  3. 新建空白a.img,然后用FloppyWriter 将boot.bin写入a.img.

ok,继续下一步

5 打开虚拟机,30天自制操作系统 (一个操作系统的实现)_第8张图片 点击“编辑虚拟机设置”

出现
30天自制操作系统 (一个操作系统的实现)_第9张图片
点击“软盘驱动器”,下一步
点击使用软盘映像
30天自制操作系统 (一个操作系统的实现)_第10张图片
点击 下一步,然后将a.img加载进去
30天自制操作系统 (一个操作系统的实现)_第11张图片
然后 完成 –确定。

6 激动人心的时刻到了

30天自制操作系统 (一个操作系统的实现)_第12张图片

好,你已经成功将“Hello,OS world”显示出来了

你可能感兴趣的:(操作系统)