Chinaunix首页 | 论坛 | 博客
  • 博客访问: 58092
  • 博文数量: 7
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 80
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-26 22:26
文章分类
文章存档

2009年(2)

2008年(5)

我的朋友

分类:

2009-01-10 18:32:08

BlueHopes开发日记 之

Day 1. 万事开头难

2009年1月10日 

真的是万万没有想到,该博客里竟然放个图片如此困难,2天后才发现图片都不能正常显示。没办法,只好发布了PDF版的在该贴的附件里。需要的请下载PDF。

 

文件: 01,万事开头难.pdf
大小: 200KB
下载: 下载

 

早上很冷,零下6度,昨天结束了大部分考试,躺在床上,心里打算从今天开始学习自己动手写操作系统。一扭头,看见心爱的本本就睡在旁边,于是打开开始了我的第一步。

我的参考书是《自己动手写操作系统》(于渊)以及《使用开源软件自己动手写操作系统》(杨文博)。边看边做。

坐在被窝里,暖暖的,看着《使用开源软件自己动手写操作系统》的第一章,介绍计算机的启动过程,分6步,前五部是计算机如何自检,如何初始化等等,有一种组成原理的感觉。第六步是关键,即如何让自己写的东西在CPU上运行。

系统 BIOS将启动盘(一般是主硬盘)的第一个扇区(Boot Sector,引导扇区)读入到内存的 0x7c00处,并检查 0x7dfe 地址的内存,如果其内容是 0xaa55,跳转到 0x7c00 处执行 MBR (MasterBoot Record,主引导记录)。”

可见,只要我们将自己写的这512字节的信息加载到内存的0x7c00处,并且使0x7dfe处的内容是0xaa55,这个512字节就是一个可引导的程序段,把它写道磁盘的第0面,第0磁道,第0扇区,这个扇区就是个可引导扇区。

开始写吧!

工具: nasm2.0 汇编编译器, notepad++ BillChan推荐给我的文本编辑器,FloppyWriter 于渊写的一个用于将二进制文件写入软盘镜像的工具, UltraEdit 二进制查看器, VMwareWorkstation 虚拟机。

流程是:用notepad++编辑汇编程序,编好后保存,在到控制台下使用nasm编译成二进制文件,然后用FloppyWrite将二进制文件写入软盘镜像,然后到虚拟机里面用虚拟软盘镜像启动。

就这样,搞了一天,写了个可引导的软盘,并且在区区的512字节里写入了一个类似notepad打字练习的程序。

天黑了,发布吧,于是将今天的工作总结一下,写了这个日记,发布了我的BlueHopes的0.1版。

希望明天能够突破512字节的限制,还有FAT要好好研究一下。

阅读(996) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~