使用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
zzy666-hw 554b73ec99
add ipc pipe (#28)
2022-08-20 21:47:41 +08:00
.github/workflows Create makefile.yml 2022-07-25 18:26:08 +08:00
.idea 🔧 修改为makefile的构建方式,程序能正常运行 2022-01-21 13:49:09 +08:00
.vscode new: 初步完成了mmio地址空间自动分配(未测试) 2022-08-20 14:54:19 +08:00
docs doc: mmio文档 2022-08-20 18:42:12 +08:00
kernel add ipc pipe (#28) 2022-08-20 21:47:41 +08:00
tools new: 内核反汇编脚本 2022-08-15 12:15:17 +08:00
user add ipc pipe (#28) 2022-08-20 21:47:41 +08:00
.gitignore 将 kernel\common\math\pow.c 的求幂运算优化为快速幂 2022-08-14 21:27:21 +08:00
LICENSE Create LICENSE 2022-01-16 22:58:21 +08:00
Makefile fix: 解决了page的锁未被初始化的bug 2022-08-15 12:09:04 +08:00
README.md Update Readme 2022-08-01 22:11:08 +08:00
README_EN.md Update Readme 2022-08-01 22:11:08 +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 适配了macOS下的加速器 2022-08-17 23:24:32 -04: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!

Websites

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 donated funds will be used for website, forum community maintenance and all purposes related to the project.

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!