| Zeile 128: | Zeile 128: | ||
===Schnittstelle zum Userspace=== | ===Schnittstelle zum Userspace=== | ||
Auch der tollste Kernel mit [[Multitasking]]-Unterstützung bringt Dir natürlich herzlich wenig, wenn die laufenden Programme nicht mit dem Benutzer interagieren können. Um den Programmen, die ja in einem eigenen Adressraum laufen und meist keinen direkten Zugriff auf die Hardware haben, diese Möglichkeit zu bieten, muss der Kernel eine entsprechende Schnittstelle, üblicherweise in Form von [[Syscall|Syscalls]], anbieten. Wie diese Schnittstelle genau aussieht, hängt von Deiner gewählten Architektur ab. Bei einem Monolithen wird die Schnittstelle eher breit ausfallen, und beispielsweise Funktionen für das Arbeiten mit Dateien mitbringen, während bei einem Mikrokernel vor allem die Funktionen für die [[Interprozesskommunikation]] im Zentrum stehen werden. | Auch der tollste Kernel mit [[Multitasking]]-Unterstützung bringt Dir natürlich herzlich wenig, wenn die laufenden Programme nicht mit dem Benutzer interagieren können. Um den Programmen, die ja in einem eigenen Adressraum laufen und meist keinen direkten Zugriff auf die Hardware haben, diese Möglichkeit zu bieten, muss der Kernel eine entsprechende Schnittstelle, üblicherweise in Form von [[Syscall|Syscalls]], anbieten. Wie diese Schnittstelle genau aussieht, hängt von Deiner gewählten Architektur ab. Bei einem Monolithen wird die Schnittstelle eher breit ausfallen, und beispielsweise Funktionen für das Arbeiten mit Dateien mitbringen, während bei einem Mikrokernel vor allem die Funktionen für die [[Interprozesskommunikation]] im Zentrum stehen werden. | ||
| + | |||
| + | ==== Da habt ihr doch sicher auch was in eurer Reihe, oder? ==== | ||
| + | Na klar. Im '''[[Teil_6_-_Multitasking|sechsten Teil]]''' der Reihe "OS-Dev für Einsteiger" wird das Implementieren von Multitasking per [[TSS]] anschaulich und mit Codebeispielen erklärt. | ||
===Treiber=== | ===Treiber=== | ||