自己动手写操作系统阅读笔记(一)

本来今天想要学习一下操作系统的相关内容,奈何书都没带,猛然想起自己还有一个自己动手写操作系统的梦想,于是拿出这本书重新研究以下。
对于第一章节的写一个简单的boot写出来以后也是着实兴奋一把,不过也是要记下相关的信息。

安装NASM

首先我的操作系统是Ubuntu
使用sudo aptitude install nasm来安装nasm

然后就是简单的asm代码

    org 07c00h          ;汇编程序加载到7c00处
    mov ax, cs          ;cs 无法直接加载到ds,通过ax(x86基础)
    mov ds, ax
    mov es, ax
    call DispStr        ;调用显示字符串例程
    jmp $               ;无限循环
DispStr:
    mov ax, BootMessage 
    mov bp, ax
    mov cx, 16
    mov ax, 01301h
    mov bx, 000ch
    mov dl, 0
    int 10h
    ret
BootMessage:    db "Hello, OS world!"
times 510-($-$$) db 0   ;使用0填充剩下的空间

dw 0xaa55               ;结束标志

编译

nasm boot.asm -o boot.bin

写入软盘

然后这个时候可爱的作者让我们写到软盘里= =
这个时候很多朋友都会
dd if=boot.bin of=/dev/sdx
比如一开始的我= =
我写到了8G的U盘里


其实我们可以用virtualbox来搞定
建立一个虚拟机——我选的是ubuntu_32bit——我觉得挺麻烦的,所以就不换了,因为我成功了。


在设置,存储中,点添加软盘控制器。
然后我们使用dd命令建立一个虚拟软盘。
dd if=boot.bin of=floppy.img count=2880
然后选择虚拟软盘。。选择floppy.img然后启动看。

然后就可以看到可爱的Hello,OS world!

本文参考: Linux 下制作虚拟软盘镜像 http://blog.163.com/wascm@126/blog/static/9385027200851905148317/

posted @ 2014-10-10 21:15  svtter  阅读(542)  评论(0编辑  收藏  举报