CPU通电后作的第一件事儿编辑器
执行的第一条指令。。。工具
CPU读写软盘并非一个字节一个字节的读写的,而是以512字节为一个单元进行读写。所以软盘的512字节就成为一个扇区。CPU开始读写的第一个扇区,称之为启动区。而后检查这个扇区最后2个字节的内容,若是这最后2个字节不是0x55 AA,计算机会认为这张盘上没有所需的驱动程序,报一个不能启动的错误。(也许会有人问为何必定是0x55 AA呢?那是当初的设计者随便定的,笔者也无法解释)。若是CPU确认了第一个扇区的最后两个字节正好是0x55 AA,那么就认为这个扇区的开头是启动程序,并开始执行这个程序。开发工具
手动编写一个二进制文件,把该文件写入软盘,并用它来启动电脑。spa
helloos.img操作系统
编写这个文件耗费了一天的时间,固然找东西压住"0"键,干其它事情。.net
使用汇编语言实现helloos.img设计
手动编写汇编语言文件对象
helloos.nasci
汇编的简单语法开发
DB
RESB
做者本身写的汇编语言编译器nask
编译汇编语言hellos
nask.exe helloos.nask helloos.img
批处理文件asm.bat简化汇编编译
电脑里有个BIOS的程序,出场时就组装在电脑主板上的ROM(只读存储器,不能写入,切断电源后内容不会消失)单元里。电脑厂家在BIOS中预先写入了操做系统开发人员常常会用到的一些程序很是方便。
做者开发的是32位的操做系统。
开发工具及硬件介绍:
1."二进制编辑器"(Binary Editor),是一款能够直接对二进制数进行编辑的软件。
2.笔者提供的编辑器,也是以Windows版的gcc为基础稍加改造而作成的。
3.做者是以软盘为存储操做系统的物理存储,总容量是1440KB。
4.本书是以IBM PC/AT兼容机(也就是所谓的Windows我的电脑)为对象进行说明。至于其它机型。好比Macintosh(苹果机)或者PC-982等,虽然本书也参考了其中某些部分,但基本上没法开发出在这些机型上运行的操做系统,这一点还请谅解。注解:本书所讲的操做系统内容仅用Macintosh是开发不了的,而且开发出的操做系统也不能直接在Macintosh上运行。可是在PC上开发的操做系统,能够经过模拟器在Macintosh上运行。
世界上第一个操做系统怎么来的
在开发世界上第一个操做系统时,固然尚未任何现成的操做系统可利用,所以那时候的人们不得不对照着CPU的命令代码表,本身将0和1排列起来,而后再把这些数据写入到磁盘(估计那时候尚未磁盘,用的是其它存储设备)。这是一项很是艰巨的工做。因此恐怕最初的操做系统功能很是有限,作好以后人们利用它来开发一个稍微像点的样的操做系统,而后再用这个来开发更实用的操做系统......操做系统就是这样一步一步发展过来的。