xref: /DragonOS/README_EN.md (revision 83152c176b7dfb37f44130db3a7256d0c44c8add)
17238e3c1Sfslongjin# DragonOS
27238e3c1Sfslongjin
37238e3c1Sfslongjin**Languages** [中文](README.md)|English
47238e3c1Sfslongjin
57238e3c1Sfslongjin 
67238e3c1Sfslongjin
77238e3c1SfslongjinThis project is a operating system running on computer which is in X86_ 64 Architecture . The DragonOS is currently under development!
87238e3c1Sfslongjin
91ab51cb3Sfslongjin## Websites
101ab51cb3Sfslongjin- Home Page  **[DragonOS.org](https://dragonos.org)**
111ab51cb3Sfslongjin- Documentation  **[docs.DragonOS.org](https://docs.dragonos.org)**
121ab51cb3Sfslongjin- BBS  **[bbs.DragonOS.org](https://bbs.dragonos.org)**
13*83152c17Slongjin- QQ group **115763565**
14*83152c17Slongjin- code search engine [code.DragonOS.org](http://code.dragonos.org) 
151ab51cb3Sfslongjin
167238e3c1Sfslongjin## Development Environment
177238e3c1Sfslongjin
187238e3c1SfslongjinGCC>=8.0
197238e3c1Sfslongjin
20225cda75Sfslongjinqemu==6.2
217238e3c1Sfslongjin
22225cda75Sfslongjingrub==2.06
237238e3c1Sfslongjin
247238e3c1Sfslongjin## How to run?
257238e3c1Sfslongjin
267238e3c1Sfslongjin1. clone the project
277238e3c1Sfslongjin
287d12b348Sfslongjin2. Run the <u>run.sh</u>
297238e3c1Sfslongjin
307238e3c1Sfslongjin## To do list:
317238e3c1Sfslongjin
327d12b348Sfslongjin- [x] multiboot2
337238e3c1Sfslongjin
347238e3c1Sfslongjin- [x] printk
357238e3c1Sfslongjin
367238e3c1Sfslongjin- [x] Simple exception capture and interrupt handling
377238e3c1Sfslongjin
38fcb3930aSfslongjin- [x] APIC
397238e3c1Sfslongjin
407238e3c1Sfslongjin- [x] Primary memory management unit
417238e3c1Sfslongjin
4294f7d963Sfslongjin- [x] SLAB memory pool
437238e3c1Sfslongjin
44225cda75Sfslongjin- [x] PS/2 Keyboard and mouse driver
45225cda75Sfslongjin
46225cda75Sfslongjin- [x] PCI bus driver
47cdc450caSfslongjin
48cdc450caSfslongjin- [ ] USB Driver
497238e3c1Sfslongjin
50e5274ce8Sfslongjin- [x] SATA Hard disk driver(AHCI)
517238e3c1Sfslongjin
527238e3c1Sfslongjin- [ ] Driver Framework
537238e3c1Sfslongjin
547238e3c1Sfslongjin- [ ] Network card driver
557238e3c1Sfslongjin
56225cda75Sfslongjin- [ ] Internet protocol stack
57225cda75Sfslongjin
587238e3c1Sfslongjin- [ ] Graphics driver
597238e3c1Sfslongjin
607238e3c1Sfslongjin- [x] First process
617238e3c1Sfslongjin
62db8b4a48Sfslongjin- [x] Process management
637238e3c1Sfslongjin
647238e3c1Sfslongjin- [ ] IPC
657238e3c1Sfslongjin
66d3a5048fSfslongjin- [x] First system call function
677238e3c1Sfslongjin
68e7fd5316Sfslongjin- [x] Start dragonos on the physical platform (There is a bug which can make the computer automatically reboot on AMD processor)
697238e3c1Sfslongjin
705ea38e3bSfslongjin- [x] Multi core boot
717238e3c1Sfslongjin
727238e3c1Sfslongjin- [ ] Multi core scheduling and load balancing
737238e3c1Sfslongjin
745ec1b825Sfslongjin- [x] FAT32 file system
757238e3c1Sfslongjin
765ec1b825Sfslongjin- [x] virtual file system
777238e3c1Sfslongjin
788d8fd391Sfslongjin- [x] Parsing ELF file format
797238e3c1Sfslongjin
80cdc450caSfslongjin- [x] Floating point support
817238e3c1Sfslongjin
821ab51cb3Sfslongjin- [x] Implementation of system call library based on POSIX
837238e3c1Sfslongjin
841ab51cb3Sfslongjin- [x] Shell
857238e3c1Sfslongjin
861ab51cb3Sfslongjin- [x] Kernel stack backtracking
877238e3c1Sfslongjin
887238e3c1Sfslongjin- [ ] Dynamic loading module
897238e3c1Sfslongjin
907238e3c1Sfslongjin## Contribute code
917238e3c1Sfslongjin
927238e3c1SfslongjinIf you are willing to develop this project with me, please email me first~
937238e3c1Sfslongjin
947238e3c1Sfslongjin## List of contributors
957238e3c1Sfslongjin
967238e3c1Sfslongjinfslongjin
977238e3c1Sfslongjin
987238e3c1Sfslongjin## Contact with me
997238e3c1Sfslongjin
1007238e3c1SfslongjinEmail:longjin@RinGoTek.cn
1017238e3c1Sfslongjin
1027238e3c1SfslongjinBlog:[longjin666.cn](https://longjin666.cn)
1037238e3c1Sfslongjin
1047238e3c1Sfslongjin## Reward
1057238e3c1Sfslongjin
106c9b3b2acSfslongjinIf 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.
1077238e3c1Sfslongjin
1087238e3c1Sfslongjin[The reward webpage](https://longjin666.cn/?page_id=54)
1097238e3c1Sfslongjin
1107238e3c1Sfslongjin## Sponsors
1117238e3c1Sfslongjin
1121d440adcSfslongjin- 悟
113db8b4a48Sfslongjin- [TerryLeeSCUT · GitHub](https://github.com/TerryLeeSCUT)
114fcb3930aSfslongjin
115fcb3930aSfslongjin## Open source statement
116fcb3930aSfslongjin
117fcb3930aSfslongjinThis 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!
118fcb3930aSfslongjin**What we support:** using this project to create greater value and contribute code to this project under the condition of abiding by the agreement.
119cdc450caSfslongjin**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.
120fcb3930aSfslongjinIf 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!
121cdc450caSfslongjin
122cdc450caSfslongjin## References
123cdc450caSfslongjin
124cdc450caSfslongjinThis project refers to the following materials. I sincerely give my thanks to the authors of these projects, books and documents!
125cdc450caSfslongjin
126cdc450caSfslongjin- Implementation of a 64 bit operating system, Tian Yu (POSTS&TELECOM  PRESS)
127cdc450caSfslongjin
128cdc450caSfslongjin- Principle and implementation of modern operating system, Chen Haibo, Xia Yubin (China Machine Press)
129cdc450caSfslongjin
130cdc450caSfslongjin- [SimpleKernel](https://github.com/Simple-XX/SimpleKernel)
131cdc450caSfslongjin
132cdc450caSfslongjin- [osdev.org](https://wiki.osdev.org/Main_Page)
133cdc450caSfslongjin
134cdc450caSfslongjin- Multiboot2 Specification version 2.0
135cdc450caSfslongjin
136cdc450caSfslongjin- ACPI_6_3_final_Jan30
137cdc450caSfslongjin
138cdc450caSfslongjin- the GNU GRUB manual
1390aee6bb4Sfslongjin
1400aee6bb4Sfslongjin- Intel® 64 and IA-32 Architectures Software Developer’s Manual
141d887f9a0Sfslongjin
142d887f9a0Sfslongjin- IA-PC HPET (High Precision Event Timers) Specification
143c43d65b2Sfslongjin
144c43d65b2Sfslongjin- [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))
145c43d65b2Sfslongjin
146c43d65b2Sfslongjin- [GuideOS](https://github.com/Codetector1374/GuideOS)
147