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