Was ist Systemsoftware ?

Softwarekategorien

Software in der heutigen Zeit wird immer komplexer und größer. Es ist daher sinnvoll Software in verschiedene Kriterien zu kategorisieren. Für eine Kategorisierung kann man z.B. die relative hardwarenähe einer Software heranziehen. Hierbei wird unterschieden zwischen der Hardware und dem Benutzer. Ist die Software nahe am Benutzer, handelt es sich um eine hardwerferne Software. Befindet sich die Software jedoch in Hardwarenähe handelt es sich um hardwarenahe Software. Um das ganze besser zu veranschaulichen haben wir dir eine übersicht angefertigt:

Werkzeuge/Tools

Nun werden wir auf weitere Softwarekategorien eingehen, die sich im alltäglichen Benutzer Workflow wiederfinden bei der Bedienung von Betriebssystemen. Der Benutzer sieht bei der Bedienung von Benutzersoftware meistens nur die Oberfläche und sieht die System Software im Hintergrund gar nicht. Diese Software ist aber von zentraler Bedeutung, damit die Software lauffähig und funktionsfähig wird. Die Rede ist von sogenannten Werkzeugen oder “Tools”. Unter Werkzeugen oder Tools versteht man Editoren, Compiler, Assembler, Linker, Debugger und Analyse-/Design Tools. Nun werden wir zu den Funktionen und Aufgaben dieser Tools kommen:

  • Editor: Ist ein Werkzeug zur Eingabe / Manipulation von Text. Des Weiteren eignet er sich zum Einfügen von Worten und Zeilen aber auch zum Suchen nach bestimmten Zeichenfolgen und dem Ersetzen von Zeichenfolgen.
  • Compiler/Übersetzer: Der Compiler übersetzt die Anweisungen/Instruktionen einer Hochsprache wie Java oder C in binäre Anweisungen (Objectcode). Die Programme können dadurch direkt auf dem Prozessor ausgeführt werden.
  • Interpreter: Der Interpreter ist ein Programm, das den Quellcode zur Laufzeit eines Programms ausführt. Er geht hierbei schrittweise vor, was ihn im vergleich zu einem Compiler deutlich langsamer macht. Der Vorteil ist jedoch, dass Anweisungen interaktiv hinzugefügt oder verändert werden können und diese direkt ohne zusätzliche Eingriffe durchgeführt werden können. Interpreter sind deutlich langsamer als Compiler, da jede Anweisung neu analysiert werden muss wenn sie ausgeführt werden soll.
  • Assembler: Der Assembler kann als Übersetzer in die Maschinensprache betrachtet werden. Er verarbeitet also den generierten Objectcode des Compilers oder Interpreters.
  • Linker: Der Linker verbindet eine Menge kompilierte Programme zu einem Paket, das dann später im Hauptspeicher ausgeführt werden kann.
  • Debugger: Mit dem Debugger lassen sich sogenannte Unterbrechungspunkte (Breakpoints) definieren, die ein Programm ab einer bestimmten Stelle ausführen und dem Benutzer bei der Fehlersuche/ Fehlerbehebung helfen sollen. Man kann mit hilfe von Breakpoints schrittweise durch ein Programmablauf wandern.

Das Betriebssystem als Softwarekategorie:

Wie wir schon wissen sitzt das Betriebssystem sehr nahe auf der Hardware (siehe Schaubild). Es ist also dem Benutzer deutlich ferner. Nun versuchen wir das Betriebssystem zu definieren. Was sind die Aufgaben eines Betriebssystems ?

  • Koordination von zahlreichen Prozessen während der Laufzeit
  • scheduler: Einreihung von Ausführung von Jobs
  • Ort an dem Programme geladen, verwahrt und ausgeführt werden
  • Eingabe- und Ausgabegeräte, die sich am Computer befinden verwalten und managen

Merke: Die Software, die zur Verwaltung der Computer Betriebsmittel, der Computer Benutzer und der Computer Aufträge verantwortlich ist, nennt man Betriebssystem.

Was sind nun Betriebsmittel?

Hardware Betriebsmittel: Prozessor,Hauptspeicher, Hintergrundspeicher (Festplatte und andere Speichermedien), E/A Geräte (Maus, Tastatur, Bildschirm)

Software Betriebsmittel: Anwender, Daten, betriebssystemnahe Software (Benutzerprogramme)