引导与中断 · boot & interrupt
很多人觉得"写操作系统"是天文数字的工程。其实启动阶段,CPU 只读 512 字节——这就是引导扇区。
通电后 BIOS/UEFI 把磁盘第一个扇区(512 字节)读进内存固定地址,跳过去执行。这 512 字节叫 MBR(主引导记录),它的任务是把真正的 bootloader 从磁盘读到内存,再跳过去。bootloader 再加载内核。层层接力,每层都比上一层大、能干更多事。操作系统不是一开始就全在内存,是一级一级加载上来的。
点"下一步",看从通电到登录界面,操作系统怎么一级一级加载上来。
引导把内核加载进内存后,操作系统怎么响应事件(按键、时钟、磁盘完成)?靠中断。
int 0x80(系统调用),CPU 跳到表里 0x80 项,进入内核态处理系统调用。所以"操作系统响应事件"的本质是:中断向量表 + 一堆处理函数。你写操作系统,就是填这张表、写这些函数。引导把表建好,中断让事件能进来,剩下的(进程、内存、文件)都是在处理函数里加逻辑。