- 博客(5)
- 收藏
- 关注
原创 操作系统实现(五):内核主程序kernel main
内核主程序,或称内核主函数,相当于应用程序的主函数,它与主函数的不同之处在于,内核主 程序在正常情况下是不会返回的。因为内核执行头程序没有给内核主程序提供返回地址,而且关机、 重启等功能也并非是在内核主程序返回的过程里实现的,所以没有必要让内核主程序返回。内核主程序负责调用各个系统模块的初始化函数,在这些模块初始化结束后,它会创建出系统的 第一个进程init,并将控制权交给init进程。
2025-03-05 19:11:25
122
原创 操作系统实现(四):内核入口kernel entry
当引导程序bootloader将内核加载到内存后,它需要有一个明确的起点来开始执行内核代码。对于一个完整的操作系统内核,入口点是必要的(除非直接让 Bootloader 负责所有的初始化,并把控制权直接交给你的 C 代码)。它通常是一个汇编程序,负责初始化 CPU 状态,然后跳转到 C 代码执行内核逻辑。在 x86 平台上,入口点通常是 _start,由 Bootloader 传递控制权。
2025-03-05 19:06:49
162
原创 操作系统实现(三):二级引导程序loader
一级引导程序将处理器控制权交出后,便由二级引导程序完成主要的引导任务,包括硬件信息检测、处理器模式转换、页表配置等,并最终实现控制权向内核程序的转移。
2025-03-05 19:03:48
703
原创 操作系统实现(二):一级引导程序boot
完成了一级引导程序的编写实现FAT12文件系统格式化完成了系统启动盘的制作成功利用bochs虚拟机对虚拟软盘镜像进行模拟,并成功运行。
2025-03-05 17:53:22
1664
原创 操作系统实现(一):概述及前期准备
首先对本系列内容将要实现的操作系统做一个简要概述:本系列基于实现一个的操作系统。本操作系统将分为与三大部分,并逐一对它们进行实现。引导层。引导启动程序(bootloader)将使用(基于x86-64架构)的汇编语言编写。实现引导扇区引导启动、文件系统识别、系统内核加载、内存容量检测、显示模式的检测与设置、处理器运行模式切换、页表配置等功能,进而完成系统内核运行前的准备工作。内核层。内核层部分是操作系统的主要部分,该部分在开头将使用的汇编语言完成内核加载的剩余准备工作,随后即使用传统的系统编程语言。
2025-03-05 13:47:11
593
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人