32-Bit X86 Multiprocessing-Betriebssystem in der Lage, Konsolen oder grafische Benutzeranwendungen auszuführen.
Weitere Veröffentlichungen finden Sie unter https://github.com/scopeinfinity/fuzzyos/releases
Das Startbild kann unter Assets für die entsprechende Freisetzung gefunden werden.
Die Screenshots können als Artifacts unter abgeschlossenem Lauf für Aktionen/CI gelegen werden.
| Bootloader | Kernelumdrehung |
|---|---|
![]() | ![]() |
| Einfache Schale | Katze |
|---|---|
![]() | ![]() |
| Gabel() | Tictactoe -Spiel |
|---|---|
![]() | ![]() |
| Pingpong -Spiel | Logo -Programmierung |
|---|---|
![]() | ![]() |
| Desktop |
|---|
![]() |
make images nach dem Klonen des Repositorys. FuzzyOS.vdi als Speicher. FuzzyOS.vmdk als Speicher. dd oder scripts/burn.sh um das Bild in die Festplatte zu verbrennen (potenziell destruktiv).bash scripts/burn.sh build/FuzzyOS.raw /path/to/devicefile| Besonderheit | Existiert |
|---|---|
| Boot: Legacy Bios | ✔️ |
| BOOT: UEFI | |
| Festplatten -Partitionierungsstil: MBR | ✔️ |
| Festplatten -Partitionierungsstil: GPT | |
| Exportiertes Datenträgerbild: VMDK | ✔️ |
| Exportiertes Datenträgerbild: VDI | ✔️ |
| Exportiertes Datenträgerbild: roh | ✔️ |
| Kernel <--> App und App <--> App-Isolation | ✔️ |
| Opearating-Mode: Real-Modus (Boot-Loader + RealMode-Library) | ✔️ |
| Opearating-Mode: Protected-Modus (Kernel + Benutzeranwendung) | ✔️ |
| Fahrer: Festplatte IO | ✔️ |
| Fahrer: Bild | ✔️ |
| Fahrer: Grube | ✔️ |
| Treiber: Tastatur | ✔️ |
| Dateisystem: FFS (intern) (schreibgeschützt) | ✔️ |
| Interrupt Handler | ✔️ |
| SYSCALL: Textkonsole IO | ✔️ |
| SYSCALL: Grafik | ✔️ |
| SYSCALL: Tastatur | ✔️ |
| SYSCALL: Dateihandler | ✔️ |
| Process-Scheduler: Round Robin | ✔️ |
| Dateisystem: FFS (benutzerdefiniert) (schreibgeschützt) | ✔️ |
| Anzeige: Textmodus | ✔️ |
| Anzeige: Graphics-VGA 320x200 256 Farben | ✔️ |
| Parallelität: Multiprozessierung | ✔️ |
| Parallelität: Multithreading | |
| Parallelität | |
| Sicherheit im Bereich | |
| Networking | |
| App-Build: Support c | ✔️ |
| App-Build: Unterstützung C ++ | ✔️ |
| App-Build: C/C ++ Standardbibliotheken (nach Bedarf) | ✔️ |
| App-Runtime: Heap-Speicherzuweisung | ✔️ |
| Anwendung: Rechner | ✔️ |
| Anwendung: Katze | ✔️ |
| Anwendung: Desktop | ✔️ |
| Anwendung: Echo | ✔️ |
| Anwendung: Forkbomb | ✔️ |
| Anwendung: Logo | ✔️ |
| Anwendung: ls | ✔️ |
| Anwendung: Ping-Pong | ✔️ |
| Anwendung: SH (Terminal) | ✔️ |
| Anwendung: SimpleCPP (Beispiel) | ✔️ |
| Anwendung: Mehr | ✔️ |
| Anwendung: Multiprocessing (Beispiel) | ✔️ |
| Anwendung: Tictactoe | ✔️ |
Anwendung: Your's? Yes, raise a PR | ✔️ |
bash before_install.sh
make clean
make qemu
Verwenden Sie das Erstellen von Binärdateien und Bilddateien.
make
In diesem Moment wird Tests durchgeführt, indem vordefinierter ASM in den Quellcode injiziert wird, der die Ausführung zu dem Punkt des Interesses anhält. Danach können Tests den QEMU -Monitor verwenden, um den aktuellen Zustand mit dem erwarteten Zustand zu überprüfen.
make test
Führen Sie QEMU im Debug -Modus aus und setzen Sie den GDB -Server ein.
make qemu_debug
Und dann eine Verbindung zum GDB -Server herstellen.
make qemu_debug_connect
Beitragen.md