xref: /DragonOS/README_EN.md (revision 2c8f3a64242e1b2cb69d5fea2789a67a68cd907a)
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- [ ] SATA Hard disk driver
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- [ ] 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- [ ] Multi core boot
64
65- [ ] Multi core scheduling and load balancing
66
67- [ ] FAT32 file system
68
69- [ ] virtual file system
70
71- [ ] 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
105Not yet
106
107## Open source statement
108
109This 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!
110**What we support:** using this project to create greater value and contribute code to this project under the condition of abiding by the agreement.
111**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.
112If 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!
113
114## References
115
116This project refers to the following materials. I sincerely give my thanks to the authors of these projects, books and documents!
117
118- Implementation of a 64 bit operating system, Tian Yu (POSTS&TELECOM  PRESS)
119
120- Principle and implementation of modern operating system, Chen Haibo, Xia Yubin (China Machine Press)
121
122- [SimpleKernel](https://github.com/Simple-XX/SimpleKernel)
123
124- [osdev.org](https://wiki.osdev.org/Main_Page)
125
126- Multiboot2 Specification version 2.0
127
128- ACPI_6_3_final_Jan30
129
130- the GNU GRUB manual
131
132- Intel® 64 and IA-32 Architectures Software Developer’s Manual
133