WangFuJie Blog

路在脚下,心向远方

自制操作系统 - 中断

中断

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

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

内核GDT与任务上下文

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

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

打印与调试

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

自制操作系统 - 输入输出与基础显卡驱动

输入输出与基础显卡驱动

操作外部设备是通过端口实现的,本文将定义对端口进行输入输出的函数。并通过显卡的端口来实现一个基础的显卡驱动,操作屏幕和鼠标以及在屏幕上输出字符串等功能。

自制操作系统 - gcc编译过程与汇编分析

gcc编译过程与汇编分析

C代码编译为可执行程序需要经过预处理、编译、汇编、链接等过程,本文将介绍C语言编译成可执行程序的步骤细节。并介绍C语言中局部变量是如何存储的,以及是如何给函数进行传参。