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