littlebot
Published on 2025-04-17 / 0 Visits
0

【源码】基于x86架构的Beryllium操作系统内核项目

项目简介

Beryllium是一个开源的操作系统内核项目,基于x86架构,是针对*NIX内核的认真尝试。该内核正从宏内核向微内核过渡,专注于操作系统底层实现,致力于提供稳定、可扩展的操作系统框架,适用于教学、研究以及嵌入式系统开发。

项目的主要特性和功能

  1. 内存管理:实现基于页面的内存管理系统,包括内存分配、释放、初始化及内存管理器初始化。
  2. 设备驱动:提供串行通信、键盘、可编程间隔计时器(PIT)等硬件设备的驱动程序。
  3. 文件系统:支持虚拟文件系统(VFS),可对设备文件进行访问和操作。
  4. 中断处理:实现中断描述符表(IDT)和中断服务例行程序(ISR),用于处理硬件中断。
  5. 早期启动过程:包含硬件初始化、全局描述符表(GDT)和中断描述符表(IDT)设置、内核主程序启动。
  6. 调试支持:提供简单调试工具,通过串行通信输出系统信息。
  7. IO中断消息系统:具备独特的IO中断消息机制。

安装使用步骤

前提条件

需要安装clang、make、nasm。

编译工具准备

Beryllium自带交叉编译器(binutils),位于toolkit目录: - 若为x86编译内核,运行makebinutils.sh。 - 若为树莓派(ARM)编译,运行makebinutils-pi.sh。 此过程无需root权限,且在toolkit目录内完成,可能需要几分钟。

编译内核

  1. cd ../
  2. make all

运行内核(可选)

使用make run在qemu中运行内核。

内核选项

在makefile的COMPILE_OPTIONS :=部分,可输入开关来改变编译内容,如-D DEBUG -D ENABLE_SERIAL,每个选项需前缀-D

硬件环境设置

设置好内存、磁盘、显示器、键盘等硬件环境。

启动系统

启动Beryllium操作系统,通过串行通信或其他调试手段观察系统运行状态和输出信息。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】