Lader (Programmierung)
# Lader (Programmierung)

Als Lader (englisch loader) bezeichnet man den sehr grundlegenden Dienst eines Betriebssystems, ausführbare Programme in den Arbeitsspeicher zu laden und auszuführen. Je nach Komplexität des Betriebssystems gehören dazu unterschiedliche Aufgaben.

Handelt es sich um den Loader des BIOS, der den Bootloader des Betriebssystems startet, beschränkt sich die Aufgabe lediglich darauf, einen Bootblock an eine feste Adresse zu laden und die Ausführung an dieser Adresse fortzusetzen. Die Lader der einfachsten Betriebssysteme (zum Beispiel das Atari XL-DOS) sind nicht wesentlich komplexer – der Lader erhält als Informationen, woher das Programm zu laden ist und in welchen Speicherbereich, lädt das Programm, und springt dann an den Anfang dieses Speicherbereiches, so dass das Programm die Kontrolle erhält.

Der Lader eines modernen Multitasking-Betriebssystemes, das gerade ein Programm startet (einen Prozess erzeugt), hat noch erheblich mehr zu tun, nämlich das Reservieren von Arbeitsspeicher für Programm- und Datensegmente beim Betriebssystem, das Laden des Programmes in die vorgesehenen Arbeitsspeicherbereiche, bei einem entsprechenden Arbeitsspeichermodell die Umrechnung von relativen in absolute Arbeitsspeicheradressen sowie den Anstoß des Binders, der dynamisch Programmbibliotheken einbindet. Die Kontrolle wird danach jedoch nicht direkt an das Programm übergeben, dies ist in Multitasking-Systemen die Aufgabe des Prozess-Schedulers.

