WangFuJie Blog

路在脚下,心向远方

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

保护模式与全局描述符

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

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

内核加载器与内存检测

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

自制操作系统 - 磁盘读写

磁盘读写

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

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

主引导扇区与实模式

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

自制操作系统 - 基于Ubuntu搭建开发环境

基于Ubuntu搭建开发环境

开发操作系统首先需要搭建开发环境,基于不同的调试方式可以结合使用bochs和qemu两款虚拟软件。本文将分别介绍在Ubuntu系统上如何搭建和配置bochs和qemu,以及分别调试汇编和C程序。