Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Überblick über Betriebssysteme

Ähnliche Präsentationen


Präsentation zum Thema: "Überblick über Betriebssysteme"—  Präsentation transkript:

1 Überblick über Betriebssysteme
Kapitel 2

2 Betriebssysteme Ist ein Programm, das die Ausführung von Anwendungsprogrammen steuert Dient als Schnittstelle zwischen den Anwendungen und der Computerhardware.

3 Zielen von Betriebssysteme
Bequemlichkeit Ein Computer kann bequemer benutzt werden. Effizienz Computersystemressourcen können effizient genutzt werden. Fähigkeit zur Weiterentwicklung Ermöglicht die effektive Entwicklung, das Testen und die Einführung neuer Systemfunktionen, ohne das dies den Betrieb negativ beeinflusst.

4 Schichten und Ansichten eines Computersystems

5 Dienste die ein Betriebssystem anbietet.
Programmentwicklung Editoren und Debugger Programmausführung Zugriff auf E/A-Geräte Kontrollierter Zugriff auf Dateien Systemzugriff

6 Dienste die ein Betriebssystem anbietet
Fehlererkennung und Reaktion auf Fehler Interne und externe Hardwarefehler Speicherfehler Ausfall von Geräte Softwarefehler arithmetischer Überlauf Zugriff auf geschützte Speicherzellen Betriebssystem kann einer Anforderung einer Anwendung nicht nachkommen.

7 Dienste die ein Betriebssystem anbietet
Buchführung stellt Nutzungsstatistiken auf Leistungen überwachen Nützlich, um die Notwendigkeit zukünftiger Erweiterungen abschätzen zu können. Kann zu Abrechnungszwecken verwendet werden.

8 Betriebssystem Funktioniert auf die gleiche Art und Weise wie normale Computersoftware es ist ein Programm das durch den Prozessor ausgeführt wird. Das Betriebssystem gibt die Kontrolle häufig ab und ist darauf angewiesen dass der Prozessor es ihm ermöglicht die Kontrolle zurück zu erlangen.

9

10 Kernel Teil des Betriebssystem welcher sich im Hauptspeicher befindet.
Umfasst die am häufigsten verwendeten Funktionen auch bezeichnet als Betriebssystemkern

11 Fähigkeit zur Weiterentwicklung
Hardwareupgrades und neue Hardwaretypen Neue Dienste Reparaturen (fixes)

12 Entwicklungsgeschichte der Betriebssysteme
Serielle Verarbeitung Kein Betriebssystem (50er Jahren) Rechner wurden von einer Konsole aus gestartet, die Kontrollleuchten, Kippschalter, Eingabegeräte (Lochkartenleser) und Drucker umfasste. Reservierungsterminkalender auf Papier Für einen einzelnen Programmlauf, konnte es notwendig sein, einen Compiler, Quellprogramm, zu laden. Das kompilierte Programm zu sichern, usw.

13 Entwicklungsgeschichte der Betriebssysteme
Einfache Stapelbetriebssysteme Monitor Benutzer hat keinen direkter Zugriff auf den Rechner Der Monitor steuert die Sequence der Ereignisse Jobs werden vom Operator aufeinander gestapelt Nach Programmbeendigung wird zum Monitor zurück verzweigt Ein Teil, der Residenter Monitor, befindet sich stets im Hauptspeicher

14 Jobsteuersprache Job Control Language (JCL)
Eine spezielle Art von Programmier-sprache. Stellt dem Monitor Befehle zur Verfügung der Compiler der geladen werden soll Die Daten die vom Programm verwendet werden sollen

15 Hardwaremerkmale Speicherschutz
Ein Benutzerprogramm darf den Speicherbereich, der den Monitor enthält, nicht verändern. Timer: Der wird verwendet um einzelne Jobs daran zu hindern, das System für sich alleine auf Dauer in Beschlag zu nehmen.

16 Einprogrammbetrieb Prozessor muss mit der Ausführung warten auf den E/A-Befehlsablauf.

17 Mehrprogrammbetrieb Während ein Job auf die E/A wartet, kann der Prozessor zu dem anderen Job umschalten

18 Mehrprogrammbetrieb

19

20 Beispiel JOB1 JOB2 JOB3 Art des Jobs umfangreiche umfangreiche umfangreiche Berechnungen E/A E/A Dauer 5 min. 15 min. 10 min. Speicherbedarf 50K 100 K 80 K Festplatte? No No Yes Terminal? No Yes No Drucker? No No Yes

21 Auswirkung des Mehrprogramm-betriebs auf die Ressourcennutzung
Uniprogramming Multiprogramming Prozessornutzung 22% 43% Speichernutzung 30% 67% Festplattennutzung 33% 67% Druckernutzung 33% 67% Zeitaufwand 30 min. 15 min. Durchsatzrate 6 jobs/hr 12 jobs/hr Mittlere Antwortzeit 18 min. 10 min.

22 Timesharing Mehrprogrammbetrieb für die Abarbeitung mehrere interaktive Jobs. Die Zeit des Prozessors wird auf mehrere Benutzer verteilt. Mehrere Benutzer greifen gleichzeitig über Terminals auf das System zu.

23 Stapelmehrprogrammbetrieb im Vergleich mit Timesharing
Stapelmehrprogramm-betreib Time Sharing Hauptziel Maximierung der Prozessorausnutzung Minimierung der Antwortzeit Anweisungsquelle für das Betriebssystem Befehle in Jobsteuerungs-sprache, die mit dem Job bereitgestellt werden Befehle, die am Terminal eingegeben werden

24

25 Wichtige Errungenschaften
Prozesse Speicherverwaltung Informationsschutz und Sicherheit Ablaufplanung und Ressourcen-verwaltung Systemstruktur

26 Prozesse Ein Programm in der Ausführung
Eine Instanzierung eines Programms, welches auf einem Prozessor ausgeführt werden kann Die Einheit, die einem Prozessor zugeteilt und auf einem Prozessor ausgeführt werden kann Eine Aktivitätseinheit, die durch einen einzigen sequentiellen Ausführungs-Thread, einen aktuellen Status und einen zugehörigen Satz Systemressourcen gekennzeichnet wird

27 Hauptursachen für Programmierfehler in der Entwicklung der Systemsoftware
Falsche Synchronisation Das Betriebssystem muss gewährleisten dass ein Prozess, das auf ein E/A-Gerät wartet auch das Signal empfangen wird. Fehlgeschlagener gegenseitiger Ausschluss Nichtdeterministischer Programmbetrieb Ergebnisse sollten nur von der Eingabe und nicht von den Aktivitäten andere Programme abhängen Verklemmungen (Deadlocks)

28 Prozess Besteht aus drei Komponenten Ein ausführbares Programm
Die zugehörige Daten, die das Programm benötigt Den Ausführungskontext des Programms Alle Informationen, die das Betriebssystem braucht, um den Prozess zu verwalten

29 Prozess

30 Speicherverwaltung Prozessisolierung
Automatische Zuordnung und Verwaltung Unterstützung der modularen Programmierung Schutz und Zugriffskontrolle Langzeitspeicher

31 Virtueller Speicher Es ermöglicht den Programmen, den Speicher von einem logischen Standpunkt aus anzusprechen Bei der Ausführung aufeinander folgender Prozesse kommt es zu keiner Unterbrechung, wenn ein Prozess auf den Sekundärspeicher ausgelagert und der nachfolgende Prozess eingelesen wird

32 Paging Paging ermöglicht es, Prozesse aus einer Anzahl von Blöcken mit fester Grösse, genannt Seiten, zu bilden Eine virtuelle Adresse besteht aus einer Seitenzahl und einem Offset innerhalb der Seite Die einzelnen Seiten können im Hauptspeicher beliebig angeordnet sein Das Paging-System sorgt für eine dynamische Abbildung der virtuellen oder logische Adressen und der realen Adressen, oder physikalische Adressen

33

34 Adressierung beim virtuellen Speicher

35 Ablaufplanung und Ressourcenverwaltung
Fairness allen Prozessen ungefähr den gleichen und fairen Zugriff geben Differenzierte Ansprechempfindlichkeit muss zwischen unterschiedlichen Jobklassen unterscheiden Effizienz den Durchsatz maximieren, die Antwortzeit minimieren, so viele Benutzer wie möglich bedienen

36 Hauptelementen eines Betriebssystems

37 Systemstruktur Wir können das Betriebssystem als eine Reihe von Ebenen betrachten Jede Ebene führt einen zugeordneten Teil an Funktionen aus Die einzelnen Ebenen verlassen sich für die Durchführung einfacher Funktionen auf die nächst tiefere Ebene Ein Problem wird so in eine Reihe von leichter zu handhabenden Teilproblemen aufgespaltet

38 Hierarchie eines Betriebssystems
Ebene Name Objekte Beispieloperationen 13 Shell Benutzerprogrammier- Aussagen in Shell-Sprache umgebung 12 Benutzerprozesse Benutzerprozesse Beenden, Löschen, Unterbrechen, Wiederaufnehmen 11 Verzeichnisse Verzeichnisse Erstellen, Löschen, Anhängen, Ablösen, Suchen, Auflisten 10 Geräte Externe Geräte, wie Öffnen, Schließen, Lesen, Drucker, Tastaturen Schreiben und Anzeigegeräte 9 Dateisystem Dateien Erstellen, Löschen, Öffnen Schließen, Lesen, Schreiben 8 Kommunikation Kanäle (Pipes) Erstellen, Löschen, Öffnen

39 Hierarchie eines Betriebssystems
Ebene Name Objekte Beispieloperationen 7 Virtueller Speicher Segmente, Seiten Lesen, Schreiben, Aufrufen 6 Lokaler Sekundär- Datenblöcken, Geräte- Lesen, Schreiben, Zuweisen, Speicher kanäle Freigeben 5 Einfache Prozesse Einfach Prozesse, Unterbrechen, Wiederauf- Semaphore, Bereit- nehmen, Warten, schaftslisten Signalisieren

40 Hierarchie eines Betriebssystems
Ebene Name Objekte Beispieloperationen 4 Interrupts Interrupt-Steuer- Aufrufen, Verdecken, Auf programme decken, erneuter Versuch Prozeduren Prozeduren, Aufruf-, Stapelmarkierung, Aufruf, stapel, Anzeige Rücksprung 2 Befehlssatz Auswertungsstapel, Laden, Speichern, Microprogrammüber-, Addieren, Subtrahieren, setzer, Skalar- und Verzweigen Felddaten 1 Elektronische Register, Gatter, Busse, Löschen, Übertragen, Schaltungen usw Aktivieren, Vervollständigen

41 Merkmale moderner Betriebsysteme
Mikrokernel-Architektur Hierbei werden dem Kernel nur einige wesentliche Elemente zugeordnet Unterstützung von Adressräumen Interprozesskommunikation (IPC) Grundlegendes Scheduling

42 Merkmale moderner Betriebsysteme
Multithreading ein Prozess wird in mehrere Threads aufgeteilt die nebenläufig ausgeführt werden können Thread Eine Arbeitseinheit, die sich per Dispatcher zuordnen lässt wird sequentiell ausgeführt und kann unterbrochen werden Prozess: Ein oder mehrere Threads mit dazugehörenden Systemressourcen

43 Merkmale moderner Betriebsysteme
Symmetrischer Mehrprozessorbetrieb es sind mehrere Prozessoren vorhanden Diese Prozessoren teilen sich denselben Hauptspeicher, dieselben E/A-Geräte und sind durch einen Kommunikationsbus miteinander verbunden Alle Prozessoren können dieselben Funktionen ausführen

44 Merkmale moderner Betriebsysteme
Verteilte Betriebssysteme Schafft die Illusion eines einzigen Hauptspeicherraums und eines einzigen Sekundärspeicherraums wie z.B. ein System für verteilte Dateien

45 Merkmale moderner Betriebsysteme
Objektorientierter Aufbau Ermöglicht das disziplinierte Hinzufügen von modularen Erweiterungen zu einem kleinen Kernel Ermöglicht den Programmierern, ein Betriebssystem ohne Zerschlagung der Systemintegrität nach Maß zuzuschneidern

46 Windows 2000 Nutzt die Verarbeitungsfähigkeiten heutiger 32-Bit-Mikroprozessoren aus Es handelt sich um ein Multitasking-Betriebssystem, obwohl es nach wie vor für die Unterstützung eines einzelne interaktiven Benutzers gedacht ist. Client/Server System

47 Windows 2000 Architektur Modularer Aufbau verleiht ein hohes Maß an Flexibilität Läuft auf einer Vielzahl von Hardwareplattformen (??) Unterstützt Anwendungen, die für eine Vielzahl anderer Betriebssysteme geschrieben wurden

48 Betriebssystemaufbau
Modifizierte Mikrokernel-Architektur Nicht ein reiner Mikrokernel (denn) Viele Systemfunktionen laufen außerhalb des Mikrokernels im Kernel-Modus Jedes Modul kann entfernt, aufgerüstet oder ausgetauscht werden, ohne dass das gesamte System neu geschrieben werden muss

49

50 Client/Server-Modell
Vereinfacht die Executive es ist möglich eine Vielzahl von APIs zu konstruieren Verbessert die Zuverlässigkeit Jedes Executive-Service-Modul läuft geschützt mit einer eigenen Speicherpartition Clients können nicht direkt auf die Hardware zugreifen Bietet eine passende Grundlage für die verteilte Verarbeitung in Computernetzen

51 Threads and SMP Unterschiedliche Routinen können simultan auf unterschiedlichen Prozessoren laufen Mehrere Threads desselben Prozesses können gleichzeitig auf verschiedenen Prozessoren ausgeführt werden Server-Prozesse können mehrere Threads einsetzen Gemeinsame Nutzung von Daten und Ressourcen durch Prozesse

52 UNIX Die zugrunde liegende Hardware ist von der Betriebssystemsoftware umgeben Das Betriebssystem wird als System-Kernel bezeichnet Unix ist zusätzlich mit einer Reihe von Benutzerdiensten und Schnittstellen ausgestattet, die auch als Teil des Systems angesehen werden shell C compiler

53 UNIX

54 Modern UNIX Systeme System V Release 4 (SVR4) Solaris 2.x HPux 4.4BSD
Linux

55 Unix-Geschichte


Herunterladen ppt "Überblick über Betriebssysteme"

Ähnliche Präsentationen


Google-Anzeigen