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