建造一个操作系统(0)

198 阅读1分钟

环境

前期编译调试用qemu,nasm两个工具就够。qemu用于模拟硬件环境,nasm用于汇编编译

BIOS

BIOS是烧进硬件的一个程序,主要做一些基本的硬件管理和系统加载引导。计算机通电首先启动的是BIOS,BIOS从存储(U盘,硬盘等)读取镜像,镜像中一般有一个引导程序,通过引导程序加载整个操作系统。

汇编

一些基本的命令
数据操作 mov、push、pop
流程 call,jmp,ret
计算 add、sub
寄存器 ebx(32bit)、bx(16bit)、bh、bl(高低位16bit)
关键字 org、32-bit

寻址

计算机围绕数据和计算展开。计算是cpu的工作,数据存储是内存和磁盘的工作。寻址是二者协作的工具和方法。寻址在计算机的历史中发生了很多变化,一些原因是为了适配性能更高的硬件,一些原因则是为了安全考虑。最简单的寻址,16bit直接对应64KB的空间;后来存储扩大,新增一个偏移寄存器es,按offset*16+address的映射到物理内存;再后面发展出了GDT表,统一对段进行管理

GDT

全称 Global Descriptor Table,作用是统一管理段逻辑地址对物理地址的映射。段寄存器上存放的不再是具体的地址偏移量,而是GDT中的索引。在实际应用中,通过索引找到对应条目后,通过一些规则找到具体的物理地址,同时GDT表还可以做一些权限控制的工作

To be continue..