Home

Awesome

github ci last-commit languages MIT License LICENSE 996.icu

English | 中文

SimpleKernel

关键词

简介

提供了各个阶段完成度不同的内核,你可以从自己喜欢的地方开始。

各分支内容:

  1. boot: 系统的启动,从引导程序到内核入口
  2. printf: 基本的字符输出,便于调试
  3. parse_boot_info: 对引导程序传递信息的初步解析
  4. pmm: 物理内存初始化
  5. vmm: 虚拟内存初始化
  6. heap: 堆管理
  7. lib: C++ std/stl 的部分支持
  8. intr: 中断管理
  9. 进程: TODO
  10. 文件系统: TODO
  11. 设备管理: TODO
  12. 系统调用: TODO
  13. 用户模式: TODO

开发环境

如何运行

git clone https://github.com/Simple-XX/SimpleKernel.git
cd SimpleKernel/
bash ./run.sh

运行截图

目录结构

目录设计

依赖关系

头文件

文件命名

头文件命名能准确描述文件所包含的模块内容,达到通俗、易懂的目的。

CMake

测试

自动集成

每次 push 会使用 Github Action 进行测试,可以通过编译即可。

代码风格

TODO

贡献者

MRNIU

cy295957410

rakino

xiaoerlaigeid

digmouse233

KehRoche

贡献

Free to PR!

感谢

此项目参考了很多优秀的项目和资料。

osdev

GRUB 在 Mac 上的安装

multiboot

《程序员的自我修养--链接、装载与库》(俞甲子 石凡 潘爱民)

JamesM's kernel development tutorials

xOS

hurlex

howerj/os

cfenollosa/os-tutorial

omarrx024/xos

PurpleBooth/project-title

0xAX weblong

How-to-Make-a-Computer-Operating-System

coding-style

DNKernel

c-algorithms

Linux内核中的中断栈与内核栈的补充说明

Linux进程管理 (1)进程的诞生

SynestiaOS

捐助者

版权信息

此项目使用 MIT 许可证