WS 2009/10 1 Systeme 1 Kapitel 2 Betriebssysteme

  • Published on
    05-Apr-2015

  • View
    102

  • Download
    0

Embed Size (px)

Transcript

  • Folie 1
  • WS 2009/10 1 Systeme 1 Kapitel 2 Betriebssysteme
  • Folie 2
  • WS 2009/10 2 bersicht Aufgabe von Betriebssystemen Historische Entwicklung von Betriebssystemen Unterschiedliche Arten von Betriebssystemen Komponenten und Konzepte von Betriebssystemen Prozesse und Threads Speichermanagement Dateisysteme Konzepte der Ein- und Ausgabe
  • Folie 3
  • WS 2009/10 3 Systeme 1 Kapitel 2.1 Aufgaben von Betriebssystemen
  • Folie 4
  • WS 2009/10 4 Aufgaben von Betriebssystemen Ein Betriebssystem ist ein Computerprogramm (Software) mit folgenden grundstzlichen Funktionen: Bereitstellen einer Abstraktionsschicht der Betriebssystem- Komponenten fr Programmierer Erweiterte Maschine Verwaltung und Schutz von Systemressourcen beispielsweise in einer Mehrbenutzerumgebung Bereitstellung einer Umgebung zur Ausfhrung von Anwendungsprogrammen
  • Folie 5
  • WS 2009/10 5 Bereitstellung einer Abstraktionsschicht Abstraktion von detailliertem Verhalten der zugrunde liegenden Komponenten auf mglichst hohem Niveau Verstecken von realer Hardware-Eigenschaften vor dem Programmierer Systemdiensten und Systemfunktionen Ziel: Leichte Programmierbarkeit und Sicherheit Beispiel: Datenspeicherung auf einem Datentrger Entlastung des Programmierers von komplizierten Details wie Einschalten des Motors, Bewegung des Plattenarms etc. => Hardware-Abstraktion Einfache Programmierschnittstelle zum Schreiben und Lesen einer Datei (open(), read(), write()) unabhngig von dem verwendeten Dateisystem (FAT, NTFS, ext3, etc) => Abstraktion von Systemdiensten und Systemfunktionen
  • Folie 6
  • WS 2009/10 6 Bereitstellung einer Abstraktionsschicht Das Betriebssystem stellt dem Programmierer eine abstrakte Programmierschnittstelle zur Verfgung Das Betriebssystem bietet einen Satz von Kommandos (Systemaufrufe / system calls): zum Zugriff auf E/A-Gerte z.B. Lesen und Schreiben einer Datei zur Prozesskontrolle z.B. Starten und Stoppen eines Anwendungsprogramms zur Speicherverwaltung berwachung und Kontrolle von Ressourcen
  • Folie 7
  • WS 2009/10 7 Zwischen Anwendung und Betriebssystem Computer-Hardware Betriebssystem Bibliotheksfunktionen, Dienstprogramme Anwendungsprogramme Anwender Anwendungs- programmierer Betriebssystem- programmierer
  • Folie 8
  • WS 2009/10 8 Verwaltung von Systemressourcen Verwaltung aller Bestandteile eines komplexen Systems Bestandteile sind z.B. Prozessoren und Rechenzeit, Speicher, Uhren, Platten, Terminals, Magnetbandgerte, Netzwerkschnittstellen, Drucker etc. Bestandteile eines Rechnersystems bezeichnet man auch als Betriebsmittel. Betriebssystemaufgabe: Geordnete und kontrollierte Zuteilung von Betriebsmitteln an konkurrierende Prozesse / Benutzer. Schutz des Systems und der individuell zugeordneten Betriebsmittel Beispiel: Ein defektes Programm sollte nicht das Verhalten anderer Programme oder das ganze System beeintrchtigen knnen. Beispiel: Schutz von Dateien auf Mehrbenutzersystemen
  • Folie 9
  • WS 2009/10 9 Betriebssystem als Ressourcenmanager Aufgaben beim Verwalten von Systemressourcen: Gerechte Zuteilung von gemeinsam genutzten Betriebsmitteln Auflsung von Konflikten bei der Betriebsmittelanforderung Schutz verschiedener Benutzer gegeneinander z.B. Zugriffskontrolle bei Dateien Effiziente Verwaltung von Betriebsmitteln Protokollieren der Ressourcennutzung Abrechnung der Betriebsmittelnutzung Fehlererkennung, Fehlerbehandlung Hardware (Gertefehler) und Software (Programmfehler) Grundstzliche Zugriffskontrolle zum System Ressourcenverwaltung in zwei Dimensionen: Zeit: Verschiedene Benutzer erhalten Betriebsmittel nacheinander. Raum: Verschiedene Benutzer erhalten verschiedene Teile einer Ressource.
  • Folie 10
  • WS 2009/10 10 Erweiterbarkeit und Entwicklungsfhigkeit nderungen des Betriebssystems erforderlich durch Neue Hardware Neue Protokolle etc. Neue Anforderungen der Benutzer Korrekturen (z.B. Schlieen von Sicherheitslchern) Betriebssystem sollte modular und klar strukturiert aufgebaut sein gut dokumentiert sein.
  • Folie 11
  • WS 2009/10 11 Systeme 1 Kapitel 2.2 Historische Entwicklung
  • Folie 12
  • WS 2009/10 12 Historische Entwicklung Verschiedene Entwicklungsstadien: Serielle Systeme Einfache Stapelverarbeitungssysteme Mehrprogrammfhige Stapelverarbeitungssysteme Timesharing-Systeme (Systeme mit Graphischen Benutzeroberflchen) Netzwerkbetriebssysteme Verteilte Betriebssysteme
  • Folie 13
  • WS 2009/10 13 Historische Entwicklung Serielle Systeme (1945-1955) Betrieb von Rechnern ohne Betriebssystem Programmierung von Rechnern durch Einschieben von Steckkarten Spter: Einlesen von Lochkarten Zuteilung von Rechenzeit durch Reservierung mit Hilfe Papieraushang
  • Folie 14
  • WS 2009/10 14 Historische Entwicklung Einfache Stapelverarbeitungssysteme, 1955 fr IBM Unterscheidung zwischen Programmentwickler und Operateure, die Rechner (Mainframes) betrieben Sammlung von Programmen (Jobs) auf Lochkarten Einlesen der gesammelten Jobs durch kleine Rechner (z.B. IBM 1401), Speichern auf Band Abarbeitung des Bandes durch Hauptrechner (z.B. IBM 7094): Lese ersten Job ein Fhre ersten Job aus Ausgaben auf zweites Band Dann weiter mit zweitem Job etc. Serielle Abarbeitung der Jobs gesteuert durch kleines Softwareprogramm, genannt Monitor. Ausgabe der Ergebnisse auf Band durch kleinen Rechner (z.B. IBM 1401) Fortschritt: Eingabe von Lochkarte, Rechnen, Ausgabe auf Drucker parallel.
  • Folie 15
  • WS 2009/10 15 Historische Entwicklung
  • Folie 16
  • WS 2009/10 16 Historische Entwicklung Mehrprogrammfhige Stapelverarbeitungssysteme, ab 1965 Verarbeitung durch einzigen Rechner (IBM 360 + Nachfolger) Spooling (Simultaneous Peripheral Operation On Line): Einlesen von Jobs auf Lochkarten, Speichern auf Platte Nach Beenden des aktuellen Jobs: Laden eines neuen Jobs von Platte + Ausfhrung Mehrprogrammfhigkeit bzw. Multiprogramming
  • Folie 17
  • WS 2009/10 17 Historische Entwicklung Mehrprogrammfhigkeit bzw. Multiprogramming Beobachtung: Viel Rechenzeit wird verschwendet durch Warten der CPU auf Beendigung von Ein- / Ausgabeoperationen. Bis zu 90% der Zeit verschwendet bei Hochleistungs-Datenverarbeitung. Idee: Fhre aus Effizienzgrnden Jobs nicht streng sequentiell aus. Aufteilung des Speichers in mehrere Bereiche Eigene Partition pro aktiven Job Wartezeiten auf Beendigung von Ein- / Ausgabeoperationen genutzt durch Rechenzeit fr andere Jobs. Betriebs- system Job 2 Job 3 Speicher- partitionen Job 1
  • Folie 18
  • WS 2009/10 18 Historische Entwicklung Timesharing-Systeme Nachteil mehrprogrammfhiger Stapelverarbeitungssysteme: kein interaktives Arbeiten mehrerer Benutzer mglich Abhilfe durch Timesharing-Systeme Variante des Multiprogrammings Online-Zugang zum System fr alle Benutzer Mehrprogrammbetrieb mit schnellem Umschalten von Benutzer zu Benutzer. Idee: Interaktives Arbeiten eines Benutzers erfordert nicht die komplette Rechenzeit eines Rechners. Bei schnellem Umschalten bemerkt der Einzelnutzer nicht, dass er die Maschine nicht fr sich allein hat.
  • Folie 19
  • WS 2009/10 19 Historische Entwicklung Vergleich Mehrprogrammfhige Stapelverarbeitungssysteme versus Timesharing-Systeme: StapelverarbeitungTimesharing Maximale Prozessornutzung (Betreiberwunsch) Minimale Antwortzeit (Benutzerwunsch) Job Control LanguageInteraktive Kommandos
  • Folie 20
  • WS 2009/10 20 Historische Entwicklung Systeme mit Graphischen Benutzeroberflchen GUI (Graphical User Interface) Geht zurck auf D. Engelbart, Stanford Research Institute, 60er Jahre Elemente: Fenster, Icons, Mens, Maus bernommen durch Apple Macintosh Spter durch Microsoft Windows 1985-1995: Graphische Umgebung, aufsetzend auf MS-DOS Windows95, , WindowsXP, Windows Vista, Windows 7 Betriebssystem und GUI stark miteinander verschrnkt UNIX / LINUX: GUI als Aufsatz auf Betriebssystem X-Windows-System (M.I.T.): Grundlegende Funktionen zur Fensterverwaltung Komplette GUI-Umgebungen basierend auf X-Windows: z.B. Motif
  • Folie 21
  • WS 2009/10 21 Historische Entwicklung Netzwerkbetriebssysteme und verteilte Betriebssysteme Netzwerkbetriebssysteme: Benutzer kennt mehrere vernetzte Rechner Einloggen auf entfernten Rechnern mglich Datenaustausch mglich Auf Einzelrechnern: Lokales Betriebssystem, lokale Benutzer Netzwerkbetriebssystem =normales Betriebssystem mit zustzlichen Fhigkeiten Verteilte Betriebssysteme: Mehrere vernetzte Rechner Erscheinen Benutzern wie Einplatzsystem Datenspeicherung und Programmausfhrung verteilt auf mehreren Rechnern Verwaltung transparent und effizient (?) durch Betriebssystem Probleme: Nachrichtenverzgerungen, Datenkonsistenz
  • Folie 22
  • WS 2009/10 22 Systeme 1 Kapitel 2.2 Betriebssystemvarianten
  • Folie 23
  • WS 2009/10 23 Betriebssystemvarianten Mainframe-Betriebssysteme Betriebssysteme fr Grorechner Sehr hohe Ein-/Ausgabebandbreite Viele Prozesse gleichzeitig mit hohem Bedarf an schneller E/A 3 Arten der Prozessverwaltung Batch-Verfahren: Erledigung umfangreicher Aufgaben ohne Benutzerinteraktion Transaktionsverfahren: Groe Anzahl kleiner Aufgaben von verschiedenen Nutzern Zeitaufteilungsverfahren: Quasi-parallele Durchfhrung vieler Aufgaben durch mehrere Benutzer Bsp.: IBM OS/390
  • Folie 24
  • WS 2009/10 24 Betriebssystemvarianten Server-Betriebssysteme Betriebssysteme fr sehr groe PCs, Workstations oder auch Mainframes Viele Benutzer ber Netzwerk bedient Zuteilung von Hard- und Softwareressourcen Bsp.: Unix, Windows 2000, Linux PC-Betriebssysteme Betriebssysteme fr Personalcomputer Meist nur 1 Benutzer (oder wenige ber Netzwerk) Mehrere Programme pro Benutzer quasi-parallel Bsp:: Windows98, Windows 2000, Linux
  • Folie 25
  • WS 2009/10 25 Betriebssystemvarianten Echtzeit-Betriebssysteme Betriebssysteme zur Steuerung maschineller Fertigungsanlagen etc. Einhalten harter Zeitbedingungen, gefordert ist nicht im Durchschnitt schnell, sondern Abschlieen von Operationen in fest vorgegebenen Zeitintervallen (in jedem Fall) Bsp.: VxWorks, QNX, OSEK-OS Betriebssysteme fr Eingebettete Systeme Eingebettete Systeme = Computer, die man nicht unmittelbar sieht z.B. in Fernseher, Mikrowelle, Mobiltelefon, KfZ Meist Echtzeitanforderungen Wenig Ressourcen: Kleiner Arbeitsspeicher Geringer Stromverbrauch Bsp.: WindowsCE, Symbian, Linux
  • Folie 26
  • WS 2009/10 26 Zusammenfassung Ein Betriebssystem ist ein Softwareprogramm. Liefert eine abstrakte Schnittstelle zum Rechner. Verwaltet und sichert Systemressourcen. Historische Entwicklung in mehreren Stadien. Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen in unterschiedlichen Anwendungsgebieten. Moderne Betriebssysteme sind in der Regel Timesharing- Systeme mit vielen zustzlichen Eigenschaften.

Recommended

View more >