Grundlagen der Software und Programmierung

Eingeordnet in Informatik

Geschrieben am in Deutsch mit einer Größe von 3,58 KB

Software-Eigenschaften

  • Es ist immateriell.
  • Es unterliegt keinem Verschleiß und wird nicht zerstört.
  • Software wird kontinuierlich entwickelt.
  • In jedem Programm gibt es viele Kopien; tritt ein Fehler auf, erscheint er in allen Kopien.

Systemsoftware

Die Systemsoftware besteht aus Programmen und Anwendungen, die keinen spezifischen Zweck für den Benutzer haben, und vermeidet die Komplexität der direkten Verwaltung von Hardwarekomponenten.

Anwendungssoftware

Anwendungssoftware umfasst Programme, die Aufgaben für Benutzer mit einem bestimmten Zweck erfüllen, wie z. B. Textverarbeitungsprogramme.

Das Betriebssystem

Das Betriebssystem ist ein Programm, das die Kommunikation zwischen Computer und Anwender erleichtert und eine Plattform für Anwendungsprogramme bietet. Zu den Hauptaufgaben gehören:

  • Verhinderung des direkten Zugriffs der Benutzer auf Hardwarekomponenten.
  • Bereitstellung einer Benutzeroberfläche.
  • Verwaltung der Hardware, Programme und Benutzer als Vermittler.
  • Verwaltung von Dateisystemen und Festplatten.
  • Effiziente Verwaltung von Prozessor und Hauptspeicher.
  • Verwaltung von Benutzerkonten.

Prozesse und Prozessorverwaltung

Bei interaktiven Prozessen ist der Zeitanteil für Ein- und Ausgaben im Vergleich zur Prozessorzeit sehr hoch. Das Betriebssystem nutzt dies, um die Prozessorauslastung effizient zu steuern.

Ein Computer mit einem einzelnen Prozessor (Uniprozessor) kann mehrere Prozesse gleichzeitig ausführen (Multiprocessing). Zudem können mehrere Benutzer gleichzeitig arbeiten. Es gibt auch Multi-Prozessor-Systeme (z. B. Supercomputer), die tausende Anwender sehr schnell bedienen können.

Prozessverwaltung

Das Problem der Aufteilung der CPU-Zeit zwischen Prozessen wird durch das Betriebssystem gelöst. Wenn ein Prozess sein "Quantum" erfüllt hat, wird die CPU für einen anderen Prozess freigegeben. Zur Speicherverwaltung werden Mechanismen wie Verdichtung des Hauptspeichers, Segmentierung und Paging eingesetzt.

Programmiersprachen

Eine Programmiersprache ist eine Reihe von Symbolen sowie syntaktischen und semantischen Regeln. Der Prozessor versteht nur Maschinenbefehle (Nullen und Einsen). Bei Assemblersprachen wird der Opcode durch eine Gedächtnisstütze ersetzt. Ein Assembler-Befehl entspricht einem Maschinencode-Befehl, außer bei Makros.

Hochsprachen

Hochsprachen verwenden Anweisungen, die näher an der natürlichen Sprache liegen, was die Lesbarkeit erhöht und Fehler reduziert. Sie arbeiten mit Variablen statt mit Speicheradressen. Bekannte Beispiele sind Fortran. Programme müssen in Maschinencode übersetzt werden, sind aber oft maschinenunabhängig.

Übersetzer: Interpreter und Compiler

Der Übersetzungsprozess umfasst lexikalische, syntaktische und semantische Analyse.

  • Interpreter: Führen Analyse und Übersetzung schrittweise aus. Sie speichern keine übersetzte Version und müssen bei jedem Ausführen erneut analysieren.
  • Compiler: Analysieren das gesamte Programm. Bei Fehlern wird der Prozess gestoppt. Bei Erfolg wird eine ausführbare Datei erstellt, die ohne erneute Übersetzung ausgeführt werden kann.
  • Hybrid-Compiler: Ziel ist die Ausführung auf verschiedenen Computern über einen "Zwischencode" (z. B. Java).

Verwandte Einträge: