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