WangFuJie Blog

路在脚下,心向远方

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

内核GDT与任务上下文

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

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

打印与调试

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

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

输入输出与基础显卡驱动

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

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

gcc编译过程与汇编分析

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

自制操作系统 - ELF文件介绍&进入内核

ELF文件介绍&进入内核

ELF文件时类Unix操作系统中的文件格式,包括可重定位文件、可执行文件、共享对象文件。内核代码编译后就是ELF文件,我们需要提取内核ELF文件的可加载段写入内存,然后让内核加载器跳转到这里执行。