项目简介
Beryllium是一个开源的操作系统内核项目,基于x86架构,是针对*NIX内核的认真尝试。该内核正从宏内核向微内核过渡,专注于操作系统底层实现,致力于提供稳定、可扩展的操作系统框架,适用于教学、研究以及嵌入式系统开发。
项目的主要特性和功能
- 内存管理:实现基于页面的内存管理系统,包括内存分配、释放、初始化及内存管理器初始化。
- 设备驱动:提供串行通信、键盘、可编程间隔计时器(PIT)等硬件设备的驱动程序。
- 文件系统:支持虚拟文件系统(VFS),可对设备文件进行访问和操作。
- 中断处理:实现中断描述符表(IDT)和中断服务例行程序(ISR),用于处理硬件中断。
- 早期启动过程:包含硬件初始化、全局描述符表(GDT)和中断描述符表(IDT)设置、内核主程序启动。
- 调试支持:提供简单调试工具,通过串行通信输出系统信息。
- IO中断消息系统:具备独特的IO中断消息机制。
安装使用步骤
前提条件
需要安装clang、make、nasm。
编译工具准备
Beryllium自带交叉编译器(binutils),位于toolkit目录:
- 若为x86编译内核,运行makebinutils.sh
。
- 若为树莓派(ARM)编译,运行makebinutils-pi.sh
。
此过程无需root权限,且在toolkit目录内完成,可能需要几分钟。
编译内核
cd ../
make all
运行内核(可选)
使用make run
在qemu中运行内核。
内核选项
在makefile的COMPILE_OPTIONS :=
部分,可输入开关来改变编译内容,如-D DEBUG -D ENABLE_SERIAL
,每个选项需前缀-D
。
硬件环境设置
设置好内存、磁盘、显示器、键盘等硬件环境。
启动系统
启动Beryllium操作系统,通过串行通信或其他调试手段观察系统运行状态和输出信息。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】