xref: /DragonOS/README.md (revision ac50ebeb8f074a00066209257ac2a51ca3286be2)
1# DragonOS
2
3**Languages** 中文|[English](README_EN.md)
4
5 
6
7这是一个运行于x86_64平台的64位操作系统。目前正在开发之中!
8
9## 网站
10- 项目官网  **[DragonOS.org](https://dragonos.org)**
11- 项目文档  **[docs.DragonOS.org](https://docs.dragonos.org)**
12- 开源论坛  **[bbs.DragonOS.org](https://bbs.dragonos.org)**
13- 开发交流QQ群 **115763565**
14 
15## 开发环境
16
17GCC>=8.0
18
19qemu==6.2
20
21grub==2.06
22
23## 如何运行?
24
251. clone本项目
26
272. 运行命令 bash run.sh
28
29## To do list:
30
31- [x] multiboot2
32
33- [x] printk
34
35- [x] 简单的异常捕获及中断处理
36
37- [x] APIC
38
39- [x] 初级内存管理单元
40
41- [x] SLAB内存池
42
43- [x] PS/2 键盘、鼠标驱动
44
45- [x] PCI 总线驱动
46
47- [ ] usb驱动
48
49- [x] SATA硬盘驱动(AHCI)
50
51- [ ] 驱动程序框架
52
53- [ ] 网卡驱动
54
55- [ ] 网络协议栈
56
57- [ ] 图形驱动
58
59- [x] 第一个进程
60
61- [x] 进程管理
62
63- [ ] IPC进程间通信
64
65- [x] 第一个系统调用函数
66
67- [x] 在物理平台上启动DragonOS(AMD处理器上存在自动重启的问题)
68
69- [x] 多核启动
70
71- [ ] 多核调度及负载均衡
72
73- [x] FAT32文件系统
74
75- [x] VFS虚拟文件系统
76
77- [x] 解析ELF文件格式
78
79- [x] 浮点数支持
80
81- [x] 基于POSIX实现系统调用库
82
83- [x] Shell
84
85- [x] 内核栈反向跟踪
86
87- [ ] 动态加载模块
88
89## 贡献代码
90
91如果你愿意跟我一起开发这个项目,请先发邮件到我的邮箱~
92
93## 贡献者名单
94
95fslongjin
96
97## 联系我
98
99我的邮箱:longjin@RinGoTek.cn
100
101我的博客:[longjin666.cn](https://longjin666.cn)
102
103## 赞赏
104
105如果你愿意的话,点击下面的链接,请我喝杯咖啡吧~请在付款备注处留下您的github ID,我会将其贴到这个页面. 捐赠所得资金将用于网站、论坛社区维护以及一切与本项目所相关的用途。
106
107[捐赠 | 龙进的博客](https://longjin666.cn/?page_id=54)
108
109## 赞赏者列表
110
111- 悟
112- [TerryLeeSCUT · GitHub](https://github.com/TerryLeeSCUT)
113
114## 开放源代码声明
115
116本项目采用GPLv2协议进行开源,欢迎您在遵守开源协议的基础之上,使用本项目的代码!
117
118**我们支持**:遵守协议的情况下,利用此项目,创造更大的价值,并为本项目贡献代码。
119
120**我们谴责**:任何不遵守开源协议的行为。包括但不限于:剽窃该项目的代码作为你的毕业设计等学术不端行为以及商业闭源使用而不付费。
121
122若您发现了任何违背开源协议的使用行为,我们欢迎您发邮件反馈!让我们共同建设诚信的开源社区。
123
124## 参考资料
125
126本项目参考了以下资料,我对这些项目、书籍、文档的作者表示感谢!
127
128- 《一个64位操作系统的实现》田宇(人民邮电出版社)
129
130- 《现代操作系统 原理与实现》陈海波、夏虞斌(机械工业出版社)
131
132- [SimpleKernel](https://github.com/Simple-XX/SimpleKernel)
133
134- [osdev.org](https://wiki.osdev.org/Main_Page)
135
136- Multiboot2 Specification version 2.0
137
138- ACPI_6_3_final_Jan30
139
140- the GNU GRUB manual
141
142- Intel® 64 and IA-32 Architectures Software Developer’s Manual
143
144- IA-PC HPET (High Precision Event Timers) Specification
145
146- [skiftOS]([GitHub - skiftOS/skift: �� A hobby operating system built from scratch in modern C++. Featuring a reactive UI library and a strong emphasis on user experience.](https://github.com/skiftOS/skift))
147
148- [GuideOS](https://github.com/Codetector1374/GuideOS)
149