WangFuJie Blog

路在脚下,心向远方

自制操作系统 - ELF文件介绍&进入内核

ELF文件介绍&进入内核

ELF文件时类Unix操作系统中的文件格式,包括可重定位文件、可执行文件、共享对象文件。内核代码编译后就是ELF文件,我们需要提取内核ELF文件的可加载段写入内存,然后让内核加载器跳转到这里执行。

自制操作系统 - 保护模式与全局描述符

保护模式与全局描述符

系统刚启动时是位于实模式,即8086模式,只可以访问1MB内存。实模式下任何应用程序都可以访问这1M内存,包括病毒程序。因此在80286中就引入了保护模式。保护模式中引入了全局描述符来保护内存,并将内存按照4k的大小进行分页。

自制操作系统 - 内核加载器与内存检测

内核加载器与内存检测

主引导扇区用来读取并执行内核加载器,内核加载器用来加载内核,BIOS提供了内存检测的功能,本文我们将在内核加载器实现内存检测的代码,并在主引导扇区中加载并执行。

自制操作系统 - 磁盘读写

磁盘读写

汇编语言中需要通过端口实现对磁盘的读写,磁盘读写支持CHS和LBA两种模式,一般使用简单的LBA模式,一次至少读写一个扇区,一个扇区固定为512字节。

自制操作系统 - 主引导扇区与实模式

主引导扇区与实模式

计算机开机后,会先执行BIOS,BIOS将主引导扇区的代码加载到内存0x7c00并跳转到这里执行。主引导扇区是磁盘的第一个扇区,有512字节。这时候CPU是运行在实模式下的,实模式是16位模式,可访问1MB内存。