哈工大操作系统总结v0.1(操作系统如何立起来)

引导过程

首先进入bios,随后读取第一个扇区,到0x70位置,再将该段的位置搬移到0x90的位置,随后读取之后的四个扇区,再将操作系统读入0x00的位置,之后,便开始执行操作系统,通过取指译码执行的操作不断取指执行,让操作系统跑起来。

启动过程

系统接口

主要是一些可以跟内核打交道的函数,如fetch,write,read等称为系统接口。

系统接口

系统接口实现

主要是通过0x80这个中断,但在中断之前需要先令eax=系统调用号,在中断执行时,对int 0x80的初始化sched_init中,令DPL=3,从而让CPL=3的应用程序得以执行该中断,随后在IDT中赋值,此时让CS= 8 则 CPL=0(获得内核权),随后在中断处理程序system_call中通过eax在sys_call_table找到执行对应内核程序的位置,从而执行对应的内核程序。

系统接口实现

系统接口实现

系统接口实现

end

评论