30天自制操作系统笔记 第1天

时间:2022-11-26 05:55:01

第一天



计算机架构    P19

CPU

"central process unit"的缩写,翻译中文就是“*处理单元”,如果别的元件当作中心来使用的话,那它就叫做CPU了,所以无论
何时CPU总是处理中心,不过CPU只能进行电信号交换,而且对于电信号,只能理解开和关(0和1)。
我们用电脑所做的事,都不过是与CPU交换电信号。
CPU有计算指令,所以可行进行整数加减乘除运算,也可以处理负数,计算小数以及10的100次方这样庞大的数值,甚至还有平方根,对数,
三角函数,而且所有这些计算仅通过一条指令就能简单实现。但是他不理解数的概念。CPU就是个集成电路板,只是忠实的执行电信号给他
的指令,输出相应的电信号。

机器语言

我们所编写的程序最终都要转换成机器语言,这些机器语言就是以电信号的方式发送给CPU的。这些机器语言不过就是一连串的
指令代码。实际上也就是一串0和1的组合而已。
软盘的原理也有异曲同工之处,简单来说,就是把2进制的0和1转换为磁极的N极和S极而已。所以我们只用0和1就能写出映像文件。不仅是映像
文件,计算机所能处理的各种最终都是用0和1写成的。

汇编

DB

(data by) 就是往文件里直接写入1个字节的指令 P24
新用法,可以直接用它写字符串,会自动查找字符串每一个字符对应的编码,然后一个一个字节的排列起来 P25

RESB

指定空白区域填充0x00,如RESB 16 P24

; 注释命令

,相当于C语言的“//” P25

DW和DD

分别是“data word”和“data double-world”,DB指令的“堂兄弟”。word==16位,2个字节。double-world==32位,4个字节。P26
$ (RESB 0x1fe-$) 告诉我们这一行现在的字节数,例如“RESB 0x1fe-$”,0x1fe减去$(现在已经输入的字节数),然后连续输出0x00. P26

操作系统

P26-27

第一扇区

计算机读取软盘每次读取512字节,软盘第一个512字节所以是第一扇区,

启动区

计算机首先从第一扇区开始读软盘,然后检查这个扇区最后2个字节

55 AA

如果第一扇区最后2个字节不是55 AA,计算机会认为这张盘上没有所需的启动程序,就报一个不能启动的错误。

IPL

启动程序加载器,几乎所有系统都把加载操作系统本身的程序放在启动区。所以,有时把启动区叫做IPL。
启动区的名称 必须是一个8字节的名字,如果长度不到8字节,需要在最后补上空格。

启动(boot)

本是长靴(boots)的单数形式,实际上是bootstrap的缩写,由于《吹牛大王历险记》有了“自立更生完成任务”的含义。

而且磁盘上明明有操作系统,还要说读入操作系统的程序(IPL)也在磁盘里,是一种矛盾的说法。这种矛盾的操作系统自动启动机制,被
称为bootstrap。