⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1

📁 一个用于学习的操作系统
💻
字号:
fairysky的第一个版本的引导是通过软盘引导的。

为了使fairysky尽可能的做到小巧,我们精简了引导过程,使整个引导过程只做了必须的工作。
引导包括两部分:在boot目录下的boot.asm和setup.asm

boot.asm编译后的目标代码占一个扇区(即512字节),将写在软盘的0面0道1扇区。boot的功能很简单,主要是加载硬件参数设置程序setup到0x9000:0x0000处,然后跳到setup处运行

setup.asm编译后的目标代码占两个扇区(即1024自己)(目前的大小,以后可能会改,因为探测实际物理内存大小的代码还没有加进去),将写在软盘的0面0道2、3扇区。setup的功能主要是读取各种参数,读取内核到0x1000:0x0000处,对8259重新编程,进入保护模式,打开A20,跳转到32位代码中,移动内核到1M处,建立页目录和页表,映射到线性的地址的0xC0000000处16M(因此物理地址和线性地址有3G的位移,一一对应),和0x00000000处4M,开启分页,最后跳转到0xC0100000处,即main函数中。

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -