使用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
longjin 8e366105c3 撰写了文档: 《构建DragonOS》 2022-06-18 00:33:33 +08:00
.github/workflows Delete codacy.yml 2022-04-07 11:11:27 +08:00
.idea 🔧 修改为makefile的构建方式,程序能正常运行 2022-01-21 13:49:09 +08:00
.vscode 🆕 在shell中启动另一个程序 2022-06-07 23:18:26 +08:00
docs 撰写了文档: 《构建DragonOS》 2022-06-18 00:33:33 +08:00
kernel 删了几处无用信息 2022-06-10 00:22:14 +08:00
tools 🐛 修复了无法正确地往文件写入数据的bug 2022-05-03 15:12:02 +08:00
user bugfix: exec执行的文件不存在时,自动退出进程。 2022-06-09 21:56:32 +08:00
.gitignore 初始化了文档 2022-06-17 23:50:40 +08:00
LICENSE Create LICENSE 2022-01-16 22:58:21 +08:00
Makefile 🆕 exec (存在bug 2022-05-31 21:55:06 +08:00
README.md 🐛 修复了需要映射的物理地址跨越页表时,产生内存越界的问题 2022-05-18 21:03:47 +08:00
README_EN.md 🐛 修复了需要映射的物理地址跨越页表时,产生内存越界的问题 2022-05-18 21:03:47 +08:00
bochsrc 将内核定位到高地址(存在bug,中断时会访问低地址) 2022-04-10 21:30:16 +08:00
bx_enh_dbg.ini 🐛 暂时解决了由于时钟中断导致#DF的问题(用的华强北方法...以后再fix) 2022-04-06 15:06:51 +08:00
run.sh 🆕 在shell中启动另一个程序 2022-06-07 23:18:26 +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

qemu==6.2

grub==2.06

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

  • PS/2 Keyboard and mouse driver

  • PCI bus driver

  • USB Driver

  • SATA Hard disk driver(AHCI)

  • Driver Framework

  • Network card driver

  • Internet protocol stack

  • Graphics driver

  • First process

  • Process management

  • IPC

  • First system call function

  • Start dragonos on the physical platform (There is a bug which can make the computer automatically reboot on AMD processor)

  • 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

Open source statement

This project adopts GPLv2 LICENSE for open source. You are welcome to use the code of this project on the basis of abiding by the open source license! What we support: using this project to create greater value and contribute code to this project under the condition of abiding by the agreement. What we condemn: any non-compliance with the open source license. Including but not limited to: plagiarizing the code of the project as your graduation project and other academic misconduct, as well as commercial closed source use without payment. If you find any violation of the open source license, we welcome you to send email feedback! Let's build an honest open source community together!

References

This project refers to the following materials. I sincerely give my thanks to the authors of these projects, books and documents!