| Zeile 16: | Zeile 16: | ||
== Entwicklung == | == Entwicklung == | ||
| − | + | Dank zweier 12h-Programmier-Sessions ist meinOS ein ganzes Stück weiter. Fork() und execute() funktionieren. Init startet alle Treiber und sonstige Programme (/etc/init.d). Stdin, stdout ud stderr werden nicht mehr zum Kernel geleitet, sondern über Unnamed Pipes zum Elternprozess. Außerdem läuft jetzt eine Shell. Leider funktionieren die Unnamed Pipes aber noch nicht so gut und der Keyboard-Treiber macht auch Probleme. Deswegen kann ich niemanden empfehlen andere Programme als "true" und "false" in der Shell zu starten. | |
=== Komplett === | === Komplett === | ||
| Zeile 32: | Zeile 32: | ||
* Server (Treiber) | * Server (Treiber) | ||
** Console-Server (umfasst Keyboard-Treiber und Screen-Treiber) | ** Console-Server (umfasst Keyboard-Treiber und Screen-Treiber) | ||
| − | ** [[ | + | ** [[ATA]] (mit ATAPI) |
| − | ** [[ | + | ** CDROM |
| − | ** [[ | + | ** [[Cirrus Logic]] |
| + | ** [[COM]] | ||
| + | ** Console ([[Keyboard Controller | Tastatur]] | ||
** DevFS | ** DevFS | ||
| + | ** [[DMA]] | ||
| + | ** [[FAT]] | ||
| + | ** [[Floppy]] | ||
| + | ** [[ISO9660]] | ||
| + | ** [[PCI]] | ||
| + | ** Pseudo-Geräte (/dev/null, /dev/zero/ und /dev/urandom) | ||
| + | ** Ramdisk | ||
| + | ** VFS | ||
* Bibliotheken | * Bibliotheken | ||
| Zeile 44: | Zeile 54: | ||
*** [[RPC]] | *** [[RPC]] | ||
*** Linked List | *** Linked List | ||
| + | *** Lock (Spinlock) | ||
| + | *** Path (zum parsen von Dateipfaden) | ||
*** [[PCI]] | *** [[PCI]] | ||
| + | *** Process (Kontrolle über Prozesse) | ||
** stdlibc (großer Teil schon portiert) | ** stdlibc (großer Teil schon portiert) | ||
| − | ** [[CDI|libcdi]] ( | + | ** [[CDI|libcdi]] |
| + | *** [[BIOS]] | ||
| + | *** Cache | ||
| + | *** [[DMA]] | ||
| + | *** FS | ||
| + | *** Generic (noch kein Standard) | ||
| + | *** Net | ||
| + | *** [[PCI]] | ||
| + | *** SCSI | ||
| + | *** Storage | ||
| + | *** Video | ||
** libfuse | ** libfuse | ||
| + | * Nenneswerte Programme | ||
| + | ** init | ||
| + | ** login | ||
| + | ** shell (noch in Arbeit) | ||
| + | ** gzip | ||
| + | ** mount | ||
=== Planung === | === Planung === | ||
| − | * | + | * NTFS-Treiber |
| − | |||
| − | |||
| − | |||
| − | |||
* Standard-Unix-Toolchain: echo,cat,mv,cp,... und GCC-Toolchain | * Standard-Unix-Toolchain: echo,cat,mv,cp,... und GCC-Toolchain | ||
| − | |||
| − | |||
== Crosscompiler == | == Crosscompiler == | ||
| − | + | Zum Bauen von meinOS wird der meinOS-Crosscompiler benötigt. Die Patches können hier gedownloadet werden: [http://repo.or.cz/w/meinos.git?a=blob;f=gcc-4.2.2-meinos.patch gcc-4.2.2] [http://repo.or.cz/w/meinos.git?a=blob;f=binutils-2.18-meinos.patch binutils-2.18] | |
== Download == | == Download == | ||