Das eigene Betriebssystem, Teil 9
14.08.2023, 00:00 Uhr
Doppelt verkettet
Bevor das Kaos OS Multitasking lernt, sind noch einige Vorarbeiten erforderlich.
Die beiden vorangegangenen Folgen dieser Serie haben sich intensiv mit der virtuellen Hauptspeicherverwaltung beschäftigt [1] und es wurde ein einfacher virtueller Memory-Manager implementiert, welcher mithilfe eines Page Fault Handlers virtuelle Hauptspeicheradressen auf physische Page Frames mappen kann. Außerdem wurde ein einfacher Heap-Manager implementiert [2], der in der Lage ist, Hauptspeicherbereiche auf Byte-Ebene zu allokieren und wieder freizugeben. Auf Basis dieser Funktionalität dreht sich in dieser Folge alles um das Thema Multitasking. Das Ziel: Das Eigenbau-Betriebssystem soll mehrere Tasks parallel verarbeiten können. Allerdings sind dafür zunächst einige Vorarbeiten durchzuführen. Wirklich eingebaut wird das Multitasking erst im nächsten Heft.
Der zuletzt implementierte Heap-Manager ist auf der Basis einer einfachen Datenstruktur in der Lage, Hauptspeicherbereiche auf Byte-Ebene zu verwalten. Der Heap-Manager bietet dafür die Funktionen malloc() und free() an, die Sie vielleicht von der C-Programmierung kennen. Beim Heap-Manager handelt es sich um eine der wichtigsten Komponenten eines Betriebssystems, die immer dann benötigt wird, wenn dynamischer Hauptspeicher allokiert werden soll – also auch beim Multitasking.
Jetzt 1 Monat kostenlos testen!
Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt dotnetpro-plus-Kunde.
- + Digitales Kundenkonto,
- + Zugriff auf das digitale Heft,
- + Zugang zum digitalen Heftarchiv,
- + Auf Wunsch: Weekly Newsletter,
- + Sämtliche Codebeispiele im digitalen Heftarchiv verfügbar