Betriebssysteme (1) Ziele und Funktionen von Betriebssystemen. Bequemlichkeit Durch ein Betriebssystem kann ein Computer bequemer genutzt werden



Ähnliche Dokumente
Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Systeme 1. Kapitel 10. Virtualisierung

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Lösungsskizzen zur Abschlussklausur Betriebssysteme

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant?

Tipps und Tricks zu Netop Vision und Vision Pro

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

William Stallings. Betriebssysteme. Prinzipien und Umsetzung. 4., überarbeitete Auflage. Pearson Studium

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

Lizenzen auschecken. Was ist zu tun?

SharePoint Demonstration

Verwendung des Terminalservers der MUG

Whitepaper. Produkt: combit Relationship Manager / address manager. Dateiabgleich im Netzwerk über Offlinedateien

4D Server v12 64-bit Version BETA VERSION

Datensicherung. Beschreibung der Datensicherung

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Durchführung der Datenübernahme nach Reisekosten 2011

PowerPoint 2010 Mit Folienmastern arbeiten

Orlando-Archivierung

Buddy - Algorithmus Handbuch für Endnutzer Stand

Online-Prüfungs-ABC. ABC Vertriebsberatung GmbH Bahnhofstraße Neckargemünd

Anhang zum Handbuch. Netzwerk

Leitfaden zur Durchführung eines Jahreswechsels in BüroWARE 5.x

efa elektronisches Fahrtenbuch im Berliner Ruder-Club

Quickstep Server Update

Live Online Training der Bremer Akademie für berufliche Weiterbildung. Hinweise für den Verbindungaufbau zu den Systemen der Bremer Akademie

Grundlagen verteilter Systeme

EasyWk DAS Schwimmwettkampfprogramm

Schulberichtssystem. Inhaltsverzeichnis

Dämon-Prozesse ( deamon )

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

OPERATIONEN AUF EINER DATENBANK

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

Leitfaden zur Installation von Bitbyters.WinShutdown

Aufruf der Weboberflache des HPM- Warmepumpenmanagers aus dem Internet TIPPS

iphone-kontakte zu Exchange übertragen

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

SANDBOXIE konfigurieren

5 Speicherverwaltung. bs-5.1 1

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

VIDA ADMIN KURZANLEITUNG

SDD System Design Document

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

3 ORDNER UND DATEIEN. 3.1 Ordner

Benutzerverwaltung Business- & Company-Paket

Anleitung zum Login. über die Mediteam- Homepage und zur Pflege von Praxisnachrichten

Blacktip-Software GmbH. FVS. Fahrschul-Verwaltungs-System. Umstieg von V3 auf V4

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein

Sichern der persönlichen Daten auf einem Windows Computer

Installation OMNIKEY 3121 USB

Stammdaten Auftragserfassung Produktionsbearbeitung Bestellwesen Cloud Computing

Softwarelösungen: Versuch 4

Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.

DB2 Kurzeinführung (Windows)

How to do? Projekte - Zeiterfassung

Formular»Fragenkatalog BIM-Server«

Einführung in PHP. (mit Aufgaben)

PHP Kurs Online Kurs Analysten Programmierer Web PHP

Dokumentenverwaltung. Copyright 2012 cobra computer s brainware GmbH

TeamSpeak3 Einrichten

Virtuelle Tastatur 1.0 DEUTSCHES HANDBUCH

Stapelverarbeitung Teil 1

Datenträgerverwaltung

DVD Version 9.1. Netzwerkinstallation + VDE-Admin-Tool.

Windows 10. Vortrag am Fleckenherbst Bürgertreff Neuhausen.

Anleitung zur Inbetriebnahme einer FHZ2000 mit der homeputer CL-Software

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Installations- und Bedienungsanleitung für die iks Datastar Software

Leitfaden zur Durchführung eines Jahreswechsels in BüroWARE 5.x

Datenübernahme easyjob 3.0 zu easyjob 4.0

Übung - Konfigurieren einer Windows-XP-Firewall

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

Dokumentation IBIS Monitor

GFAhnen Datensicherung und Datenaustausch

Allgemeine USB Kabel Installation und Troubleshooting

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

Faktura. IT.S FAIR Faktura. Handbuch. Dauner Str.12, D Mönchengladbach, Hotline: 0900/ (1,30 /Min)

Neuheiten PROfirst CAD Version 6

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

1. Aktionen-Palette durch "Fenster /Aktionen ALT+F9" öffnen. 2. Anlegen eines neuen Set über "Neues Set..." (über das kleine Dreieck zu erreichen)

i:mobile Installation und Produkt-Aktivierung

XT Großhandelsangebote

Lieferschein Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Windows Server 2008 (R2): Anwendungsplattform

Firmware-Update, CAPI Update

CARD STAR /medic2 und CARD STAR /memo3 Installation des USB-Treibers (Administrator-Tätigkeit) Stand

Variablen & erweiterte Aktionen nutzen

Übung - Freigabe eines Ordners und Zuordnung eines Netzwerlaufwerks in Windows XP

Prüfungsnummer: Prüfungsname: (Deutsche. Version: Demo. Upgrading Your Skills to MCSA Windows 8.

Hilfe zur Urlaubsplanung und Zeiterfassung

Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff

ecaros2 - Accountmanager

Transkript:

Betriebssysteme (1) Ziele und Funktionen von Betriebssystemen Bequemlichkeit Durch ein Betriebssystem kann ein Computer bequemer genutzt werden Effizienz Durch ein Betriebssystem können Computerressourcen effizient genutzt werden Fähigkeit zur Weiterentwicklung Effektive Entwicklung, Testen und Einführung neuer Systemfunktionen möglich, ohne den Betrieb negativ zu stören

Betriebssysteme (2) Schichten und Ansichten eines Computersystems

Betriebssysteme (3) Dienste eines Betriebssystems Programmentwicklung Programmausführung Zugriff auf E/A-Geräte Kontrollierter Zugriff auf Dateien Systemzugriff Fehlererkennung und Reaktion auf Fehler Buchführung

Betriebssysteme (4) Betriebssystem als Ressourcenmanager

Betriebssysteme (5) Weiterentwicklung eines Betriebssystems Hardwareupgrades und neue Hardwaretypen Früher: kein Paging-Mechanismus, Heute: Nutzung von Paging für virtuellen Speicher Nutzung von Grafik-Terminals, statt zeilenweise arbeitender Terminals Neue Dienste Z.B. neue Monitoring-Tools Grafisch orientierte Ausgabe Reparaturen Fehler werden bei einer komplexen Betriebssystem-Software erst im Verlauf der Zeit entdeckt. Jedes BS hat Fehler.

Betriebssysteme (6) Entwicklungsgeschichte der Betriebssysteme Serielle Verarbeitung In 40er und Mitte 50er Jahre wurden Computer direkt auf Hardware programmiert Nutzung von Lochkarten mit Maschinencode Ablaufplanung Reservierungskalender, z.b. Mehrfaches einer halben Stunde Problem: reservierte Zeit war zu kurz oder zu lang Installationszeit Laden von Compiler und Quellprogramm Speichern des kompilierten Programms Binden des Programms an die Betriebssystem-Funktionen

Betriebssysteme (7) Entwicklungsgeschichte der Betriebssysteme Einfache Stapelsysteme Teure Rechnerhardware optimale Rechnerausnutzung gefragt 50er bis 60er Jahre: Entwicklung von Stapelbetriebssystemen Zentrale Idee: Einführung eines Monitors Kein direkter Zugang zum Rechner Programme (Lochkarten, Bänder) werden einem Operator vorgelegt, der diese in einem Stapel auf dem Eingabegerät dem Monitor zur Verarbeitung übergibt Jobs werden sequentiell abgearbeitet Jedes Programm verzweigt nach Beendigung wieder zum Monitor zurück

Betriebssysteme (9)

Betriebssysteme (8) Beispiel einer Speicherbelegung Beispiel eines Jobs $JOB $FTN $LOAD $RUN $END Beginn des Jobs Fortran-Compiler laden Fortran-Befehle Objektprogramm laden Programm starten Daten Ende des Jobs

Betriebssysteme (10) Anforderungen bei Nutzung eines Monitors Speicherschutz Nutzerprogramm darf den Speicherbereich des Monitors nicht verändern Wenn doch, sollte Prozessor Fehler erkennen und Kontrolle an Monitor übergeben Monitor sollte dann Job abbrechen und Fehlermeldung ausgeben Timer Sollte verhindern, dass der Job das System auf Dauer in Beschlag nimmt Wird zu Beginn des Jobs gesetzt Falls Maximalzeit überschritten wird, wird Benutzerprogramm gestoppt und Kontrolle an den Monitor übergeben Privilegierte Befehle Bestimmte Befehle auf Maschinenebene sind privilegiert, nur vom Monitor ausführbar Ausführung solcher Befehle von Benutzerprogramm Fehler Kontrolle an Monitor Beispiel_ E/A-Befehle Interrupts Verleiht den Betriebssystemen größere Flexibilität bei der Abgabe der Kontrolle an Nutzerprogramme und vor allem deren Wiedererlangung

Betriebssysteme (11) Beispiel für eine Systemnutzung Auslesen eines Datensatzes aus einer Datei Ausführen von 100 Befehlen Schreiben eines Datensatzes in eine Datei gesamt 0,0015 Sekunden 0,0001 Sekunden 0,0015 Sekunden 0,0031 Sekunden 0,0001 0,0031 CPU CPU-Auslastung: n = = = 3,2% CPU t t gesamt Problem: sehr geringe CPU-Auslastung durch ein einziges Programm.

Betriebssysteme (12) Stapelsysteme für den Mehrprogrammbetrieb a) Einprogrammbetrieb Prozessor muss warten, bevor er eine E/A-Operation durchführen kann

Betriebssysteme (13) Stapelsysteme für den Mehrprogrammbetrieb b) Mehrprogrammbetrieb mit zwei Programmen Wenn ein Job für eine E/A-Operation warten muss, kann der Prozessor zu einem andere Job umschalten

Betriebssysteme (14) Stapelsysteme für den Mehrprogrammbetrieb c) Mehrprogrammbetrieb mit drei Programmen Das Prinzip lässt sich auch auf 3 und mehr Jobs anwenden

Betriebssysteme (15) Beispiel verschiedener Jobs Job1 Job2 Job3 Art des Jobs Dauer Speicherbedarf Umfangreiche Berechnungen Umfangreiche Ein-/Ausgabe Umfangreiche Ein-/Ausgabe 5 Minuten 15 Minuten 10 Minuten 50 KByte 100 KByte 80 KByte Festplatte benötigt? nein nein ja Terminal benötigt? nein ja nein Drucker benötigt? nein nein ja

Betriebssysteme (16) Nutzungshistogramme für Ein- und Mehrprogrammbetrieb

Betriebssysteme (17) Auswirkungen des Mehrprogrammbetriebs auf die Ressourcennutzung Einprogrammbetrieb Mehrprogrammbetrieb Prozessornutzung 22% 43% Speichernutzung 30% 67% Festplattennutzung 33% 67% Druckernutzung 33% 67% Zeitaufwand 30 min. 15 min. Durchsatzrate 6 Jobs/Stunde 12 Jobs/Stunde Mittlere Antwortzeit 18 min. 10 min.

Betriebssysteme (18) Timesharing-Systeme Job-Systeme: Relativ effiziente Stapelverarbeitung nicht-interaktiver Rechnerbetrieb Problem Interaktives Arbeiten nicht möglich (z.b. Transaktionsverarbeitung, Flugbuchung) Lösung: Simultanes, zeitlich verzahntes Arbeiten Zeit des Prozessors wird auf mehrere Nutzer verteilt Terminalbetrieb

Betriebssysteme (19) Stapelmehrprogrammbetrieb im Vergleich zum Timesharing Stapelmehrprogrammbetrieb Timesharing Hauptziel Anweisungsquelle für Betriebssystem Maximierung der Prozessorausnutzung Befehle in Jobsteuer- Sprache, die mit dem Job Bereitgestellt werden Minimierung der Antwortzeit Befehle, die am Terminal eingegeben werden

Betriebssysteme (20) Wichtige Errungenschaften von Betriebssystemen Prozesse Speicherverwaltung Informationsschutz und Sicherheit Ablaufplanung und Ressourcenverwaltung Systemstruktur

Betriebssysteme (21) Prozesse Fundsmentale Bedeutung für Aufbau von Betriebssystemen Unter Prozess wird u.a. verstanden: Ein Programm ist in der Ausführung Eine Instanziierung eines Programms, das auf einem Rechner abläuft 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, einem aktuellen Status und einem dazugehörigen Satz Systemressourcen gekennzeichnet ist

Betriebssysteme (22) Einführung des Prozesskonzeptes: Mehrprogrammstapelprinzip bessere Rechnerauslastung (CPU, E/A-Geräte) durch Nutzung von Wartezeiten zur Ausführung mehrerer Programme Timesharing Interaktive Nutung von Rechnern Aufteilung der Rechenzeit für mehrere Benutzer Nutzung unterschiedlicher Anwendungen (editieren, kompilieren...) Echtzeittransaktionssysteme Zahlreiche simultane Interaktionen, jedoch nur eine oder wenige Anwendungen Viele mögliche Kombinationen beim Ablauf Deshalb schwer zu handhaben Besondere Programmierfehler, die nur in bestimmten, seltenen Kombinationen von Aktionssequenzen auftreten

Betriebssysteme (23) Hauptursachen für Probleme bei Systemsoftware für Multiprogramming: Falsche Synchronisation Unterbrechung einer Routine und warten auf ein Ereignis, z.b. E/A-Operation beendet Hierzu warten auf ein Signal Falsche Auslegung der Signalmechanismen Signale gehen verloren oder sind doppelt Fehlgeschlagener gegenseitiger Ausschluss Mehr als ein Benutzer oder Programm versuchen, eine Ressource zu belegen Beispiel Buchungssystem: lesen der Datenbank und Belegen eines freien Sitzplatzes Mechanismus notwendig, der zu einer Zeit nur eine Transaktion im selben Datenbereich zulässt Schwierig zu prüfen, ob Implementierung eines gegenseitigen Ausschlusses bei allen möglichen Ereignissequenzen korrekt funktioniert

Betriebssysteme (24) Hauptursachen für Probleme bei Systemsoftware für Multiprogramming (2): Nichtdeterministischer Programmbetrieb Ergebnisse eines Programms sollten nur von Eingaben in dieses Programm, nicht jedoch von Aktivitäten anderer Programme abhängen Probleme können auftreten, wenn gemeinsamer Speicher genutzt wird Programme können diesen Speicher unvorhergesehen überschreiben Reihenfolge der Programmaufrufe kann dann das Ergebnis beeinflussen Verklemmungen (Deadlocks) Zwei Programme halten an, weil sie aufeinander warten Beispiel: 2 Programme wollen von Festplatte auf Magnetband kopieren Ein Programm hat bereits die Festplatte, das andere das Magnetband reserviert Jedes Programm wartet auf das andere, das die noch fehlende Ressource freigegeben wird Solche Verklemmung kann von zufallsbeeinflussten Zeitpunkten der Ressourcenzuteilung und freigabe abhängen Zur Behebung dieser Probleme ist systematischer Weg ist für Beobachtung und Kontrolle der Programme erforderlich Prozesskonzept

Betriebssysteme (25) Prozess 3 Komponenten: Ein ausführbares Programm Zugehörige Daten, die das Programm benötigt (Variablen, Arbeitsbereich, Puffer usw.) Der Ausführungskontext des Programms (Register, Programmzähler usw.) Ausführungskontext: Alle Informationen, die Betriebssystem und Prozessor zum Ausführen benötigen Inhalte der Prozessorregster (Programmzähler und Datenregister Informationen über Benutzung des Betriebssystems, z.b. Priorität, warten auf E/A- Geräte

Betriebssysteme (26) Beispiel Prozesse

Betriebssysteme (27) Speicherverwaltung Prozessisolierung BS muss unabhängige Prozesse daran hindern, auf Daten und Speicher fremder Prozesse zuzugreifen und sie somit zu stören Automatische Zuordnung und Verwaltung Speicherbereich sollte bei Bedarf den Programmen zugeordnet werden Gilt für alle Ebenen der Speicherhierarchie Zuordnung sollte für Programmierer unsichtbar sein Programmierer wird entlastet, BS kann effizient Speicher zuweisen Unterstützung der modularen Programmierung Programmierer sollten in der Lage sein, Programmmodule zu definieren, Module dynamisch zu erstellen, zu löschen und in ihrer Größe zu verändern

Betriebssysteme (28) Speicherverwaltung (2) Schutz und Zugriffskontrolle Programme haben das Potenzial, auf Speicher anderer Programme zuzugreifen Effekt kann gewollt sein, z.b. bei dynamischen Bibliotheken Andererseits: Bedrohung der Programme bzw. des Betriebssystems BS: Kontrolle, dass Zugriff nur in gewünschter Form erfolgen kann Langzeitspeicherung Dateisystem Speichert mit Namen versehene Objekte (Dateien) Bequemes Konzept für Programmierer Nützliche Einheit für Zugriffskontrolle und Schutzmechanismen

Betriebssysteme (29) Virtueller Speicher Ermöglicht Programmierern, Speicher von einem logischen Stanspunkt aus anzusprechen Muss nicht auf die tatsächliche physikalische Größe achten Wurde entwickelt, damit aufeinander folgende Prozesse ohne Unterbrechung ausgeführt werden können Nicht mehr benötigte Prozesse können ausgeschrieben und nachfolgende Prozesse schon eingelesen werden (Prozessumschaltung) Extrem schwierig, jeweils zusammenhängende Speicherbereiche bereitzustellen Paging Paging Blöcke fester Größe (Seiten, Pages) Programm benutzt virtuelle Adressen, = Seitenzahl + Offset Paging-System sorgt für dynamische Zuordnung virtueller Adressen auf reale Adressen bzw. physikalische Adressen im Hauptspeicher Es werden alle Seiten in den Hauptspeicher geladen, die von einem Programm referenziert werden (nicht notwendigerweise das ganze Programm) Am wenigsten benötigte Seiten werden aus dem Hauptspeicher verdrängt

Betriebssysteme (30) Konzepte virtueller Speicher Hauptspeicher Festplatte

Betriebssysteme (31) Adressierung beim virtuellen Speicher

Betriebssysteme (32) Informationsschutz und Sicherheit Aufgaben bei Sicherheit und Schutz von Systemen umfassen Zugriffskontrolle Regulierung der Benutzerzugriffe auf das Gesamtsystem, Subsysteme und Daten Regulierung des Prozessorzugriffs auf verschiedene Ressourcen und Objekte innerhalb des Systems Kontrolle des Informationsflusses Regulierung des Datenflusses innerhalb des Systems und der Auslieferung der Daten an den Benutzer Zertifizierung Nachweis, dass Mechanismen für Zugriffskontrolle und Kontrolle des Datenflusses Gemäß ihrer Spezifikation funktionieren Gewünschten Schutz und gewünschte Sicherheit durchsetzen

Betriebssysteme (33) Ablaufplanung und Ressourcenverwaltung Fairness Prozesse konkurrieren um Ressourcen Gleichen fairen und Zugriff auf Ressourcen ermöglichen Insbesondere bei Jobs mit ähnlichen Anforderungen Differenzierte Ansprechempfindlichkeit Unterscheidung zwischen verschiedenen Jobklassen Ziel: Erfüllung der Anforderungen Ggf. dynamische Wichtung von Prioritäten, damit z.b. ein E/A-Gerät schnell wieder frei wird Effizienz Maximierung von Durchsatz und Minimierung von Antwortzeiten Timesharing: so viele Benutzer wie möglich

Betriebssysteme (34) Ablaufplanung und Ressourcenverwaltung

Betriebssysteme (35) Systemstruktur Beherrschung der Komplexität durch Softwarestruktur Modularer Aufbau Vereinfachung der Organisation der Softwareentwicklung Gut definierte Schnittstellen, vereinfachen Weiterentwicklung Austauschbarkeit von Modulen Bei sehr komplexen Systemen: Einführung von Schichtenhierarchie und Informationsabstraktionskonzepten Trennung nach Komplexität, charakteristischer Dauer und Abstraktionsgrad Eine Ebene greift für einfachere Funktionen auf untergeordnet Ebene zurück Dienste werden für nächst höhere Ebene angeboten Funktionen tieferer Ebenen: zeitkritisch (z.b. nur einige µs), direktes Ansteuern der Computerhardware Funktionen der höheren Ebenen: Interaktion mit dem Benutzer, weniger zeitkritisch, komplexere Aufgaben

Betriebssysteme (36) Systemstruktur Hardware- und Maschinensprachebenen Ebenen 1 bis 4 spiegeln Hardware wieder Ebene 1: Elektronische Schaltungen Elektronische Schaltungen: Register, Speicherzellen, logische Gatter Operationen: z.b. Löschen eines Registers, lesen einer Speicherstelle Ebene 2: Befehlssatz Befehlssatz des Prozessors (Maschinensprache) Addition, Subtraktion, Laden, Speichern Ebene 3: Prozeduren Prozedur und Subroutine, Aufruf- und Rückspringoperationen Ebene 4: Interrupts Interrupts: Abspeicherung des aktuellen Kontexts, Interrupt handler aufrufen

Betriebssysteme (37) Systemstruktur Verwaltung von Ressourcen eines einzelnen Prozessors Ebene 5: Einfache Prozesse Einfache Prozesse, Semaphoren, Bereitschaftslisten Unterbrechen, Wiederaufnehmen, Warten, Signalisieren Abspeichern von Hardwareregistern, Synchronisation (Semaphoren) Funktion des Dispatchers Ebene 6: Lokaler Sekundärspeicher Lokale Sekundärspeichergeräte: Positionierung Schreib-/Lesekopf, Übertragung Datenblöcke Nutzt Ebene 5 für einfache Funktionen, Komplexe Funktionen in höheren Ebenen Ebene 7: Virtueller Speicher Logischer Adressraum der Prozesse, Virtueller Speicher Z.B. Strukturierung des Speichers in Seiten fester Länge Falls Bloch nicht im Hauptspeicher Initiierung eines Blocktransfers in Ebene 6

Betriebssysteme (38) Systemstruktur Externe Objekte, Peripheriegeräte, auch über Netzwerk verfügbare Objekte: logisch, per Namen adressierbar, auf dem gleichen oder mehreren Computern Ebene 8: Kommunikation Kommunikation: Erstellen, Löschen, öffnen, Schließen, Lesen, Schreiben Pipes, Interprozesskommunikation: logischer Kanal zum Datenaustausch zwischen Prozessen Ebene 9: Dateisystem Langzeitspeicherung per Namen Adressierbarer Daten (Dateien) Daten variabler Länge im Sekundärspeicher (z.b. Festplatte) Gegenstück zu Ebene 6 (Spuren, Sektoren und Blöcke fester Länge) Ebene 10: Geräte Zugriff auf externe Geräte durch genormte Schnittstellen (Drucker, Anzeige, Tastatur) Operationen: Öffnen, Schließen, Lesen, Schreiben

Betriebssysteme (39) Systemstruktur Ebene 11: Verzeichnisse Verwaltung der Zuordnung zwischen externen und internen Kennungen für Ressourcen und Objekte Externe Kennung: verwendet von Anwendung oder Benutzer Interne Kennung: Adresse oder andere Art der Kennung, verwendet durch niedrigere Ebenen Verwaltung in Verzeichnissen Zusätzliche Merkmale wie z.b. Zugriffsrechte Ebene 12: Benutzerprozesse Umfassende Funktion zur Unterstützung von Prozessen Sämtliche Funktionen zur Verwaltung eines Prozesses Z.B. virtueller Adressraum, Liste für Interaktion mit anderen Objekten und Prozessen, Beschränkungen dieser Interaktion (Speicherschutz, nur Lesezugriff...), weitere Prozessmerkmale Vergleiche: Ebene 5 nur Verwaltung der Inhalte der Prozessorregister im Kontext, Dispatcher-Funktion

Betriebssysteme (40) Systemstruktur Ebene 13: Shell Schnittstelle zum Betriebssystem für Benutzer Bezeichnung Shell, da Abschirmung von Einzelheiten des Betriebssystems, Präsentation als eine Reihe von Diensten Nimmt Anweisungen und befehle in Jobsteuersprache an Interpretation Erzeugt und kontrolliert Prozesse nach Bedarf Möglich: Präsentation in grafischer Form, z.b. Menüs Diese Modell dient zur Strukturierung und Beschreibung eines Systems Kann als Implementierungsrichtlinie dienen

Betriebssysteme (41) Merkmale moderner Betriebssysteme Mikrokernel-Architektur Monolithischer Kernel: Großkernel mit Scheduling, Dateisystem, Vernetzung, Gerätetreiber, Speicheverwaltung; Implementierng als Einzelprozess im gleichen Adressraum Mikrokernel: Beschränkung auf einige wesentliche Elemente wie Unterstützung von Adressräumen, Interprozesskommunikation und Scheduling Andere Dienste: Implementierung als (Server-)Prozesse Können im Prinzip auch entfernt ausgeführt werden Multithreading Thread Einheit die sich per Dispatcher zuordnen läßt (prozessorkontext, Datenbereich, Stack)

Betriebssysteme (42) Merkmale moderner Betriebssysteme Multithreading Thread Einheit die sich per Dispatcher zuordnen lässt (Prozessorkontext, Datenbereich, Stack) Wird sequentiell ausgeführt Kann unterbrochen werden Prozess Ein- oder mehrere Threads mit dazugehörigen Systemressourcen (Code + Daten, geöffnete Dateien, Geräte) Entspricht Konzept eines Programms in der Ausführung Austeilung eines Programms in Threads (nebenläufige Teile): weitgehende Kontrolle über Modularität und zeitlichen Ablauf von anwendungsbezogenen Ereignissen Sinnvoll für Anwendungen, die nicht in zeitliche Reihenfolge gebracht werden müssen Umschalten zwischen Threads erzeugt weniger Aufwand (nur Prozessorkontext)

Betriebssysteme (43) Merkmale moderner Betriebssysteme Symmetrischer Multiprozessorbetrieb (SMP) Vorhandensein mehrerer Prozessoren Teilen sich Hauptspeicher, E/A-Einrichtungen Verbindung über speziellen Kommunikationsbus Alle Prozessoren können selbe Funktionen ausführen symmetrisch Potentielle Vorteile: Verteilung von unabhängigen Prozessen so, dass sie gleichzeitig ausgeführt werden können Verfügbarkeit: Ausfall eines Prozessors führt nicht zum Stillstand des Systems Schrittweises Wachstum: Verbesserung der Systemleistung durch zusätzlichen Prozessor Skalierung: Bereitstellung von Produkten mit unterschiedlicher Prozessoranzahl Vorteile sind potentieller Natur, nicht jedoch garantiert! SMP und Multithreading lassen sich vorteilhaft kombinieren

Betriebssysteme (44) Mehrprogrammbetrieb und Mehrprozessorbetrieb Zeit Prozess 1 Prozess 2 Prozess 3 (a) Verschachtelung (Mehrprogrammbetrieb, ein Prozess) Prozess 1 Prozess 2 Prozess 3 Blockiert Aktiv (b) Verschachtelung und Überschneidung (Mehrprogrammbetrieb, mehrere Prozessoren)

Betriebssysteme (45) Merkmale moderner Betriebssysteme Verteiltes Betriebssystem Schafft Illusion eines einzigen Hauptspeicherraums und eines einzigen Sekundärspeicherraums und weiterer einheitlicher Zugriffsmittel, z.b. System für verteilte Dateien Cluster Bleiben bisher hinter dem Stand der Einzel- und SMP-Systeme zurück Objektorientierter Aufbau Sauberes Hinzufügen von modularen Erweiterungen zu einem kleinen Kernel Möglichkeit des Zurechtschneiderns ohne Verlust der Systemintegrität (z.b. Pure)