个人对操作系统的启动原理的理解

于渊的《自己动手写操作系统》是一本不错的用代码记录,一步步完成一个小型的操作系统的书。下载地址:https://pan.baidu.com/s/1j1MfEFcfU_fFamkjovOMRA,提取码:bjwv。需要有汇编语言基础的读者阅读。

计算机的启动过程如下:通电启动 -> 执行BIOS程序(建立中断向量表)-> 加载指定磁盘第一个扇区(512字节)入内存 -> 跳转到内存制定位置(07c00h),并将控制权交给这边的代码。

所以,操作系统的引导程序是存储在该指定磁盘第一个扇区,07c00h开头处,不超过512字节的程序。引导程序使用汇编语言编写,主要工作包括:从实模式到保护模式,建立内存分页。最后要做的就是将操作系统的内核程序加载进内存。内核程序可以放在磁盘的任何位置,使用C语言开发的可执行文件。

这里涉及到解析elf格式的可执行文件,按照可执行文件的相关描述,加载到内存的指定位置。

你可能感兴趣的:(汇编)