説明なし

fslongjin 0b0cce9326 :new: 切换为grub2引导,能进入Start_Kernel函数(未能完成初始化) 3 年 前
.idea f479f32102 :wrench: 修改为makefile的构建方式,程序能正常运行 3 年 前
.vscode d1671bc121 :bug: 修复了无法切换进程、无法进行浮点运算的bug(将main.c中的init函数名进行修改) 3 年 前
kernel 0b0cce9326 :new: 切换为grub2引导,能进入Start_Kernel函数(未能完成初始化) 3 年 前
.gitignore 0b0cce9326 :new: 切换为grub2引导,能进入Start_Kernel函数(未能完成初始化) 3 年 前
LICENSE 14ea45b62e Create LICENSE 3 年 前
Makefile 0b0cce9326 :new: 切换为grub2引导,能进入Start_Kernel函数(未能完成初始化) 3 年 前
README.md d3a5048f66 :new: syscall模块,实现了第一个系统调用函数sys_printf 3 年 前
README_EN.md d3a5048f66 :new: syscall模块,实现了第一个系统调用函数sys_printf 3 年 前
bochsrc 0b0cce9326 :new: 切换为grub2引导,能进入Start_Kernel函数(未能完成初始化) 3 年 前
run.sh 0b0cce9326 :new: 切换为grub2引导,能进入Start_Kernel函数(未能完成初始化) 3 年 前

README.md

DragonOS

Languages 中文|English

 

这是一个运行于x86_64平台的64位操作系统。目前正在开发之中!

开发环境

GCC>=8.0

bochs==2.7

bximage

目前无法在qemu虚拟机上正常运行。

如何运行?

  1. clone本项目

  2. 在根目录下创建bin文件夹

  3. 将boot(empty).img复制到bin/,并重命名为boot.img

  4. 使用sudo权限运行run_in_bochs.sh

To do list:

  • [x] bootloader

  • [x] printk

  • [x] 简单的异常捕获及中断处理

  • [ ] APIC

  • [x] 初级内存管理单元

  • [ ] SLAB内存池

  • [ ] 键盘、鼠标驱动

  • [ ] 硬盘驱动

  • [ ] 驱动程序框架

  • [ ] 网卡驱动

  • [ ] 图形驱动

  • [x] 第一个进程

  • [ ] 进程管理

  • [ ] IPC进程间通信

  • [x] 第一个系统调用函数

  • [ ] 在物理平台上启动DragonOS

  • [ ] 多核启动

  • [ ] 多核调度及负载均衡

  • [ ] FAT32文件系统

  • [ ] VFS虚拟文件系统

  • [ ] 解析ELF文件格式

  • [ ] 浮点数支持

  • [ ] 基于POSIX实现系统调用库

  • [ ] Shell

  • [ ] 内核栈反向跟踪

  • [ ] 动态加载模块

贡献代码

如果你愿意跟我一起开发这个项目,请先发邮件到我的邮箱~

贡献者名单

fslongjin

联系我

我的邮箱:[email protected]

我的博客:longjin666.cn

赞赏

如果你愿意的话,点击下面的链接,请我喝杯咖啡吧~请在付款备注处留下您的github ID,我会将其贴到这个页面

捐赠 | 龙进的博客

赞赏者列表

暂无