Quelle: dotnetpro
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, Hauptspei­cherbereiche 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, Hauptspeicher­bereiche 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