Abstrakte Schnittstelle

Ähnliche Dokumente
Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme. Wolfram Burgard

Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme. Wolfram Burgard

Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme. Maren Bennewitz

Einführung Betriebssysteme

Teil 3: Konzepte von Betriebssystemen

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Betriebssysteme WS Betriebssysteme. Prof. Hannelore Frank. Einführung. Prozesse und Threads. Scheduling. Synchronisation

Betriebssysteme Betriebssysteme und. Netzwerke. Netzwerke Theorie und Praxis

Betriebssysteme Kap A: Grundlagen

Betriebssysteme Ein Überblick

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

Betriebssysteme. FU Berlin SS 2003 Klaus-Peter Löhr

Betriebssysteme. FU Berlin WS 2004/05 Klaus-Peter Löhr. bs-1.1 1

Betriebssysteme. Thomas Fahringer. Institut für Informatik Universität Innsbruck. VO Betriebssysteme

Rechnernutzung in der Physik. Betriebssysteme

Betriebssystem? Übersicht. Ziele. Grundlagen. Das ist nur die Oberfläche... Wissen, was man unter einem Betriebssystem versteht

Überblick und Aufgaben

Technische Grundlagen. Betriebssystem, Mac, GoLive

Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind

Einführung in die Informationstechnik. II Einführung in Betriebssysteme

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Enterprise Portal - Abbildung von Prozessen, SAP-Datenintegration und mobile Apps

Was ist ein Betriebssystem? Geschichte der Betriebssystemen Klassifizierung der Betriebssystemen Aufgaben des Betriebssystems

Betriebssysteme. VO Betriebssysteme

Kapitel 1 Betriebssystem I. Das Betriebssystem

B.4. B.4 Betriebssysteme Prof. Dr. Rainer Manthey Informatik II 1

Operating System Design - Now and Then. Christian Behnert Proseminar Technische Informatik FU Berlin

Angewandte Informatik. Teil 3 Software

gibt es verschiedene Betriebssysteme die je nach Gerät und Nutzer installiert werden können.

Projekt für Systemprogrammierung WS 06/07

OpenCL. Programmiersprachen im Multicore-Zeitalter. Tim Wiersdörfer

LINUX Schulung. FrauenComputerZentrum Berlin. Jutta Horstmann, Mai 2006

B Einführung. 1 Historische Entwicklung. 1 Historische Entwicklung (3) 1 Historische Entwicklung (2)

Mikrocontroller. eine Einführung. Florian Schmitt / 34

Verteilte Betriebssysteme

Grundlagen Netzwerktechnik

1. Technik moderner Geräte

Einführung in die Informationstechnik. III Einführung in Betriebssysteme: Windows, Unix

Werkzeuge der Informatik (CS102) Thema: Login, Desktop, Filesystem

1 Geschichte der Informationsverarbeitung

UNIX und C. Einleitung

Einführung in Betriebssysteme UNIX AM BEISPIEL LINUX

Merkmale des Betriebssystems Windows XP

Advanced IT-Basics. Referenten: Olga Assmus Marc Pawlowski

Vorsemesterkurs Informatik

Betriebssysteme. FU Berlin WS 2006/07 Klaus-Peter Löhr. bs-1.1 1

Virtuelle Desktop Infrastruktur

dg portal 7.0 Produktdatenblatt

Basisinformationstechnologie I Wintersemester 2011/ November 2011 Betriebssysteme

Überlegungen beim Entwurf eines Betriebssystems

Kapitel 2: Betriebssysteme

Grundlagen Rechnerarchitektur und Betriebssysteme

Inhaltsverzeichnis. 1.1 Der Begriff des Betriebssystems 1.2 Zur Geschichte der Betriebssysteme 1.3 Aufbau eines Rechners

Persona-SVS e-sync GUI/Client Installation

Modul 1 Beispiel-Prüfungen

Grundsoftware üblicher Computersysteme

Betriebssysteme. Tutorium 2. Philipp Kirchhofer

Softwarestrukturen. Anwendungssoftware: Löst ein spezielles Problem. Systemsoftware: Unterstützt die Erstellung von Anwendungssoftware.

Sicherheitsdienste. Schutz von Rechnern und Speichermedien vor

Bibliographix installieren

Vorlesung: Betriebssysteme

I Einführung in Betriebssysteme

Heimischer PC Betriebssystem: Windows 9x/NT/2000/ME/XP, Textverarbeitung: MS Office-Paket, MS Word. ver.di Server bog

Computergruppe Heimerdingen Grundkurs. Karlheinz Wanja & Richard Zeitler

5 Kernaufgaben eines Betriebssystems (BS)

Vorlesung Betriebssysteme Hochschule Niederrhein, Prof. Pohle-Fröhlich, SS 2015

Digitale Kompetenzen

Gliederung: 1. Das Betriebssystem allgemein. 2. PC Betriebssysteme allgemein. 3. Quellen

Bernd Bleßmann, Jörg Bleßmann. Linux. Aufbau und Einsatz eines Betriebssystems. 1. Auflage. HLuHB Darmstadt. Bestellnummer Bildungsverlag EINS

Hochschule Darmstadt - Fachbereich Informatik - Fachschaft des Fachbereiches

Der Computerarbeitsplatz

Quip Trade Business Manager GUI/Client Installation

Betriebssystemschichten ( )

Systemanforderungen für Qlik Sense. Qlik Sense 3.1 Copyright QlikTech International AB. Alle Rechte vorbehalten.

Kapitel 2 Architektur

1.3 Architektur von Betriebssystemen

Systemanforderungen für Qlik Sense. Qlik Sense 3.0 Copyright QlikTech International AB. Alle Rechte vorbehalten.

software TECHNISCHE KAUFLEUTE UND HWD

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software

Manfred Precht, Nikolaus Meier, Joachim Kleinlein. EDV-Grundwissen. Eine Einführung in Theorie und Praxis der modernen EDV 4.

Algorithmen versus Programmiersprachen

CLIQ Manager Installation im Netzwerk

Einführung in Betriebssysteme

Computer & GNU/Linux Einführung Teil 1

Systemanforderungen für MuseumPlus und emuseumplus

Transkript:

Abstrakte Schnittstelle Das Betriebssystem stellt dem Programmierer eine abstrakte Programmierschnittstelle zur Verfügung Das Betriebssystem bietet einen Satz von Kommandos (Systemaufrufe), über die z.b. auf Ein-/Ausgabegeräte zugegriffen werden kann Komfortabel für den Programmierer 5

Betriebssystem als Schnittstelle Anwender Anwendungsprogramme Bibliotheksfunktionen, Dienstprogramme Anwendungsprogrammierer Betriebssystemprogrammierer Betriebssystem Computer-Hardware 6

Dienstprogramme, Anwendungsprogramme Schnittstelle zwischen Betriebssystem und Dienstprogrammen nicht immer klar definiert Typische Dienstprogramme: Compiler Editoren Kommandointerpreter (sog. Shell) Beispiele für Anwendungsprogramme: Textverarbeitung, Tabellenkalkulation, Datenbankanwendungen 7

Verwaltung von Systemressourcen Ziel: Verwaltung aller Bestandteile eines komplexen Systems (Betriebsmittel) Beispiele: Prozessoren, Speicher, Platten, Netzwerkschnittstellen, Drucker etc. Betriebssystemaufgabe: Geordnete und kontrollierte Zuteilung der Betriebsmitteln an konkurrierende Prozesse / Benutzer 8

Betriebssystem als Ressourcenmanager (1) Gerechte Zuteilung von gemeinsam genutzten Betriebsmitteln Auflösung von Konflikten bei der Betriebsmittelanforderung Schutz verschiedener Benutzer gegeneinander (z.b. Zugriffskontrolle bei Dateien) Effiziente Verwaltung von Betriebsmitteln 9

Betriebssystem als Ressourcenmanager (2) Fehlererkennung, Fehlerbehandlung Hardware: Gerätefehler Software: Programmfehler Ressourcenverwaltung in zwei Dimensionen: Zeit: Verschiedene Benutzer erhalten Betriebsmittel nacheinander Raum: Verschiedene Benutzer erhalten verschiedene Teile einer Ressource (z.b. Hauptspeicher) 10

Erweiterbarkeit, Entwicklungsfähigkeit von Betriebssystemen Änderungen des Betriebssystems erforderlich durch z.b. Neue Hardware Neue Protokolle Korrekturen (z.b. Schließen von Sicherheitslöchern) Eigenschaften eines Betriebssystems Modular und klar strukturiert aufgebaut Gut dokumentiert 11

von Betriebssystemen Verschiedene Entwicklungsstadien Serielle Systeme Einfache Stapelverarbeitungssysteme Mehrprogrammfähige Stapelverarbeitungssysteme Timesharing-Systeme Systeme mit graphischen Benutzeroberflächen Netzwerkbetriebssysteme Verteilte Betriebssysteme 12

von Betriebssystemen (1) Serielle Systeme (1945-1955) Betrieb von Rechnern ohne Betriebssystem Programmierung von Rechnern durch Lochkarten Zuteilung von Rechenzeit durch Reservierung mit Hilfe Papieraushang 13

von Betriebssystemen (2) Einfache Stapelverarbeitungssysteme (1955, IBM) Zentraleinheit Lochkarteneinheit Drucker [wikipedia] 14

von Betriebssystemen (2) Einfache Stapelverarbeitungssysteme (1955, IBM) Unterscheidung von Programmentwicklern und Operateuren, welche die Rechner ( Mainframes ) betrieben Entwicklung auf Papier (in FORTRAN, Assembler), Stanzen auf Lochkarten Sammlung von Programmen (Jobs) auf Lochkarten Einlesen der gesammelten Jobs durch kleinen Rechner, Speichern auf Band 15

von Betriebssystemen (2) Einfache Stapelverarbeitungssysteme (1955, IBM) Abarbeitung des Bandes durch Hauptrechner Einlesen des ersten Jobs, Ausführen des ersten Jobs Ausgaben auf zweites Band Dann weiter mit zweitem Job etc. Serielle Abarbeitung der Jobs gesteuert durch kleines Softwareprogramm, genannt Monitor Ausgabe der Ergebnisse für Programmierer durch kleinen Rechner 16

von Betriebssystemen (2) kleine Maschine Eingabe teurer Rechner Verarbeitung kleine Maschine Ausgabe [Tanenbaum] 17

von Betriebssystemen (3) Mehrprogrammfähige Stapelverarbeitungssysteme (ab 1965) Verarbeitung durch einzigen Rechner (IBM 360 sowie Nachfolger) Spooling Einlesen von Jobs auf Lochkarten, danach Speichern auf Platte Nach Beenden eines Jobs: Laden eines neuen Jobs von Platte Mehrprogrammfähigkeit bzw. Multiprogrammierung, um Wartezeiten bei E/A zu reduzieren 18

von Betriebssystemen (3) Mehrprogrammfähige Stapelverarbeitungssysteme (ab 1965) Viel Rechenzeit wird verschwendet durch Warten der CPU auf Beendigung von E/A Operationen Führe aus Effizienzgründen Jobs nicht streng sequentiell aus Betriebssystem Speicherpartitionen Job 3 Job 2 Job 1 Aufteilung des Speichers in mehrere Bereiche Eigene Partition pro aktivem Job Wartezeiten auf Beendigung von E/A-Operationen genutzt durch Rechenzeit für andere Jobs 19

von Betriebssystemen (3) Mehrprogrammfähige Stapelverarbeitungssysteme (ab 1965) Job 1 Job 2 E/A Operationen Multiprogrammierung: Job 1 und Job 2 verschränkt 20

von Betriebssystemen (4) Timesharing-Systeme (ab Mitte 60er) Bisheriger Nachteil: Kein interaktives Arbeiten mehrerer Benutzer möglich Timesharing-Systeme: Online-Zugang zum System für alle 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 für sich allein hat 21

von Betriebssystemen (4) Vergleich Stapelverarbeitung Maximale Prozessornutzung (Betreiberwunsch) Befehle in Jobsteuersprache Timesharing Minimale Antwortzeit (Benutzerwunsch) Interaktive Kommandos 22

von Betriebssystemen (5) Systeme mit graphischen Benutzeroberflächen (80(60)er Jahre) GUI (Graphical User Interface): Fenster, Icons, Menüs, Mauszeiger Zuerst übernommen durch Apple Macintosh Später durch Microsoft Windows 1985-1995: Graphische Umgebung, aufsetzend auf MS-DOS ab Windows 95: Betriebssystem und GUI stark miteinander verschränkt 23

von Betriebssystemen (5) Systeme mit graphischen Benutzeroberflächen Unix / LINUX: GUI als Aufsatz auf das Betriebssystem X-Window-System: Grundlegende Funktionen zur Fensterverwaltung Komplette GUI-Umgebungen basierend auf X-Window: z.b. KDE, GNOME 24

von Betriebssystemen (6) Netzwerkbetriebssysteme (Mitte 80er) Benutzer kennt mehrere vernetzte Rechner Einloggen auf entfernten Rechnern möglich Datenaustausch möglich Auf Einzelrechnern: Lokales Betriebssystem, lokale Benutzer Netzwerkbetriebssystem = normales Betriebssystem mit zusätzlichen Fähigkeiten 25

von Betriebssystemen (7) Verteilte Betriebssysteme Mehrere vernetzte Rechner Erscheinen dem Benutzer wie Einprozessorsystem Datenspeicherung und Programmausführung verteilt auf mehreren Rechnern Verwaltung automatisch und effizient durch Betriebssystem Probleme: Nachrichtenverzögerungen, Dateninkonsistenz 26

von Betriebssystemen (8) Aktuell Betriebssysteme für Mehrkern-Prozessoren Aufteilung der Prozesse auf vorhandene Kerne Eigene Recheneinheiten, Zugriff auf gemeinsame Ressourcen Theoretisch n-fache Rechenleistung bei n Kernen (abhängig von der Parallelisierung von Software) 27

Arten von Betriebssystemen (1) Mainframe-Betriebssysteme Betriebssysteme für Großrechner Einsatz: Webserver, E-Commerce, Business-to- Business Viele Prozesse gleichzeitig mit hohem Bedarf an schneller E/A Sehr hohe Ein-/Ausgabebandbreite Beispiel: IBM OS/390, z/os 28

Arten von Betriebssystemen (1) Mainframe-Betriebssysteme Drei Arten der Prozessverwaltung: Batch-Verfahren/Stapelverarbeitung: Erledigung von Routineaufgaben ohne Benutzerinteraktion (Schadensmeldungen, Verkaufsberichte) Transaktionsverfahren/Dialogverarbeitung: Große Anzahl kleiner Aufgaben von vielen Nutzern (Überweisungen, Flugbuchungen) Timesharing: Quasi-parallele Durchführung vieler Aufgaben durch mehrere Benutzer (Anfragen an Datenbank) 29

Arten von Betriebssystemen (2) Server-Betriebssysteme Betriebssysteme für sehr große PCs, Workstations oder auch Großrechner Einsatz: z.b. Internetanbieter Viele Benutzer gleichzeitig über Netzwerk bedienen Zuteilung von Hard- und Softwareressourcen Beispiele: NetBSD (Unix), Windows Server 30

Arten von Betriebssystemen (3) PC-Betriebssysteme Betriebssysteme für Personalcomputer Meist nur 1 Benutzer (oder wenige über Netzwerk) Einsatz: Programmierung, Textverarbeitung, Spiele, Internetzugriff,... Mehrere Programme pro Benutzer quasi-parallel Aufteilung der Prozesse auf vorhandene Kerne Zuteilung der Systemressourcen Beispiele: Linux, Windows, Mac OS X 31

Arten von Betriebssystemen (4) Echtzeit-Betriebssysteme Einhalten harter Zeitbedingungen (vs. im Durchschnitt schnell) Einsatz: z.b. Betriebssysteme zur Steuerung maschineller Fertigungsanlagen (z.b. Autos) Aktion in einem fest vorgegebenen Zeitintervall (in jedem Fall, garantierte Deadlines) Beispiele: VxWorks, OSEK-OS 32

Arten von Betriebssystemen (5) Betriebssysteme für Eingebettete Systeme Eingebettete Systeme = Computer, die man nicht unmittelbar sieht Einsatz: Fernseher, Mikrowelle, Mobiltelefon, Auto,... Meist Echtzeitanforderungen Wenig Ressourcen: Kleiner Arbeitsspeicher Geringer Stromverbrauch Beispiele: QNX, Windows CE, Windows Phone, ios, Android 33

Zusammenfassung Betriebssystem = Softwareprogramm Abstrakte Schnittstelle zum Rechner Verwaltet Systemressourcen Historische Entwicklung in mehreren Stadien Verschiedene Arten von Betriebssystemen aufgrund verschiedener Anforderungen in unterschiedlichen Anwendungsgebieten Moderne Betriebssysteme: Timesharing-Systeme mit Mehrprogrammbetrieb (plus zusätzliche Eigenschaften) 34