Betriebssysteme (BTS)



Ähnliche Dokumente
Vorlesung Betriebssysteme

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

Rechnernutzung in der Physik. Betriebssysteme

Kurzanleitung BKB-E-Banking-Stick

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

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

Dieser Text beschreibt die Neuerungen von DaNiS und die Vorgehensweise beim DaNiS-Update.

Staatlich geprüfter EDV-Führerschein

Computeria Solothurn

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

2 DAS BETRIEBSSYSTEM. 2.1 Wozu dient das Betriebssystem. 2.2 Die Bildschirmoberfläche (Desktop) Themen in diesem Kapitel: Das Betriebssystem

1. Technik moderner Geräte

Wenn keine Verbindung zwischen den Computern besteht, dann bist du offline.

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC

Systeme 1. Kapitel 10. Virtualisierung

Durchführung der Datenübernahme nach Reisekosten 2011

Installation und Inbetriebnahme von SolidWorks

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

HISTORISCHES INFORMATIK-MUSEUM DER UNIVERSIDAD POLITECNICA DE MADRID

Jetzt neu: Online Reporting Schritt für Schritt durch das Online Reporting (OLR) Online Liedmeldung

Informatik I Tutorial

Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun. Übungsklausur

Schritt-Schritt-Anleitung zum mobilen PC mit Paragon Drive Copy 10 und VMware Player

Anleitung zur Erstellung einer Batchdatei. - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart -

Lizenzen auschecken. Was ist zu tun?

Hochschule Darmstadt - Fachbereich Informatik - Fachschaft des Fachbereiches

Anti-Botnet-Beratungszentrum. Windows XP in fünf Schritten absichern

Lizenzierung von System Center 2012

TeamSpeak3 Einrichten

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

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

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Artikel Schnittstelle über CSV

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen

Umgang mit der Software ebuddy Ändern von IP Adresse, Firmware und erstellen von Backups von ewon Geräten.

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Verwendung des Terminalservers der MUG

Formular»Fragenkatalog BIM-Server«

Einleitung: Frontend Backend

Erstellen der Barcode-Etiketten:

Windows Server 2008 (R2): Anwendungsplattform

In 15 Schritten zum mobilen PC mit Paragon Drive Copy 11 und VMware Player

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

Userguide: WLAN Nutzung an der FHH Hannover Fakultät V

In 15 Schritten zum mobilen PC mit Paragon Drive Copy 14 und VMware Player

BEO-Sanktionsprüfung Eine Einführung zum Thema Sanktionsprüfung und eine Übersicht zur BEO-Lösung.

- Zweimal Wöchentlich - Windows Update ausführen - Live Update im Norton Antivirusprogramm ausführen

4D Server v12 64-bit Version BETA VERSION

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

CD einlegen (Moment warten) Die Aktion markieren, die durchgeführt werden soll. (in diesem Beispiel»Audio-CD-Wiedergabe)

Lösungsskizzen zur Abschlussklausur Betriebssysteme

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Leitfaden für die Installation der freien Virtual Machine C-MOR Videoüberwachung auf XenServer ab Version 6.2

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

3 Windows als Storage-Zentrale

Leichte-Sprache-Bilder

Fragen zur GridVis MSSQL-Server

USB 2.0 Sharing Switch

Windows 10. Vortrag am Fleckenherbst Bürgertreff Neuhausen.

Herzlich Willkommen bei der nfon GmbH

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

Anwenderdokumentation AccountPlus GWUPSTAT.EXE

Sicherheitsdienste. Schutz von Rechnern und Speichermedien vor

Benutzerkonto unter Windows 2000

Grundlagen der Informatik

Leitfaden zum Sichern einer Festplatte als Image mit der System Rescue CD

Wählen Sie bitte START EINSTELLUNGEN SYSTEMSTEUERUNG VERWALTUNG und Sie erhalten unter Windows 2000 die folgende Darstellung:

Buddy - Algorithmus Handbuch für Endnutzer Stand

Adressen der BA Leipzig

Vorstellung - "Personal Remote Desktop" für (fast) alle Hardwareplattformen und Betriebssysteme

Tevalo Handbuch v 1.1 vom

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

OLXTeamOutlook 1.5 für Outlook 2003, 2002/XP, 2000 und 97/98

Installation OMNIKEY 3121 USB

Step by Step Webserver unter Windows Server von Christian Bartl

Die Teilnahme ist kostenfrei

Informatik 1 Tutorial

Die DeskCenter Management Suite veröffentlicht neue Version 8.1

FastViewer v3 bei der TechniData IT-Service GmbH

Lehrer: Einschreibemethoden

Mein eigener Homeserver mit Ubuntu LTS

Leitfaden für die Installation der Videoüberwachung C-MOR

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Schrittweise Anleitung zur Installation von Zertifikaten der Bayerischen Versorgungskammer im Mozilla Firefox ab Version 2.0

Bedienungsanleitung für den SecureCourier

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

3 ORDNER UND DATEIEN. 3.1 Ordner

Handbuch PCI Treiber-Installation

E-Cinema Central. VPN-Client Installation

Windows / Mac User können sich unter folgenden Links die neueste Version des Citrix Receiver downloaden.

Folgeanleitung für Fachlehrer

Backup der Progress Datenbank

Computeria Urdorf. Treff vom 16. Januar Was ist ein Computer?

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Technische Alternative elektronische Steuerungsgerätegesellschaft mbh. A-3872 Amaliendorf, Langestr. 124 Tel +43 (0)

Transkript:

1.Vorlesung Betriebssysteme (BTS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Betriebssysteme 15.3.2007

Heute Vorstellung Organisatorisches zur Vorlesung und Übung Einführung in Betriebssysteme Was ist ein Betriebssystem? Aufgaben eines Betriebssystems Historische Entwicklung der Betriebssysteme und Hardware Klassifikationen von Betriebssystemen Betriebsarten (Stapelbetrieb, Dialogbetrieb, Echtzeitbetrieb) Singletasking und Multitasking Einzelbenutzerbetrieb und Mehrbenutzerbetrieb Ein-Prozessor- und Mehr-Prozessor-Betriebssysteme 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 2

Organisatorisches zur Vorlesung Vorlesungstermine Donnerstag Zeit: 8:00-9:30 Uhr Ort: Raum 01008 Freitag Zeit: 8:00-9:30 Uhr Ort: Raum 01008 Homepage: http://jonathan.sv.hs-mannheim.de/~c.baun/ E-Mail: cray@unix-ag.uni-kl.de Skriptum: Folienskript im WWW im PDF-Format Rege Teilnahme ist sehr erwünscht! 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 3

Organisatorisches zu den Übungen Übungsstermine Freitag Zeit: 9:45-11:15 Uhr Ort: Raum 01008 Begin: 23. März 2007 Inhalt Vertiefung der Kenntnisse über UNIX-Systeme und die Shell. Implementierung einer Aufgabe zum Thema Prozesskommunikation. Die Übung ist eine Pflichtübung! 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 4

Prüfungsleistungen Klausur Inhalt: Stoff der Vorlesung und Übung Termin: Im Zeitraum vom 2.7.2007 bis zum 13.7.2007 Übungsaufgabe Implementierung einer Übung zu den Themen Pipes, Message Queues, Shared Memory und Semaphoren während des Semesters. Anfertigung einer Ausarbeitung zur Übung. Präsentation und Abnahme des Quellcodes. 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 5

Literatur Betriebssysteme, Carsten Vogt, Spektrum Akademischer Verlag (2001) Moderne Betriebssysteme, Andrew S. Tanenbaum, Pearson Studium (2003) Betriebssysteme, Erich Ehses, Lutz Köhler, Petra Riemer, Horst Stenzel, Frank Victor, Pearson Studium (2005) Betriebssysteme, Eduard Glatz, dpunkt.verlag (2006) Betriebssysteme, Albrecht Achilles, Springer-Verlag (2006) Betriebssysteme, William Stallings, Pearson Studium (2003) Systemsoftware, Jürgen Nehmer, Peter Studium, dpunkt.verlag (2001) 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 6

Um welche Betriebssysteme geht es? Das Motto dieser Vorlesung ist nicht Windows XP/Vista für Hartgesottene oder Linux für Fortgeschrittene. Ziel dieser Vorlesung ist die Beschäftigung mit den Grundlagen, Prinzipien und Problemen, sowie Lösungen klassischer und moderner Betriebssysteme! Ein weiteres Ziel der Vorlesung ist das Verständnis von Prozessen, Prozesskommunikation und Prozesssynchronisation. Der Stoff der Vorlesung betrifft kurz gesagt alle Betriebssysteme und die Konzepte, auf denen die Betriebssysteme basieren. 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 7

Wo geht die Reise hin? (März = Juli) Einführung in Betriebssysteme Historisches, Klassifikationen, Betriebsarten, Aufbau, Hardware Prozesse und Threads Prozesse, Prozesszustände, Prozesssteuerung, Threads Prozess-Scheduling Scheduling-Verfahren, Prozesssynchronisation, Prozesskooperation Speicherverwaltung Adressräume, Partitionierung, Swapping, Virtueller Speicher Dateisysteme Dateien, Dateisysteme unter Linux/UNIX und Windows... 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 8

Kleine Umfrage zum aktuellen Wissensstand Wie gut schätzen Sie ihr Wissen bezüglich Betriebssysteme ein? 1. Was ist ein Betriebssystem? 2. Habe wenig Kenntnisse über Betriebssysteme. 3. Habe grundlegende Kenntnisse über Betriebssysteme. 4. Habe gute Kenntnisse über Betriebssysteme. 5. Habe sehr gute Kenntnisse über Betriebssysteme. Ergebnis der Umfage: Antwort 1 Antwort 2 7 Antwort 3 12 Antwort 4 1 Antwort 5 1 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 9

!!! Brainstorming!!! Was macht ein Betriebssystem aus und was sind seine Aufgaben? 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 10

Was ist ein Betriebssystem? Betriebssystem-Definitionen gibt es in der Literatur viele. Eine Auswahl: Ein Betriebssystem sind die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften der Rechenanlage die Grundlage der möglichen Betriebsarten des Rechensystems bilden und insbesondere die Abwicklung von Programmen steuern und überwachen. DIN 44300 Zur Steuerung und Verwaltung der einzelnen Komponenten eines Computersystems dient ein so genanntes Betriebssystem. Lehrbuch Grundlagen der Informatik, Helmut Balzert (2004) Ein Betriebssystem ist die Software, die die Verwendung (den Betrieb) eines Computers ermöglicht. Es verwaltet Betriebsmittel wie Speicher, Ein- und Ausgabegeräte und steuert die Ausführung von Programmen. http://de.wikipedia.org/wiki/betriebssystem 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 11

Zwei mögliche Sichten auf ein Rechnersystem (1) Hardwaresicht: Rechnersysteme besteht aus einer Menge von Hardwarekomponenten, die gesteuert werden müssen: Prozessor, der Programme in Form von Maschinencode ausführt und den Computer steuert. Vereinigt zwei wichtige Grundaufgaben, nämlich Steuerwerk und Rechenwerk. Hauptspeicher, der Daten und Programme speichert und schnellen Zugriff ermöglicht. Hauptspeicher ist flüchtiger und teurer Speicher. Festplatten zur langfristigen Speicherung großer Datenmengen. Festplatten bieten nur einen langsamen Zugriff, sind aber kostengünstig. Bildschirm und Drucker zur Ausgabe von Resulataten. Netzwerkgeräte zum Anschluß an Kommunikationsnetzwerke. Tastatur und Maus zur Dateneingabe und Systemsteuerung. Weitere Ein-/Ausgabegeräte wie CD/DVD-Laufwerke, Disketten, USB-Sticks, Scanner, usw... 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 12

Zwei mögliche Sichten auf ein Rechnersystem (2) Anwendungssicht: Ein Betriebssystem stellt Konzepte und Werkzeuge zur (komfortablen) Steuerung des Systems und Verwaltung der Daten. Dateisystem mit Dienstprogrammen zur Dateiverwaltung. Werkzeuge und Funktionen zur Systemverwaltung. Benutzerverwaltung und Multi-User-Fähigkeit zur Verwaltung verschiedener Benutzer. Bereitstellung einer Benutzerschnittstelle zur Systemsteuerung durch den Benutzer (Shell, Grafische Oberfläche). Programmierumgebung zum Schreiben und Übersetzen von Quellcode. Schutzmechanismen zum Schutz des Systems vor Angriffen von außen und vor falscher Bedienung des Benutzers. 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 13

Aufgaben eines Betriebssystems Die Hauptaufgabe eines Betriebssystems besteht in der Verteilung von Betriebsmitteln auf sich bewerbende Benutzer. Ein Betriebssystem hat die Rolle des Verwalters der Betriebsmittel. Betriebsmittel sind u.a. Prozessoren, Hauptspeicher, Ein-/Ausgabegeräte, Dateien und Netzwerkdienste. Bereitstellung einer Benutzerschnittstelle (GUI) zur Steuerung des Systems. Die Alternative wäre das System direkt, hardwaremäßig zu steuern. Bereitstellung von Schutzmechanismen gegen unbefugte Zugriffe, Angriffe von außen und fehlerhafte Bedienung durch die Benutzer. Bereitstellung von Werkzeugen zur Benutzer- und Dateiverwaltung. Bereitstellung von Bibliotheken und Entwicklungswerkzeugen um eigene Programme zu schreiben. 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 14

Position des Betriebssystems Benutzer Benutzerschnittstelle Anwendungs- Programme Browser, Officepakete, usw. Benutzer Shell, Editoren, Compiler, usw. Systemschnittstelle Hardwareschnittstelle Betriebssystem Physikalische Geräte (Hardware) Prozessor, Speicher, Monitor, Maus, Tastatur, usw. 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 15

Generationen von Betriebssystemen Die Entwicklung von Hardware und Betriebssystemen geht Hand in Hand. Aktuell werden vier Generationen unterschieden: 1.Generation (Anfänge bis 1955) Elektronenröhren, Relais und Klinkenfelder. 2.Generation (1955 bis 1965) Transistoren und Stapelverarbeitung. 3.Generation (1965 bis 1980) Integrierte Schaltungen und Dialogbetrieb. 4.Generation (1980 bis heute) Hoch-integrierte Schaltungen, Mikroprozessoren, PCs/Workstations. 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 16

1.Generation (Anfänge bis 1955) Die erste Generation von Betriebssystemen entstand, als gegen Ende des 2.Weltkriegs die ersten Rechner (Konrad Zuse, John von Neumann) das Licht der Welt erblickten. Man kann von der Pionierzeit sprechen. Die Rechner waren riesige Maschinen mit teilweise über 10.000 Röhren oder Relais, die sehr langsam arbeiteten und sehr fehleranfällig waren. Betriebssysteme und Programmiersprachen waren zu dieser Zeit noch unbekannt. Der Benutzer/Programmierer startete ein Programm, dass direkt auf Hardware zugriff. Programme wurden bei diesen Rechnern über Klinkenfelder gesteckt. Anfang der 50er Jahre wurde das Stecken der Klinkenfelder durch Lochkarten abgelöst. 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 17

Zuse Z3 (1941) Erster Computer der Welt (basiert auf Relaistechnik). Erstmals Verwendung des Dualsystems. 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 18

ENIAC (1944) (1) Electronic Numerical Integrator and Computer (ENIAC). Erster elektronischer, digitaler Universalrechner (mit Elektronenröhren). 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 19

ENIAC (1944) (2) 17.468 Röhren, 7.200 Dioden, 1.500 Relais, 70.000 Widerstände, 10.000 Kondensatoren. 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 20

2.Generation (1955 bis 1965) Mit der Einführung der Transistoren Mitte der 50er Jahre wurden die Rechnersysteme deutlich zuverlässiger, aber auch teuerer. Die FORTRAN- oder COBOL-Programme wurden vom Programmierer auf Formblätter aufgeschrieben vom Eingeber bzw. Codierer in Lochkarten gestanzt und dem Operator übergeben. Der Operateur koordinierte die Reihenfolge der Programme (Jobs), bestückte den Rechner mit den entsprechenden Lochkarten, lud den Compiler vom Magnetband, und übergab abschließend das Rechenergebnis in Form eines Ausdrucks. = Sehr ineffiziente Arbeitsweise Später wurden aus Effizienzgründen die Programme gesammelt, auf Magnetbänder eingelesen und dann im Maschinenraum verarbeitet. 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 21

3.Generation (1960 bis 1980) Die frühen 60er Jahre sind die Zeit des Aufkommens integrierter Schaltungen. Dadurch konnten leistungsfähigere, kleinere und billigere Computer entwickelt werden. Zu Anfang der 60er Jahre bildeten sich zwei Entwicklungsstränge heraus: Weiterentwicklung der Stapelverarbeitungssysteme in Richtung gleichzeitig abzuarbeitende Jobs. Erste einfache Speicherverwaltung (Fixed Partitions). Während der 70er Jahre: Aufkommen von Dialogbetrieb (Time Sharing) bzw. Zeitteilbetrieb. Eine Zentraleinheit, mehrere Terminals (Dialogstationen). Jeder Benutzer erhält beim Anmelden einen Benutzerprozess. Faire Verteilung der Rechenzeit ist das Ziel. Ende der 70er Jahre: Entwicklugn des Mikroprozessors = Weg zum Home-Computer bzw. Personal Computer (PC). 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 22

4.Generation (1980 bis heute) Aufkommen hoch-integrierter Schaltkreise und exponentiell wachsende Integrationsdichte der elektronischen Komponenten: Prozessoren werden immer leistungsfähiger und preiswerter Speicherbausteine haben eine immer höhrere Kapazität Hohe Rechenleistung konnte an jedem Arbeitsplatz installiert werden. = Workstations setzten sich durch. = immer größerer Erfolg von Heimcomputern und Personal Computern. Das Hauptziel der Softwareindustrie ist nun, oder sollte es sein, benutzerfreundliche (und zunehmend grafische) Lösungen für Benutzer zu schaffen, die von der zu Grunde liegenden Hardware nichts wissen und nichts wissen wollen. Auf Personal Computern: MS-DOS Version 1.0 (1981) Auf Workstations (SUN, SGI,...): UNIX 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 23

!!! Brainstorming!!! Was werden wohl die Schlagworte der 5.Generation sein? Wann wird die 5.Generation beginnen? Hat sie schon begonnen? 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 24

5.Generation (???? bis????) Ein paar Ideen zu Schlagworten, die die 5.Generation bestimmen könnten: Das Netz ist der Computer? Virtualisierung = VMware, XEN,... OpenSource = Linux,... Verteiltes Rechnen = Cluster-, Grid-, P2P-Computing. Kommunikation überall = mobile Systeme. Neue Arbeitsformen = e-science und e-learning. Dienste und Services = Serviceorientierte Architekturen (SOA). Ressourcen nach Bedarf mieten bzw. anfordern = On Demand. Quantencomputer?... 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 25

Klassifikationen von Betriebssystemen (1) Betriebssysteme sind unterschiedlich leistungsfähig. Kriterien, um Betriebssysteme zu bewerten und klassifizieren, sind hauptsächlich: Effizienz der Betriebsmittelverwaltung. Anzahl und Qualität der Dienste und Werkzeuge. Benutzerfreundlichkeit der Oberfläche, Stabilität und Sicherheit. Rechensysteme müssen in der Regel mehrere Aufträge gleichzeitig bearbeiten. Die Betriebsart bestimmt die Reihenfolge der Ausführung. Folgende Betriebsarten von Betriebssystemen werden unterschieden: Stapelbetrieb bzw. Batchbetrieb (Batch-Processing) Dialogbetrieb (Interctive-Processing bzw. Dialog-Processing) bzw. Zeitteilbetrieb (Time-Sharing) Echtzeitbetrieb (Realtime-Processing) 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 26

Stapelbetrieb bzw. Batchbetrieb (1) Frühe Bestriebssysteme waren reine Stapelverarbeitungs-Betriebssysteme. Bei einem Rechensystem mit Stapel- bzw. Batchbetrieb, muss eine Aufgabe aus einer Menge von Aufgaben vollstandig gestellt sein, bevor mit ihrer Abwicklung begonnen werden kann. Programme wurden auf Lochkarten geschrieben und dem Operator gestapelt übergeben. Seine Aufgabe war es, den Rechner mit dem Stoß (Batch) von Lochkarten zu bestücken. Der Stapelbetrieb eignet sich gut zur Ausführung von Routineauftragen. Auch heutige Systeme besitzen die Möglichkeit, Progammabfolgen automatisch zu bearbeiten (z.b. Batch-Dateien, Shell-Skripte, usw.). 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 27

Stapelbetrieb bzw. Batchbetrieb (2) Einbenutzerbetrieb mit Einzelauftragsbearbeitung (Single User Mode) Eingabe Benutzer X Ausführung Auftrag 1 Ausgabe Benutzerwechsel Eingabe Ausführung Auftrag 2 Benutzer Y Ausgabe Eingabe Ausführung Auftrag 3 Ausgabe Stapelbetrieb (Batchbetrieb) Benutzer X Benutzer Y Ausführung Auftrag 1 Ausführung Auftrag 2 Ausführung Auftrag 3 Eingabe Ausgabe Eingabe Ausgabe Eingabe Ausgabe Zeit Problem: beim Stapelbetrieb wird der Hauptprozessor nicht optimal ausgenutzt. Während der Eingabe und Ausgabe liegt der Prozessor brach. 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 28

Stapelbetrieb bzw. Batchbetrieb (3) IBM 1402 IBM 729 Eingabeband Systemband Ausgabeband IBM 729 IBM 1403 Kartenleser Bandgerät Bandgerät Drucker IBM 1401 Vorrechner IBM 7094 Großrechner IBM 1401 Nachrechner Vorrechner zum Einlesen der Lochkarten und Speichern auf Band Großrechner zur Programmausführung Nachrechner zum Einlesen der Ausgabebänder und Ausdrucken der Ergebnisse Vor-/Nachrechner befreien den Großrechner von langsamen I/O-Arbeiten. Von Band kann viel schneller eingelesen werden, als von Lochkarten und auf Band kann viel schneller Ausgegeben werden als auf Papier. Ziel: Vermeidung ungenutzter Rechenleistung des Großrechners. 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 29

Stapelbetrieb bzw. Batchbetrieb (4) Stapelbetrieb mit Vor- und Nachrechner (Spooling) Eingabe Auftrag 1 Eingabe Auftrag 2 Eingabe Auftrag 3 Vorrechner (Eingabeprozessor) Ausführung Auftrag 1 Ausführung Auftrag 2 Ausführung Auftrag 3 Haupt-/Großrechner (Hauptprozessor) Ausgabe Auftrag 1 Ausgabe Auftrag 2 Ausgabe Auftrag 3 Nachrechner (Ausgabeprozessor) Zeit Die Entlastung des Hauptprozessors durch zusätzliche Hardware für Einund Ausgabeoperationen wird als Spooling bezeichnet. Ein- und Ausgabe von Aufträgen geschieht nebenläufig zur Bearbeitung anderer Aufträge. Heute haben Computer naben dem Hauptprozessor spezielle, DMA-fähige (Direct Memory Access) Ein-/Ausgabeprozessoren, die Auftäge direkt in den Hauptspeicher schreiben und Ergebnisse aus diesem holen. Spooling ist auch heute noch aktuell. z.b. Spoolingprozesse zum Drucken. 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 30

Stapelbetrieb bzw. Batchbetrieb (5) Üblicherweise ist die Stapelverarbeitung (Batchbetrieb) eine interaktionslose Ausführung einer Folge von Aufträgen (Jobs). Nach dem Start eines Jobs wird er bis zum Ende oder Auftreten eines Fehlers ohne Interaktion mit dem Benutzer abgearbeitet. Bei frühren Rechnersystemen mit Stapelbetrieb erhielt der Benutzer das Ausführungsergebnis vom Operateur. Beim klassischen Stapelbetrieb handelt es sich um Einzelprogrammbetrieb (Singletasking), bei dem das Betriebssystem immer nur die Ausführung eines Programms auf einmal gestattet. Der Start eines zweiten Programms ist erst nach Beendigung des Ersten möglich. Stapelbetrieb ist heute keineswegs obsolet! Rechenintensive Programme, die auf mehreren verteilten Systemen (Cluster, Grids oder P2P, usw.) laufen, sind in den meisten Fällen interaktionslose Batchprogramme. = Distributed Computing und Number Crunching 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 31

Kleiner Exkurs zu Lochkarten Erfinder: Herman Hollerith Loachkartenpremiere: Amerikanische Vorlkszählung 1890 Holleriths Firma Tabulating Machine Company wurde nach dem Verkauf 1911 und zwei Fusionen im Jahr 1924 in International Business Machines Corporation (IBM) umbenannt. IBM patiert sich 1928 die Lochkarte mit 12 Zeilen zu je 80 Spalten. In jedes Feld kann ein rechteckiges Loch gestanzt werden. In jeder Spalte wird ein Zeichen oder bei Binärdaten ein binäres Datum dargestellt. Jede Lochkarte stellt üblicherweise eine Zeile Programmtext mit 80 Zeichen oder entsprechend viele binäre Daten dar. Das die Zeilenlänge von E-Mails und Textdateien heute noch typischerweise 80 Zeichen beträgt, geht auf die Lochkarte zurück. 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 32

Zwei gestanzte Lochkarten 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 33

Dialogbetrieb Timesharing (1) Erster konzeptioneller Ansatz, im mehrere Benutzer an einem Computer gleichzeitig, konkurrierend, arbeiten zu lassen, indem sie sich die verfügbare Rechenzeit des Hauptprozessors teilen. Die Verteilung der Rechenzeit geschieht mit Zeitscheiben (time slices bzw. time shares) und kann nach unterschiedlichen Strategien erfolgen. Jeder Benutzer glaubt, dass er die gesamten Rechenleistung des Hauptprozessorss stets für sich alleine zur Verfügung hat. Erstmals konnten mehrere Benutzer gleichzeitig über Terminals an einem Computer interaktiv arbeiten und das Rechenverhalten beeinflussen. Die Programme der einzelnen Benutzer sind unabhängig voneinander. Die quasi-parallele Programm- bzw. Prozessausführung bezeichnet man als Mehrprogrammbetrieb oder Multitasking. 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 34

Dialogbetrieb Timesharing (2) Zentralrechner Terminals Benutzerdialog Benutzer A Benutzer B Benutzer C Benutzer D Mehrprogrammbetrieb (Multitasking) A B C D C A C D A B C B D 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 35

Dialogbetrieb Timesharing (3) Durch Dialogbetrieb kamen neue Arbeitsweisen in die IT, die heute selbverständlich sind und neue Konzepte wurden notwendig: Scheduling (Zeitplanerstellung): Automatische Erstellung eines Ablaufplanes (schedule), der Benutzern bzw. Prozessen zeitlich begrenzte Ressourcen zuteilt. Swapping (Umlagerung): Prozess des Ein- und Auslagerns von Speichersegmenten in den/vom Arbeitsspeicher vom/in den Hintergrundspeicher (Festplatten). Swapping findet immer dann statt, wenn der Scheduler einen Prozess aktiviert (siehe Speicherpyramide). Dateisysteme, die quasi-gleichzeitige Dateizugriffe erlauben. Speicherschutz: Der Arbeitsspeicher wird aufgeteilt und laufende Programme voneinander getrennt. So kann ein Programmierfehler oder Absturz eines einzelnen Programms nicht die Stabilität anderer Programme und des Gesamtsystems beeinträchtigen. 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 36

Dialogbetrieb Timesharing (4) Stapelverarbeitung und Dialogbetrieb haben unterschiedliche Ziele. Hauptziel Anweisungsquelle für das Betriebssystem Stapelverarbeitung (Batchbetrieb) Maximierung der Prozessorausnutzung Befehle in Jobsteuersprache, die mit dem Job bereitgestellt werden Dialogbetrieb (Timesharing) Maximierung der Antwortzeit Befehle, die am Terminal eingegeben werden 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 37

Warum bingt Multitasking mehr Rechnerleistung? Auch wenn es nicht gleich ersichtlich ist, bringt Multitasking doch immer große Vorteile mit sich. Programme müssen fast immer zu gewissen Zeiten auf äußere Ereignisse warten. Dabei kann es sich um Benutzereingaben, Eingabe/Ausgabe- Operationen von Peripheriegeräten oder einfach das Warten auf eine Nachricht eines anderen Programms handeln. Durch Multitasking können Programme, die auf ankommende E-Mails, erfolgreiche Datenbankoperationen, geschriebene Daten auf der Festplatte oder ähnliches, in den Hintergrund geschickt werden und andere Programme kommen früher zum Einsatz. Der Overhead, der bei der quasiparallelen Abarbeitung von Programmen durch die Programmwelchsel entsteht, ist im Vergleich mit dem Geschwindigkeitszuwachs zu vernachlässigen. 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 38

Echtzeitbetrieb (1) Bei Echtzeitbetriebssystemen (Real-Time Operating Systems) handelt es sich um Multitasking-Betriebssysteme, in denen zusätzliche Echtzeit-Funktionen für die Einhaltung von Zeitbedingungen und die Vorhersagbarkeit des Prozessverhaltens implementiert sind. Die verfügbaren Ressourcen werden auf mehrere Benutzer und Prozesse aufgeteilt. Beim Echtzeitbetrieb sind alle Programme ständig betriebsbereit und Ergebnisse stehen in einer vorgegebenen Zeitspanne zur Verfügung. Wesentliches Kriteriem von Echtzeitbetriebssystemen: Reaktionszeit Es werden unterschiedliche Prioritäten berücksichtigt, damit die wichtigsten Prozesse innerhalb gewisser Zeitschranken ausgeführt werden. = Es ist eine Vorhersagbarkeit des Prozessverhaltens implementiert. 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 39

Echtzeitbetrieb (2) Typische Einsatzgebiete von Echtzeitbetriebssystemen sind Mobiltelefone, Industrielle Kontrollsysteme, Robotter, usw. Zwei Arten von Echtzeitbetriebssystemen werden unterschieden: Harte Echtzeitsysteme: Zeitvorgaben müssen unbedingt eingehalten werden. Verzögerungen können unter keinen Umständen akzeptiert werden. Ergebnisse sind nutzlos wenn sie zu spät erfolgten. Verzögerungen können zu katastrophalen Folgen und hohen Kosten führen (z.b. Schweißrobotter, Reaktorsteuerung, ABS, Überwachungssysteme auf der Intensivstation, Flugzeugsteuerung). Weiche Echtzeitsysteme: Es sind gewisse Toleranzen erlaubt. Verzögerungen führen zu geringen, akzeptablen Kosten (z.b. Telefonanlage, Parkschein- oder Fahrkartenautomat, Multimedia- Anwendungen wie Audio/Video on Demand). Beispiele: QNX, VxWorks, LynxOS, Nucleus, Symbian und Windows CE 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 40

Klassifikationen von Betriebssystemen (2) Betriebssysteme werden auch nach der Anzahl der gleichzeitig laufenden Programme klassifiziert: Einzelprogrammbetrieb (Singletasking: Es läuft zu jedem Zeitpunkt nur ein einziges Programm. Mehrere gestartete Programme werden nacheinander ausgeführt. Mehrprogrammbetrieb (Multitasking): Mehrere Programme können gleichzeitig (bei mehreren CPUs) oder zeitlich verschachtelt (quasiparallel) ausgeführt werden. Die CPU kann nicht nur am Ende eines Programms einem anderen Programm zugeteilt werden, sondern auch zwischen den Programmen wechseln. = Timesharing: Mehrere Benutzer arbeiten gleichzeitig am System. Der Begriff Task ist gleichzusetzen mit dem Begriff Prozess oder aus Anwendersicht Aufgabe bzw. Auftrag. 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 41

Einzelbenutzerbetrieb und Mehrbenutzerbetrieb (1) Betriebssysteme lassen sich auch nach der Anzahl der gleichzeitig am Computer arbeitenden Benutzer klassifizieren: Einzelbenutzerbetrieb (Single-User): Der Computer steht immer nur einem einzigen Benutzer zur Verfügung. Es gibt Single-User-Betriebssysteme mit Single- und mit Multitasking. Beispiele: MS-DOS, OS/2, Windows 3x/95/98, BeOS,... Mehrbenutzerbetrieb (Multi-User): Mehrere Benutzer, die über Terminals oder Netzwerkverbindungen mit dem Computer verbunden sind, können gleichzeitig mit dem Computer arbeiten und teilen sich die Systemleistung. Die Benutzer müssen durch Paßwörter identifiziert, Zugriffe auf Daten und Prozesse anderer Benutzer verhindert und die Systemressourcen gerecht verteilt werden. Beispiele: Linux/UNIX 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 42

Einzelbenutzerbetrieb und Mehrbenutzerbetrieb (2) Die Desktop/Workstation-Versionen von Windows NT/XP/Vista sind nur halbe Multi-User-Betriebssysteme. Hier können verschiedene Benutzer nur nacheinander an einem Rechner arbeiten, aber die Daten und Prozesse der Benutzer sind voreinander geschützt. Single-User Singletasking MS-DOS Single-User Multitasking OS/2, Windows 3x/95/98, BeOS, MacOS 8x/9x Multi-User Multitasking Linux/UNIX, MacOS-X, Windows NT/2000 Terminal Server 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 43

Klassifikationen von Betriebssystemen (4) Betriebssysteme können auch nach der Anzahl der Hauptprozessoren in unterschieden werden: Ein-Prozessor-Betriebssysteme: Für Computer mit einem Hauptprozessor (CPU). Mehr-Prozessor-Betriebssysteme: Für Computer mit mehr als nur einem Hauptprozessor. Jedem gestarten Programm wird ein Hauptprozessor zugeteilt. Sind mehr Programme gestartet, als Hauptprozessoren existieren, werden die Programme zeitlich verschachtelt (quasi-parallel) ausgeführt. Läuft ein Betriebssystem auf mehreren Hauptprozessoren (oder Systemen) verteilt, spricht man von einem verteilten Betriebssystem. 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 44

Nächste Vorlesung: 16.3.2007 1.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 45