WangFuJie Blog

路在脚下,心向远方

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

输入输出与基础显卡驱动

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

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

gcc编译过程与汇编分析

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

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

ELF文件介绍&进入内核

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

自制操作系统 - 保护模式与全局描述符

保护模式与全局描述符

系统刚启动时是位于实模式,即8086模式,只可以访问1MB内存。实模式下任何应用程序都可以访问这1M内存,包括病毒程序。因此在80286中就引入了保护模式。保护模式中引入了全局描述符来保护内存,并将内存按照4k的大小进行分页。

自制操作系统 - 内核加载器与内存检测

内核加载器与内存检测

主引导扇区用来读取并执行内核加载器,内核加载器用来加载内核,BIOS提供了内存检测的功能,本文我们将在内核加载器实现内存检测的代码,并在主引导扇区中加载并执行。