| Zeile 12: | Zeile 12: | ||
| Homepage = [http://www.c-plusplus.de/forum/viewforum-var-f-is-62.html] | | Homepage = [http://www.c-plusplus.de/forum/viewforum-var-f-is-62.html] | ||
}} | }} | ||
| − | PrettyOS ist das Betriebssystem der Projektgruppe OS-Development bei http://www.c-plusplus.de/forum/. Es entstand als Idee im März 2009, führte zu einem vierteiligen Tutorial, das für Einsteiger in die Materie beginnend beim ersten Boot-Vorgang gedacht war, und wird seit Mitte Oktober 2009 von interessierten | + | PrettyOS ist das Betriebssystem der Projektgruppe OS-Development bei http://www.c-plusplus.de/forum/. Es entstand als Idee im März 2009, führte zu einem vierteiligen Tutorial, das für Einsteiger in die Materie beginnend beim ersten Boot-Vorgang gedacht war, und wird seit Mitte Oktober 2009 von interessierten Entwicklern diskutiert, umgebaut, gepflegt und erweitert. Zielsetzung ist, verständlich zum Lernen und zum Experimentieren verwendbar zu sein. |
== Ziel == | == Ziel == | ||
| Zeile 25: | Zeile 25: | ||
=== Kernel === | === Kernel === | ||
| − | Der monolithische Kernel ist in der Programmiersprache C mit wenigen Teilen Assembler (NASM und GCCs Inline-Assembler) gehalten. Er verfügt über grundlegende Fähigkeiten wie Interrupt-Handling, Paging, Kernel- und User-Heap, Multitasking, Multithreading, syscalls, VM86 und enthält unter anderem Treiber für PCspeaker, Serielle Schnittstelle, Diskettenlaufwerke, EHCI, VESA BIOS Extensions und die | + | Der monolithische Kernel ist in der Programmiersprache C mit wenigen Teilen Assembler (NASM und GCCs Inline-Assembler) gehalten. Er verfügt über grundlegende Fähigkeiten wie Interrupt-Handling, Paging, Kernel- und User-Heap, Multitasking, Multithreading, syscalls, VM86 und enthält unter anderem Treiber für PCspeaker, Serielle Schnittstelle, Diskettenlaufwerke, EHCI, VESA BIOS Extensions und die Netzwerkkarten [[RTL8139]] und [[AMD PCnet]]. Als Dateisysteme werden gegenwärtig FAT12, FAT16 und FAT32 unterstützt. Betriebsbereite Netzwerkprotokolle sind: ethernet, ip, arp, icmp, udp, dhcp, tcp. |
=== Userprogramme === | === Userprogramme === | ||
| Zeile 32: | Zeile 32: | ||
Userprogramme können auf drei verschiedenen Wegen eingebunden werden: | Userprogramme können auf drei verschiedenen Wegen eingebunden werden: | ||
| − | Mittels incbin direkt in den kernel, von | + | Mittels incbin direkt in den kernel, von wo es dann über die vom Linker generierte Adresse gestartet werden kann (derzeit für das VM86-Programm für VBE genutzt), über die Ramdisk (so wie es derzeit mit der Shell gemacht wird), oder auf dem herkömmlichen Weg als Executable im ELF- oder PE-Format auf einem von PrettyOS unterstützten Speichermedium, wodurch das Programm für den Nutzer von der Shell aus aufrufbar wird. |
== Entwicklung == | == Entwicklung == | ||
PrettyOS ist als freie Experimentier-Basis für Ideen der OS-Projektgruppe bei c-plusplus.de gedacht und wird von einer aktiven Community gepflegt und erweitert. Inzwischen entwickeln bis zu 10 Personen (allerdings nur zwei bis drei wirklich aktiv) an PrettyOS. | PrettyOS ist als freie Experimentier-Basis für Ideen der OS-Projektgruppe bei c-plusplus.de gedacht und wird von einer aktiven Community gepflegt und erweitert. Inzwischen entwickeln bis zu 10 Personen (allerdings nur zwei bis drei wirklich aktiv) an PrettyOS. | ||
| − | IRC Channel: #PrettyOS auf euirc.net und im Forum (siehe Links). Tester und Entwickler sind immer gerne gesehen | + | IRC Channel: #PrettyOS auf euirc.net und im Forum (siehe Links). Tester und Entwickler sind immer gerne gesehen. |
== Links == | == Links == | ||