Betriebsystem: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 5: Zeile 5:
 
*Den zentralen Zugang schafft einzig das Betriebssystem.  
 
*Den zentralen Zugang schafft einzig das Betriebssystem.  
 
*Somit kann das Betriebssystem unsinnige Anforderungen oder Bedienungsfehler abblocken.
 
*Somit kann das Betriebssystem unsinnige Anforderungen oder Bedienungsfehler abblocken.
[[Image:Linux.jpg]]
+
{{#drawio:os-1}}
 +
 
 
=Aufgaben eines Betriebssystems=
 
=Aufgaben eines Betriebssystems=
 
*Verbergen der Komplexität der Maschine vor dem Anwender (Abstraktion)
 
*Verbergen der Komplexität der Maschine vor dem Anwender (Abstraktion)
Zeile 11: Zeile 12:
 
*Bereitstellen einer normierten Programmierschnittstelle (API)
 
*Bereitstellen einer normierten Programmierschnittstelle (API)
 
*Verwaltung der Ressourcen der Maschine::
 
*Verwaltung der Ressourcen der Maschine::
Hauptspeicher
+
**Hauptspeicher
Prozessor(en)
+
**Prozessor(en)
Hintergrundspeicher (Platte, Band, etc.)
+
**Hintergrundspeicher (Platte, Band, etc.)
Geräte (Terminal, Drucker, Plotter, etc.)
+
**Geräte (Terminal, Drucker, Plotter, etc.)
Rechenzeit
+
**Rechenzeit
Koordination von Prozessen
+
**Koordination von Prozessen
 
+
=Aufbau eines Betriebssystems=
===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.
Ein Rechensystem besteht aus Hardware, Systemprogrammen und Anwendungs-
+
*Einminimaler LINUX-Kernel besitzt ungefähr eine Größe von 400 - 800 kByte.
programmen. Unter einem Betriebssystem wird meist die Summe aus Betriebs-
+
*Weitere wichtige Systemkomponenten benötigen zusätzlich 10 - 100 Mbyte Plattenplatz.
systemkern (Kernel) und den wichtigsten Systemprogrammen verstanden. Ein
+
*Ein Betriebssystem stellt den Rechner als erweiterte Maschine (virtuelle Maschine) über definierte Software-Schnittstellen zur Verfügung.
minimaler LINUX-Kernel besitzt ungefähr eine Größe von 400 - 800 kByte.
+
*Das Betriebssystem dient als Betriebsmittelverwalter, der Anforderungen befriedigt, protokolliert, abrechnet und vermittelt.
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:
 
 
 
{| Border=1 Cellpadding=2
 
|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===
 
 
 
{|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.
+
=Aufgaben des Betriebssystemkerns=
Die unterschiedlichen Shells erfüllen alle dieselbe Aufgabe, sie unterscheiden sich
+
==Prozessverwaltung  (dispatching and scheduling)==
allerdings in ihrer Syntax.
+
*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.

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.