使用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 dc3aa2ae8a 🆕 释放内存对象的函数slab_free() 2022-02-24 16:02:58 +08:00
.idea 🔧 修改为makefile的构建方式,程序能正常运行 2022-01-21 13:49:09 +08:00
.vscode 🆕 转换为grub2引导(尚未更正mm模块,且目前无法将内核链接到线性地址0xffffx处) 2022-02-21 22:59:57 +08:00
docs 📝 添加了Multiboot2文档 2022-02-22 16:54:18 +08:00
kernel 🆕 释放内存对象的函数slab_free() 2022-02-24 16:02:58 +08:00
.gitignore 🆕 转换为grub2引导(尚未更正mm模块,且目前无法将内核链接到线性地址0xffffx处) 2022-02-21 22:59:57 +08:00
LICENSE Create LICENSE 2022-01-16 22:58:21 +08:00
Makefile 🆕 切换为grub2引导,能进入Start_Kernel函数(未能完成初始化) 2022-02-21 14:39:48 +08:00
README.md 🆕 printk新增翻页滚动功能(bug:用户态触发中断时翻页会出现#UD) 2022-02-22 20:45:32 +08:00
README_EN.md 📝 update the Readme.md(en) 2022-02-22 22:05:37 +08:00
bochsrc 🆕 切换为grub2引导,能进入Start_Kernel函数(未能完成初始化) 2022-02-21 14:39:48 +08:00
run.sh 🔧 启用SSE 2022-02-21 23:24:51 +08:00

README_EN.md

DragonOS

Languages 中文|English

 

This project is a operating system running on computer which is in X86_ 64 Architecture . The DragonOS is currently under development!

Development Environment

GCC>=8.0

bochs==2.7

bximage

Sorry, DragonOS can't run properly on QEMU virtual machine at present.

How to run?

  1. clone the project

  2. Run the run.sh

To do list:

  • multiboot2

  • printk

  • Simple exception capture and interrupt handling

  • APIC

  • Primary memory management unit

  • SLAB memory pool

  • Keyboard and mouse driver

  • Hard disk driver

  • Driver Framework

  • Network card driver

  • Graphics driver

  • First process

  • Process management

  • IPC

  • First system call function

  • Start dragonos on the physical platform

  • Multi core boot

  • Multi core scheduling and load balancing

  • FAT32 file system

  • virtual file system

  • Parsing ELF file format

  • Floating point support

  • Implementation of system call library based on POSIX

  • Shell

  • Kernel stack backtracking

  • Dynamic loading module

Contribute code

If you are willing to develop this project with me, please email me first~

List of contributors

fslongjin

Contact with me

Emaillongjin@RinGoTek.cn

Bloglongjin666.cn

Reward

If you like, click the link below and buy me a cup of coffee ~ please leave your GitHub ID in the payment remarks and I will post it to this page

The reward webpage

Sponsors

Not yet