Überblick über Betriebssysteme

Slides:



Advertisements
Ähnliche Präsentationen
Be.as WEB Technologie
Advertisements

DATEN (INFORMATIONEN) KENNTNISSE ÜBER EINE BESTIMMTE ERSCHEINUNG
Computersysteme in Überblick
4.5 Virtueller Speicher Problemsituation: Programme und Daten sind zu groß für den verfügbaren Arbeitsspeicher Frühere Lösung Aufspaltung der Programme.
Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an:
Beim Start eines Prozesses in Windows NT, 2000 wird a der Programmtext aus der exe-Datei ab der dort angegebenen Adresse gespeichert.
Informatik 12 | DAES Compilerbau Wintersemester 2010 / 2011 Dr. Heiko Falk Technische Universität Dortmund Lehrstuhl Informatik 12 Entwurfsautomatisierung.
Datenbanken Einführung.
Betriebssysteme.
Informatik Tagesprotokoll vom
Systemverwaltung wie es Ihnen gefällt.
Objektorientierte Programmierung
Enno Rehling und Roger Butenuth, Uni-GH Paderborn: Arminius: Software für Linux-basierte SCI-Cluster Arminius: Software für Linux-basierte SCI-Cluster.
SAP R/3 - Speichermanagement
Netzwerke im Dialogmarketing
Netzwerke im Dialogmarketing
Netzwerke im Dialogmarketing
Zentraleinheit CPU, Motherbord, RAM
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Zentraleinheit CPU, Motherbord, RAM
WS 2009/10 1 Systeme 1 Kapitel 1 Aufbau von Rechnern.
Funktionsmerkmale und Vorteile Die Intel Core i7 Prozessoren der zweiten Generation verfügen über folgende Funktionsmerkmale: Die Intel® Turbo-Boost-Technik.
Dynamischer Speicher. In einer Funktion wird z.B. mit der Deklaration int i; Speicher auf dem sogenannten Stack reserviert. Wenn die Funktion verlassen.
Client-Server-Architekturen
Lokale und globale Netzwerke
7 Verteilungsabstraktion
Haupt- und Arbeitsspeicher
Introducing the .NET Framework
Access 2000 Datenbanken.
Sicher durchs Internet
Universeller Sequenzer für das CS Framework Inhalt 1.Zielsetzung 2.Anforderungen 3.Die Sequenzer-Klassenbibliothek.
Referat zum Thema „DLL“
Distributed Multimedia Control Steuerung und Überwachung von Präsentationen in Netzwerken.
Viren Würmer und Trojaner
Speicherverwaltung durch Swapping
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Was ist ein Betriebssystem?
Einführung in betriebssysteme
Vorteile eines lokalen Netzwerks?
Systeme 1 Kapitel 4 Prozesse WS 2009/10.
Betriebssystem Linux Von Sofia & Yasemin WG 12/3.
Betriebssysteme allgemein
Präsentation von Alexander Schönfeld
Software und Programme
Das Betriebssystem.
Betriebssysteme & BIOS
Wichtige Errungenschaften
Präsentation von Lukas Sulzer
© Gabriele Sowada © Gabriele Sowada 2 Emulation Emulation der Siemens 2002 auf dem PC unter Windows von Volker Dahrendorf Für alle.
Herzlich Willkommen zu meiner Präsentation
Betriebssysteme Übung Tutorium „System Calls & Multipgrogramming“
Netzwerke.
Systemsoftware und Betriebssysteme
Von Florian, Patrick, Alexander und Heiko
Grundlagen, Prinzipien und Aufgaben eines Betriebssystems
Grundlagen, Prinzipien und Aufgaben eines Betriebssystems
Autor: Timo Pagel Nutzung: Diese Lernkarten sind für die Nutzung mit OpenCards gedacht Siehe dazu
Betriebssysteme: Windows-OS
Lokale Netze.
2.3 Implementierung von Prozessen
Universität zu Köln WS 2012/13 Seminar: IT-Zertifikat der Phil.-Fak.: Allgemeine Informationstechnologien I Dozentin: Susanne Kurz M.A. Referenten: Irina.
Medizinische Statistik und Informationsverarbeitung Goldschmidt, Quade, Baur Institut für Medizinische Statistik, Dokumentation und Datenverarbeitung.
1 Vorlesung 6 Peter B. Ladkin Single- und Multitasking Peter B. Ladkin
Lisa Huber DHBW Mannheim
Ein kleiner Einblick für Anfänger
Betriebssysteme Was ist ein BS?
Betriebssysteme allgemein
Betriebssysteme: Theorie
Multiprocessing mit OpenMPI Marius Albath. Vorlesung Betriebssysteme, Was ist OpenMPI Was ist OpenMPI OpenMPI Standard Setup OpenMPI Standard.
 Präsentation transkript:

Überblick über Betriebssysteme Kapitel 2

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

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.

Schichten und Ansichten eines Computersystems

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

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.

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.

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.

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

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

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.

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

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

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.

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

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

Mehrprogrammbetrieb

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

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.

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.

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

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

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

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)

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

Prozess

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

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

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

Adressierung beim virtuellen Speicher

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

Hauptelementen eines Betriebssystems

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

UNIX

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

Unix-Geschichte