在Linux下红汇编写Hello World
因为在后面的很多工作中,都要用到汇编编程,所以我们先试试用汇编在Linux下编写Hello World,具体代码如下:
前面我们的工作是完成了一个简陋的引导扇区,虽然感觉没做啥,但是我们实际上积累了很多代码,熟悉了保护模式。并且对存储管理、特权级控制等有了一个整体的认识
。下面,我们要想办法将自己的OS进入到保护模式,虽然进入保护模式不难,但是总会收到引导扇区512字节的限制,所以下面,我们再建立一个文件,将其通过引导扇区加载入内存,然后将控制权交给它。
首先,我们先理清楚一个问题,是不是被引导扇区加载到内存的就是操作系统的内核呢,我们先看看一个操作系统从开机到开始运行要经过一个怎样的过程:引导->加载内核入内存->跳入保护模式->开始执行内核。
所以,很明显,在内核开始执行前,不仅仅要加载内核,还有跳入保护模式等等,而这些工作都由引导扇区来做,很有可能不止512字节,所以我们把这个过程交给叫做Loader的模块来做。引导扇区负责把Loader加载到内存,并把控制权交给它,然后其他工作都由Loader来做,而它就没有512字节的限制了。