DragonOS/README.md

149 lines
3.4 KiB
Markdown
Raw Normal View History

2022-01-29 06:27:38 +00:00
# DragonOS
**Languages** 中文|[English](README_EN.md)
2022-01-29 06:27:38 +00:00
 
这是一个运行于x86_64平台的64位操作系统。目前正在开发之中
2022-06-22 15:31:47 +00:00
## 网站
- 项目官网 **[DragonOS.org](https://dragonos.org)**
- 项目文档 **[docs.DragonOS.org](https://docs.dragonos.org)**
- 开源论坛 **[bbs.DragonOS.org](https://bbs.dragonos.org)**
2022-07-20 01:47:42 +00:00
- 开发交流QQ群 **115763565**
2022-08-01 14:11:08 +00:00
- 代码搜索引擎 [code.DragonOS.org](http://code.dragonos.org) 
2022-01-29 06:27:38 +00:00
## 开发环境
GCC>=8.0
2022-01-29 06:27:38 +00:00
2022-03-12 16:31:46 +00:00
qemu==6.2
2022-01-29 06:27:38 +00:00
2022-03-12 16:31:46 +00:00
grub==2.06
2022-01-29 06:27:38 +00:00
## 如何运行?
1. clone本项目
2. 运行命令 bash run.sh
2022-01-29 06:27:38 +00:00
## To do list:
- [x] multiboot2
2022-01-29 06:27:38 +00:00
- [x] printk
- [x] 简单的异常捕获及中断处理
2022-03-15 15:16:42 +00:00
- [x] APIC
2022-01-29 06:27:38 +00:00
- [x] 初级内存管理单元
2022-02-28 14:27:52 +00:00
- [x] SLAB内存池
2022-01-29 06:27:38 +00:00
2022-03-22 10:05:07 +00:00
- [x] PS/2 键盘、鼠标驱动
- [x] PCI 总线驱动
2022-03-18 16:49:54 +00:00
- [ ] usb驱动
2022-01-29 06:27:38 +00:00
2022-04-02 11:15:57 +00:00
- [x] SATA硬盘驱动(AHCI)
2022-01-29 06:27:38 +00:00
- [ ] 驱动程序框架
- [ ] 网卡驱动
2022-03-22 10:05:07 +00:00
- [ ] 网络协议栈
2022-01-29 06:27:38 +00:00
- [ ] 图形驱动
- [x] 第一个进程
2022-01-29 06:27:38 +00:00
2022-04-20 04:37:57 +00:00
- [x] 进程管理
2022-01-29 06:27:38 +00:00
- [ ] IPC进程间通信
- [x] 第一个系统调用函数
2022-01-29 06:27:38 +00:00
2022-03-02 05:31:26 +00:00
- [x] 在物理平台上启动DragonOSAMD处理器上存在自动重启的问题
2022-01-29 06:27:38 +00:00
2022-04-04 14:57:20 +00:00
- [x] 多核启动
2022-01-29 06:27:38 +00:00
- [ ] 多核调度及负载均衡
2022-04-23 02:20:21 +00:00
- [x] FAT32文件系统
2022-01-29 06:27:38 +00:00
2022-04-23 02:20:21 +00:00
- [x] VFS虚拟文件系统
2022-01-29 06:27:38 +00:00
- [x] 解析ELF文件格式
2022-01-29 06:27:38 +00:00
2022-03-18 16:49:54 +00:00
- [x] 浮点数支持
2022-01-29 06:27:38 +00:00
2022-06-22 15:31:47 +00:00
- [x] 基于POSIX实现系统调用库
2022-01-29 06:27:38 +00:00
2022-06-22 15:31:47 +00:00
- [x] Shell
2022-01-29 06:27:38 +00:00
2022-06-22 15:31:47 +00:00
- [x] 内核栈反向跟踪
2022-01-29 06:27:38 +00:00
- [ ] 动态加载模块
## 贡献代码
如果你愿意跟我一起开发这个项目,请先发邮件到我的邮箱~
## 贡献者名单
fslongjin
## 联系我
我的邮箱longjin@RinGoTek.cn
我的博客:[longjin666.cn](https://longjin666.cn)
## 赞赏
2022-07-20 01:47:42 +00:00
如果你愿意的话,点击下面的链接,请我喝杯咖啡吧~请在付款备注处留下您的github ID我会将其贴到这个页面. 捐赠所得资金将用于网站、论坛社区维护以及一切与本项目所相关的用途。
2022-01-29 06:27:38 +00:00
[捐赠 | 龙进的博客](https://longjin666.cn/?page_id=54)
## 赞赏者列表
2022-03-30 11:55:50 +00:00
-
2022-04-20 04:37:57 +00:00
- [TerryLeeSCUT · GitHub](https://github.com/TerryLeeSCUT)
2022-03-15 15:16:42 +00:00
## 开放源代码声明
本项目采用GPLv2协议进行开源欢迎您在遵守开源协议的基础之上使用本项目的代码
2022-03-18 16:49:54 +00:00
**我们支持**:遵守协议的情况下,利用此项目,创造更大的价值,并为本项目贡献代码。
2022-03-15 15:16:42 +00:00
2022-03-18 16:49:54 +00:00
**我们谴责**:任何不遵守开源协议的行为。包括但不限于:剽窃该项目的代码作为你的毕业设计等学术不端行为以及商业闭源使用而不付费。
2022-03-15 15:16:42 +00:00
若您发现了任何违背开源协议的使用行为,我们欢迎您发邮件反馈!让我们共同建设诚信的开源社区。
2022-03-18 16:49:54 +00:00
## 参考资料
本项目参考了以下资料,我对这些项目、书籍、文档的作者表示感谢!
- 《一个64位操作系统的实现》田宇人民邮电出版社
- 《现代操作系统 原理与实现》陈海波、夏虞斌(机械工业出版社)
- [SimpleKernel](https://github.com/Simple-XX/SimpleKernel)
- [osdev.org](https://wiki.osdev.org/Main_Page)
- Multiboot2 Specification version 2.0
- ACPI_6_3_final_Jan30
- the GNU GRUB manual
2022-03-19 07:07:53 +00:00
- Intel® 64 and IA-32 Architectures Software Developers Manual
2022-04-08 04:20:53 +00:00
- IA-PC HPET (High Precision Event Timers) Specification
2022-05-08 14:38:43 +00:00
- [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))
- [GuideOS](https://github.com/Codetector1374/GuideOS)