Betriebsystem: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 27: Zeile 27:
  
  
Aufgaben des Betriebssystemkerns:
+
=Aufgaben des Betriebssystemkerns=
  
 
{| Border=1 Cellpadding=2
 
{| Border=1 Cellpadding=2

Version vom 14. November 2022, 13:12 Uhr

Was ist ein Betriebssystem?

  • Ein Betriebssystem liegt logisch gesehen zwischen Anwendungsprogramm und Hardware.
  • Es nimmt die Anforderungen der Anwendungsprogramme entgegen und leitet diese kontrolliert an die Hardware weiter.
  • Kein Anwendungsprogramm sollte direkt auf die Hardware zugreifen können.
  • Den zentralen Zugang schafft einzig das Betriebssystem.
  • Somit kann das Betriebssystem unsinnige Anforderungen oder Bedienungsfehler abblocken.

Aufgaben eines Betriebssystems

  • Verbergen der Komplexität der Maschine vor dem Anwender (Abstraktion)
  • Bereitstellen einer Benutzerschnittstelle ("Kommandointerpreter", "Shell")
  • Bereitstellen einer normierten Programmierschnittstelle (API)
  • Verwaltung der Ressourcen der Maschine::
    • Hauptspeicher
    • Prozessor(en)
    • Hintergrundspeicher (Platte, Band, etc.)
    • Geräte (Terminal, Drucker, Plotter, etc.)
    • Rechenzeit
    • Koordination von Prozessen

Aufbau eines Betriebssystems

  • Ein Rechensystem besteht aus Hardware, Systemprogrammen und Anwendungs programmen.
  • Unter einem Betriebssystem wird meist die Summe aus Betriebssystemkern (Kernel) und den wichtigsten Systemprogrammen verstanden.
  • Einminimaler LINUX-Kernel besitzt ungefähr eine Größe von 400 - 800 kByte.
  • Weitere wichtige Systemkomponenten benötigen zusätzlich 10 - 100 Mbyte Plattenplatz.
  • Ein Betriebssystem stellt den Rechner als erweiterte Maschine (virtuelle Maschine) über definierte Software-Schnittstellen zur Verfügung.
  • Das Betriebssystem dient als Betriebsmittelverwalter, der Anforderungen befriedigt, protokolliert, abrechnet und vermittelt.


Aufgaben des Betriebssystemkerns

Prozessverwaltung (dispatching and scheduling) Mehrere Benutzer können mit mehreren Aktionen gleichzeitig im System arbeiten, ohne sich gegenseitig zu beeinflussen. Damit dies möglich ist, müssen die Aktionen organisiert, koordiniert und verwaltet werden. Die zu verwaltende Einheit nennt man Prozess.
Speicherverwaltung (memory management) Zuteilen von Speicherbereichen an laufende Prozesse, Schutz der Speicherbereiche vor unbefugten Zugriffen, bei Speicherengpässen: Auslagern von ganzen (swapping) oder von Teilen (paging) von Prozessen auf die Platte (swap file).
Dateiverwaltung (file handling) Zuteilung von Plattenplatz für Programme, Benutzer und Systemdienste, Schreiben, Lesen und Strukturieren der Daten auf den Massenspeichern; Durch Bereitstellung einer entsprechenden Schnittstelle (VFS, virtual file system) kann der Kern Dateisysteme unterschiedlichster Art (EXT2, FAT, NFS, HPFS, NTFS, ...) ansprechen.
Geräteverwaltung (resource management) Der Kern ermöglicht und kontrolliert den Zugriff auf die Hardware. Er steuert die Ein- und Ausgabetätigkeiten der Anwender. An den Kern

gebunden sind die entsprechenden Gerätetreiber (device driver), die damit eine Kommunikation zwischen Kern und Hardware ermöglichen.

Multitasking

Multitasking bedeutet, dass ein Rechner aus Anwendersicht mehrere Aufgaben (Tasks) gleichzeitg übernehmen kann. Das Betriebssystem (OS) unterteilt die gleichzeitig anstehenden Aufgaben in Einzelarbeitsschritte (Prozesse) und managed durch ein Zeitscheibenverfahren (scheduling) die gleichmäßige Abarbeitung der Prozesse.

Es wird unterschieden zwischen:

  • non-präamptiven (kooperativen=die Ressourcen werden vom aktiven Prozess freigegeben, bei einem Hänger steht das ganze System)

und

  • präamptiven (reinem=der Betriebssystemkern steuert Taskwechsel, indem nach einer festgelegten Zeit vom gerade aktiven Prozess zum nächsten weitergeschaltet wird)

Mehrprozessorbetrieb

Bei mehreren Prozessoren und Unterstützung durch das OS (NT,Linux,Unix,Novell) können mehrere Tasks auf diese verteilt werden und gleichzeitig bearbeitet werden. Nachteilig ist, dass dies nicht oder kaum von Anwendungsprogrammen unterstützt wird und es zu Kommunikationsproblemen zwischen den einzelnen Tasks kommen kann.

Arten von von Betriebssystemen

SingleUser Multiuser
Single Tasking MS - DOS
Multi Tasking Windows 3.x UNIX
Windows 95/98 Linux
Windows NT4 ohne Erweiterungen VMS
OS/2 Windows NT mit Erweiterungen
Apple Windows 2000, XP, 2003

SHELL

Wenn man mit Linux arbeiten will, kann man nicht direkt mit dem Betriebssystem kommunizieren. Man braucht dazu ein Hilfsprogramm, welches die Kommandoeingaben ordnungsgemäß an das Betriebssystem weiterleitet. Dieses Hilfsprogramm hat den Namen Shell.

Die Shell schirmt den Betriebssystemkern von den Anwendungsprogrammen ab. Die unterschiedlichen Shells erfüllen alle dieselbe Aufgabe, sie unterscheiden sich allerdings in ihrer Syntax.