使用Rust从0自研内核,具有Linux兼容性的操作系统,面向云计算Serverless场景而设计。DragonOS is an operating system developed from scratch using Rust, with Linux compatibility. It is designed for **Serverless** scenarios.
Go to file
fslongjin 39ddc21ca5 🆕 实现简单的读取键盘数据的功能 2022-01-29 15:12:34 +08:00
.idea 🔧 修改为makefile的构建方式,程序能正常运行 2022-01-21 13:49:09 +08:00
.vscode 🆕 实现了异常捕获模块 2022-01-25 18:04:18 +08:00
bootloader 🔧 使cpu支持SSE(目前会出现#GP) 2022-01-27 14:58:14 +08:00
kernel 🆕 实现简单的读取键盘数据的功能 2022-01-29 15:12:34 +08:00
.gitignore 🎉 创建了boot程序! 2022-01-15 12:49:18 +08:00
LICENSE Create LICENSE 2022-01-16 22:58:21 +08:00
Makefile 🔧 修改为makefile的构建方式,程序能正常运行 2022-01-21 13:49:09 +08:00
README.md 🆕 README.md 2022-01-29 14:27:38 +08:00
bochsrc 🔧 将虚拟机内存修改为512M 2022-01-23 23:17:13 +08:00
boot(empty).img 🆕 空的boot.img 2022-01-27 19:21:57 +08:00
run_in_bochs.sh 🆕 完成了初始化内存管理单元的代码 2022-01-28 14:46:15 +08:00
run_in_qemu.sh 🔧 优化了虚拟机启动脚本 2022-01-25 13:33:36 +08:00

README.md

DragonOS

 

这是一个运行于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:

  • bootloader

  • printk

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

  • APIC

  • 初级内存管理单元

  • SLAB内存池

  • 键盘、鼠标驱动

  • 硬盘驱动

  • 驱动程序框架

  • 网卡驱动

  • 图形驱动

  • 第一个进程

  • 进程管理

  • IPC进程间通信

  • 第一个系统调用函数

  • 在物理平台上启动DragonOS

  • 多核启动

  • 多核调度及负载均衡

  • FAT32文件系统

  • VFS虚拟文件系统

  • 解析ELF文件格式

  • 浮点数支持

  • 基于POSIX实现系统调用库

  • Shell

  • 内核栈反向跟踪

  • 动态加载模块

贡献代码

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

贡献者名单

fslongjin

联系我

我的邮箱longjin@RinGoTek.cn

我的博客:longjin666.cn

赞赏

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

捐赠 | 龙进的博客

赞赏者列表

暂无