Betriebsystem: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
Zeile 28: Zeile 28:
  
 
=Aufgaben des Betriebssystemkerns=
 
=Aufgaben des Betriebssystemkerns=
 
+
==Prozessverwaltung  (dispatching and scheduling)==
{| Border=1 Cellpadding=2
+
*Mehrere Benutzer können mit mehreren Aktionen gleichzeitig im System arbeiten, ohne sich gegenseitig zu beeinflussen.  
|Prozessverwaltung  (dispatching and scheduling)
+
*Damit dies möglich ist,  müssen die Aktionen organisiert, koordiniert und verwaltet werden.
| 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.
+
*Die zu verwaltende Einheit nennt man Prozess.
|-
+
==Speicherverwaltung  (memory management)==
|Speicherverwaltung  (memory management)
+
*Zuteilen von Speicherbereichen an laufende Prozesse, Schutz der Speicherbereiche vor unbefugten Zugriffen, bei Speicherengpässen
|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).
+
*Auslagern von ganzen (swapping) oder von Teilen (paging) von Prozessen auf die Platte (swap file).
|-
+
==Dateiverwaltung  (file handling)==
|Dateiverwaltung  (file handling)
+
*Zuteilung von Plattenplatz für Programme, Benutzer und Systemdienste, Schreiben, Lesen und Strukturieren der Daten auf den Massenspeichern
|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.
+
*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)==
|Geräteverwaltung  (resource management)
+
*Der Kern ermöglicht und kontrolliert den Zugriff auf die Hardware.
|Der Kern ermöglicht und kontrolliert den Zugriff auf die Hardware. Er steuert die Ein- und Ausgabetätigkeiten der Anwender. An den Kern
+
*Er steuert die Ein- und Ausgabetätigkeiten der Anwender.  
gebunden sind die entsprechenden Gerätetreiber (device driver), die damit eine Kommunikation zwischen Kern und Hardware ermöglichen.
+
*An den Kern gebunden sind die entsprechenden Gerätetreiber (device driver), die damit eine Kommunikation zwischen Kern und Hardware ermöglichen.
|}
+
=SHELL=
 
+
*Wenn man mit Linux arbeiten will, kann man nicht direkt mit dem Betriebssystem kommunizieren.  
===Multitasking===
+
*Man braucht dazu ein Hilfsprogramm, welches die Kommandoeingaben ordnungsgemäß an das Betriebssystem weiterleitet.
 
+
*Dieses Hilfsprogramm hat den Namen Shell.
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===
 
 
 
{|Border=1 Cellpadding=2
 
|
 
|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.
 

Aktuelle Version vom 14. November 2022, 13:16 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.

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.