欢迎来到天天文库
浏览记录
ID:50846485
大小:45.80 KB
页数:4页
时间:2020-03-15
《自己写最简单的操作系统.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、参看《自己动手写操作系统》《30天自制操作系统》需要的软件1.虚拟机VM/VirtualBox/bochs2.映像编辑工具:FloppyWriter,EasyBoot,UltraISO3.汇编工具:yasm/nasm/masm基本思路:所谓开发操作系统,就是想办法制作一张“含有操作系统的能够自动启动的存储介质”。步骤:1.编写boot.asm汇编源文件2.通过汇编器得到boot.bin二进制文件3.通过映像读写工具将二进制文件写入存储介质。//Boot.asmorg07c00hmovax,csmovds,axmoves,axcallDispS
2、trjmp$DispStr:movax,BootMessagemovbp,axmovcx,16movax,01301hmovbx,000chmovdl,0int10hretBootMessage:db"Helloworld!"times510-($-$$)db0dw0xaa55真正开发操作系统前面说过,所谓开发操作系统,就是想办法制作一张“含有操作系统的能够自动启动的存储介质”。【至少也是适用于某一介质的映像文件】并且所有开发工作都是基于另一台已有的计算机。编写只显示helloworld!的操作系统就不再讲了。接下来写真正的IPL(启动程序装
3、载器)首先来说一说安装系统和运行系统的区别。我们是开发操作系统,即没有任何已有的可启动设备,我们现在要写的IPL就是装载真正的操作系统的,虽然它现在存在于软盘中,如何自定义安装路径是以后的问题了注意我们的IPL和os是处在同一映像文件之中的。启动的时候,bios读取软盘(操作系统安装介质)的第0扇区到内存并执行,然后通过这一段程序装载真正的os。完成IPL之后,我们就可以转用C语言开发os了从实模式到保护模式。保存bios的一系列信息到BOOT_INFO一些前期准备调色板字体鼠标指针GDT中断(IDT)PICFIFO缓存区按键编码激活鼠标控制
4、鼠标解读/显示鼠标动作内存管理叠加处理窗口PIT和定时器多任务……分析1.安装设置bios启动顺序,启动安装介质安装系统2.运行已安装系统bios启动到系统分区IPL把Kenel装入内存执行init进程3.功能键盘和命令行鼠标和GUI、多任务文件系统Api开发所谓开发操作系统,就是想办法制作一张“含有操作系统的能够自动启动的存储介质”。工具1.一台已安装os的计算机2.CPU指令参考手册3.BIOS中断参考手册4.GNU等系统开发工具步骤(略去系统安装程序,即直接从介质中运行操作系统)1.编写IPL2.用C写系统核心组件3.编译所有代码4.打
5、包成映像文件5.写入映像文件到启动介质
此文档下载收益归作者所有