编写自己的操作系统(一)

 一、编写最简单的操作系统,打印"Hello, OS world!" 效果图如下:

 

 

二、编写过程

说明

所有的工作都是在虚拟机上运行,不会对计算机造成任何损坏。整个编写过程大概30分钟内完成(包括安装软件)

准备工作

安装软件(我比较喜欢绿色的软件 我的资源里可以下载):

asm(汇编)编译软件:我选择nasm

虚拟机软件:我选择vmware

软盘镜像制作软件:FloppyWriter

开始编写boot sector

编写boot.asm(用windows自带的txt工具notepad即可)

打开txt编辑器

开始->运行->notepad

输入

;%define    _BOOT_DEBUG_; 做 Boot Sector 时一定要讲此行注释掉
   ; 讲此行打开后用 nasm Boot.asm -o Boot.com
   ; 做成一个.COM文件易于调试
%ifdef    _BOOT_DEBUG_
    org 0100h  ; 调试状态, 做成 .COM 文件, 可调试
%else
    org 07c00h  ; Boot 状态,BIOS 将把 Boot Sector 加载到 0:7c00
   ; 处开始执行
   ; 告诉编译器程序加载到7c00处
%endif
    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  ; 结束标志

另存为boot.asm

编译

nasm boot.asm -o boot.COM

把boot.COM重命名为boot.bin(cmd下可以使用rename命令 当然直接右键重命名或者使用快捷键F2都可以 看个人习惯)

rename boot.COM boot.bin

制作软盘镜像

打开FloppyWriter.exe选择Write File to Image

选择源文件boot.bin

目标文件mmoos.img保存目录选择(任意位置 任意名字)

 

建立虚拟系统

打开vmware

建立一个空的操作系统

File->New->Virtual Machine

一路Next 其中会让你选择虚拟机的名字 自己随便起了我的是mmoos 选择内存 硬盘等等这些都无关紧要(因为我所做的是只需要打印一行字符串 并不是真正的操作系统)

最后把我们的虚拟软盘镜像加载即可,打开设置页面:

选择软盘Floppy 双击打开软驱设置页面:

选择Use floopy image file(使用软盘镜像)和Connect at power on(开机加载)

在Use floopy image file下面的Borwse(浏览)到你的镜像:

 

到此为止,就万事俱备了,只欠东风(东风就是启动你的虚拟机power on):

按绿色按钮,启动,OK,Have Fun!

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值