xref: /DragonOS/README_EN.md (revision cefb96b73f120f2a3c44ed4fc4955ca53838d366)
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## Websites
10- Home Page  **[DragonOS.org](https://dragonos.org)**
11- Documentation  **[docs.DragonOS.org](https://docs.dragonos.org)**
12- BBS  **[bbs.DragonOS.org](https://bbs.dragonos.org)**
13- QQ group **115763565**
14- code search engine [code.DragonOS.org](http://code.dragonos.org) 
15
16## Development Environment
17
18GCC>=8.0
19
20qemu==6.2
21
22grub==2.06
23
24## How to run?
25
261. clone the project
27
282. Run the <u>run.sh</u>
29
30## To do list:
31
32- [x] multiboot2
33
34- [x] printk
35
36- [x] Simple exception capture and interrupt handling
37
38- [x] APIC
39
40- [x] Primary memory management unit
41
42- [x] SLAB memory pool
43
44- [x] PS/2 Keyboard and mouse driver
45
46- [x] PCI bus driver
47
48- [ ] USB Driver
49
50- [x] SATA Hard disk driver(AHCI)
51
52- [ ] Driver Framework
53
54- [ ] Network card driver
55
56- [ ] Internet protocol stack
57
58- [ ] Graphics driver
59
60- [x] First process
61
62- [x] Process management
63
64- [ ] IPC
65
66- [x] First system call function
67
68- [x] Start dragonos on the physical platform (There is a bug which can make the computer automatically reboot on AMD processor)
69
70- [x] Multi core boot
71
72- [ ] Multi core scheduling and load balancing
73
74- [x] FAT32 file system
75
76- [x] virtual file system
77
78- [x] Parsing ELF file format
79
80- [x] Floating point support
81
82- [x] Implementation of system call library based on POSIX
83
84- [x] Shell
85
86- [x] Kernel stack backtracking
87
88- [ ] Dynamic loading module
89
90## Contribute code
91
92If you are willing to develop this project with me, please email me first~
93
94## List of contributors
95
96fslongjin
97
98## Contact with me
99
100Email:longjin@RinGoTek.cn
101
102Blog:[longjin666.cn](https://longjin666.cn)
103
104## Reward
105
106If 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. The donated funds will be used for website, forum community maintenance and all purposes related to the project.
107
108[The reward webpage](https://longjin666.cn/?page_id=54)
109
110## Sponsors
111
112- 悟
113- [TerryLeeSCUT · GitHub](https://github.com/TerryLeeSCUT)
114
115## Open source statement
116
117This 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!
118**What we support:** using this project to create greater value and contribute code to this project under the condition of abiding by the agreement.
119**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.
120If 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!
121
122## References
123
124This project refers to the following materials. I sincerely give my thanks to the authors of these projects, books and documents!
125
126- Implementation of a 64 bit operating system, Tian Yu (POSTS&TELECOM  PRESS)
127
128- Principle and implementation of modern operating system, Chen Haibo, Xia Yubin (China Machine Press)
129
130- [SimpleKernel](https://github.com/Simple-XX/SimpleKernel)
131
132- [osdev.org](https://wiki.osdev.org/Main_Page)
133
134- Multiboot2 Specification version 2.0
135
136- ACPI_6_3_final_Jan30
137
138- the GNU GRUB manual
139
140- Intel® 64 and IA-32 Architectures Software Developer’s Manual
141
142- IA-PC HPET (High Precision Event Timers) Specification
143
144- [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))
145
146- [GuideOS](https://github.com/Codetector1374/GuideOS)
147