美文网首页终端研发部
我写的第一个“操作系统”!

我写的第一个“操作系统”!

作者: 李晨忧华 | 来源:发表于2017-08-27 12:22 被阅读156次

        好久没写文章了,以前说要学习C语言写自己的操作系统的,由于很多很多的“插曲”,拖到现在才实现,先看看成果吧:

没想到没有显示全,!Lich是巫妖!!!!The Lich King gived me the true power, I will kill my father ereyonce.

       自己到图书馆借了于渊写的《自己动手写操作系统》,以及参考了网上的教程,没想到很顺利。在学阿里云大学的:带你学C带你飞时学习了一下VIM。真的很不错,这几天都在看书,今天在知乎上看到,为何用Mac编程最好,我觉得不错,实践证明也是。

       一开始还是很担心的,因为教程都是面向PC的,我用Mac是否能做到呢?现在发现担心是多余的。用vi写了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, One OS!" ; 想要开机后在屏幕上显示的字符串

times  510-($-$$) db 0 ; 填充剩下的空间,使生成的二进制代码恰好为512字节

dw  0xaa55 ; 结束标志

        要编译,一查,哈哈,Mac自带nasm编译,nasm boot.asm -o boot.bin,结果报错:boot.asm:2: error: parser: instruction expected,自己检查汇编程序,发现复制的时候最上面的org写成了rg,修改保存,编译,成功。

        然后下载Virtual box,安装,一切顺利。修改boot.bin文件为boot.img。准备加载软盘驱动器发现没有,到网上查了,方法很简单加载软盘驱动器,找了一下,发现在右击菜单里,加载启动!

        没有加载过程,直接出现了文字“Hello,One OS!”,略有点不爽,不过成功迈出了第一步!OK!后来用vi修改boot.asm文件:Hello, I am Lichen, One OS!,结果只显示了部分。

       这算是我写的第一个“操作系统”,如果可以称为操作系统的话,哈哈!

(PS:发觉VIM很强大,直接可以修改二进制文件,:%!xxd 命令完成,完全不需要像书中写的要下载各种软件!!!)

相关文章

  • 我写的第一个“操作系统”!

    好久没写文章了,以前说要学习C语言写自己的操作系统的,由于很多很多的“插曲”,拖到现在才实现,先看看成果吧...

  • 操作系统的载入和执行

    操作系统写在软盘上,第一个扇区是启动区,其他扇区是操作系统代码,BIOS将操作系统载入磁盘中,当执行操作系统时,需...

  • PHP教程系列3-写PHP程序前必须知道的5点信息

    在开始写第一个PHP程序之前,我们需要了解文件、硬盘、内存、CPU、操作系统。这些都是平时耳熟能详的东西,通过熟悉...

  • linux系统的初始化

    操作系统内核kernel启动后,操作系统开始初始化系统配置,第一个运行的程序便是/sbin/init。该程序会读取...

  • Windows的基本安全防御措施

    从1993年11月份的第一代Windows操作系统诞生起,Windows操作系统注定在互联网的操作系统领域写...

  • 操作系统的写文件操作

    硬盘的存储结构 硬盘的基本单位为扇区,每个扇区一般为512字节 一个硬盘有多个盘片,每个盘片有两个盘面 每个盘面按...

  • 分页式/段式存储管理

    一、概述 在复习操作系统的时候 ,遇到的第一个难点,当年的操作系统课上老师这块也没讲,所以对这些知识的了解几乎为空...

  • 第3课 操作系统的组织结构

    第3课 操作系统的组织结构 今天的主题: 操作系统设计 系统调用 微内核/整体内核 在xv6中的第一个系统调用 操...

  • 这是第一个文章

    这是我写的第一个文章

  • 遣词造句的纠结

    我从来不反感写作,但真要提笔写的时候确实不易。从第一个念头开始纠结。 第一个纠结是我要不要开始写?我本凡人,我若写...

网友评论

    本文标题:我写的第一个“操作系统”!

    本文链接:https://www.haomeiwen.com/subject/abpbdxtx.html