xref: /DragonOS/README_EN.md (revision 0d0705a1694bfa057c1f84ee7c683a3653a9160f)
1# DragonOS
2
3**Languages** [中文](README.md)|English
4
5 
6
7This project is a operating system running on computer which is in X86_ 64 Architecture . The DragonOS is currently under development!
8
9## Development Environment
10
11GCC>=8.0
12
13qemu==6.2
14
15grub==2.06
16
17## How to run?
18
191. clone the project
20
212. Run the <u>run.sh</u>
22
23## To do list:
24
25- [x] multiboot2
26
27- [x] printk
28
29- [x] Simple exception capture and interrupt handling
30
31- [x] APIC
32
33- [x] Primary memory management unit
34
35- [x] SLAB memory pool
36
37- [x] PS/2 Keyboard and mouse driver
38
39- [x] PCI bus driver
40
41- [ ] USB Driver
42
43- [x] SATA Hard disk driver(AHCI)
44
45- [ ] Driver Framework
46
47- [ ] Network card driver
48
49- [ ] Internet protocol stack
50
51- [ ] Graphics driver
52
53- [x] First process
54
55- [x] Process management
56
57- [ ] IPC
58
59- [x] First system call function
60
61- [x] Start dragonos on the physical platform (There is a bug which can make the computer automatically reboot on AMD processor)
62
63- [x] Multi core boot
64
65- [ ] Multi core scheduling and load balancing
66
67- [x] FAT32 file system
68
69- [x] virtual file system
70
71- [x] Parsing ELF file format
72
73- [x] Floating point support
74
75- [ ] Implementation of system call library based on POSIX
76
77- [ ] Shell
78
79- [ ] Kernel stack backtracking
80
81- [ ] Dynamic loading module
82
83## Contribute code
84
85If you are willing to develop this project with me, please email me first~
86
87## List of contributors
88
89fslongjin
90
91## Contact with me
92
93Email:longjin@RinGoTek.cn
94
95Blog:[longjin666.cn](https://longjin666.cn)
96
97## Reward
98
99If you like, click the link below and buy me a cup of coffee ~ please leave your GitHub ID in the payment remarks and I will post it to this page
100
101[The reward webpage](https://longjin666.cn/?page_id=54)
102
103## Sponsors
104
105- 悟
106- [TerryLeeSCUT · GitHub](https://github.com/TerryLeeSCUT)
107
108## Open source statement
109
110This project adopts GPLv2 LICENSE for open source. You are welcome to use the code of this project on the basis of abiding by the open source license!
111**What we support:** using this project to create greater value and contribute code to this project under the condition of abiding by the agreement.
112**What we condemn**: any non-compliance with the open source license. Including but not limited to: plagiarizing the code of the project as your graduation project and other academic misconduct, as well as commercial closed source use without payment.
113If you find any violation of the open source license, we welcome you to send email feedback! Let's build an honest open source community together!
114
115## References
116
117This project refers to the following materials. I sincerely give my thanks to the authors of these projects, books and documents!
118
119- Implementation of a 64 bit operating system, Tian Yu (POSTS&TELECOM  PRESS)
120
121- Principle and implementation of modern operating system, Chen Haibo, Xia Yubin (China Machine Press)
122
123- [SimpleKernel](https://github.com/Simple-XX/SimpleKernel)
124
125- [osdev.org](https://wiki.osdev.org/Main_Page)
126
127- Multiboot2 Specification version 2.0
128
129- ACPI_6_3_final_Jan30
130
131- the GNU GRUB manual
132
133- Intel® 64 and IA-32 Architectures Software Developer’s Manual
134
135- IA-PC HPET (High Precision Event Timers) Specification
136
137- [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))
138
139- [GuideOS](https://github.com/Codetector1374/GuideOS)
140