WangFuJie Blog

路在脚下,心向远方

自制操作系统 - 内存管理初步

内存管理初步

计算机使用分页机制来管理内存,32位最大访问4G内存,通过页目录和页表机制来映射着4G内存,我们自制的操作系统将使用平坦模型,即线性地址、物理地址、虚拟地址都是对应的。本文将对物理内存进行管理已经实现内存映射。

自制操作系统 - 计数器、时钟与蜂鸣器

计数器、时钟与蜂鸣器

计算机硬件中使用CMOS实时时钟(RTC)数据, 它使用电池供电,维持系统时间和日期。通过 I/O 端口读写CMOS寄存器,用来获取CMOS中的时间和实时时钟信息,并触发周期性中断或时钟中断。

自制操作系统 - 中断

中断

中断(Interrupt)是 CPU 响应外部或内部事件的机制,它会 暂停当前执行的程序,转而去处理更高优先级的任务,处理完成后再恢复原程序的执行。本文将介绍实模式和保护模式中断时如何处理的,详细介绍保护模式的中断描述符,以及如何通过时间中断实现任务的切换。

自制操作系统 - 内核GDT与任务上下文

内核GDT与任务上下文

在内核加载器中实现了全局描述符,但是为了管理方便,需要把GDT写入到内核中,另外本文将介绍任务如何进行上下文切换的,从交替打印A和B来感受下进程切换的原理。

自制操作系统 - 打印与调试

打印与调试

内核无法使用C语言中的打印函数,因此在内核中需要自己实现打印功能。本文将介绍可变参数是如何实现的,以及进行打印功能、断言功能和调试功能的实现,它们的核心都是打印相关信息,便于追踪。