Wie aus Daten Arbeit wird
Systemsoftware und Anwendungen
Wenn ein Musikprogramm eine Audiodatei öffnet, steuert es nicht die Speicherchips, decodiert keine rohen Tastatursignale und entscheidet nicht, wann es CPU-Zeit bekommt. Jemand anderes übernimmt das alles. Das Musikprogramm fragt einfach an.
Zwei Arten von Programmen
Eine Anwendung hilft einem Menschen, etwas zu tun: ein Dokument bearbeiten, im Web surfen, Musik abspielen oder ein Budget berechnen.
Systemsoftware unterstützt und betreibt den Computer selbst. Das Betriebssystem ist das wichtigste Beispiel: Es verwaltet gemeinsam genutzte Ressourcen und bietet allgemeine Dienste, die Anwendungen anfordern können.
Ordnen wir sie übereinander an, wandert jede Anfrage dieselbe Leiter hinab:
person
application
operating system
hardware
Angenommen, du öffnest eine Datei. Die Anwendung fragt sie beim Betriebssystem über ihren Namen an. Das Betriebssystem findet sie, prüft, ob die Anfrage erlaubt ist, und koordiniert die Speicherarbeit. Die Anwendung muss das Laufwerk nie selbst steuern.
Das ist der ganze Trick. Jede Schicht bietet nach oben etwas Einfaches an und kümmert sich um die Unordnung darunter. „Öffne diese Datei“ ist dieselbe Bitte, ob die Datei auf einem Laufwerk im Computer, auf einem USB-Stick oder auf einem Computer in einem anderen Land liegt.
Eine Zeichen-App möchte dein Bild speichern. Was passiert?
Durch diese Schichten können Anwendungen stabile Dienste anfordern, während Systemsoftware die darunterliegende Maschine verwaltet. Sie machen nicht jede Anwendung auf jedem Betriebssystem nutzbar. Anwendungen hängen weiterhin von den Diensten und Formaten ab, die ihr Zielsystem bietet.
Ein Schritt in der Kette fehlt noch. Menschen schreiben Quellcode, der sich fast wie Englisch liest. CPUs führen Maschinenanweisungen aus, die sich überhaupt nicht wie Sprache lesen. Als Nächstes: Was passiert dazwischen?