Betriebssysteme - WS 2011/2012 Margarita Esponda Freie Universität Berlin - Freie Universität Berlin
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Betriebssysteme Heute Definition eines Betriebssystems Geschichte der Betriebssysteme Prof. Dr. Margarita Esponda-Argüero 2
Was ist ein Betriebssystem? Heutzutage weiß jeder, was ein Betriebssystem ist. Prof. Dr. Margarita Esponda-Argüero 3
Was ist ein Betriebssystem? Ein Betriebssystem ist der wichtigste Softwareteil eines modernen Computersystems. Ein Betriebssystem ermöglicht die grundlegende Kommunikation zwischen Hardware und Anwenderprogrammen. Es verwaltet Betriebsmittel wie Speicher, Ein- und Ausgabegeräte und steuert die Ausführung von Programmen. Prof. Dr. Margarita Esponda-Argüero 4
Was ist ein Betriebssystem? Datenbanksysteme Spiele Internetanwendungen Textverarbeitung Anwendungs- Tabellenkalkulationsprogramme Programme Multimediaanwendungen Web-Browser Software Compiler, Editoren, Kommandointerpreter, System- Fenstersystem, Programmierumgebungen usw. Programme Software zwischen der Hardware und den Betriebssystem Anwendungsprogrammen Hardware Prof. Dr. Margarita Esponda-Argüero 5
Warum Betriebssysteme? Betriebssysteme sollen noch effizienter laufen. Paralleles Hardware soll ausgenutzt werden. Der Energieverbrauch spielt eine immer größere Rolle. Sicherheitsprobleme sollen gelöst werden. Neue Geräte brauchen neue Betriebssysteme. Anwendungen werden besser, wenn die Vorteile der darunterliegenden Betriebssystems ausgenutzt werden. Prof. Dr. Margarita Esponda-Argüero 6
Zwei Sichtweisen Ein Betriebssystem ist eine virtuelle Maschine, die von den Hardwaredetails abstrahiert und die Programmierung von Anwendungen dadurch erleichtert. - macht Software portabel Ein Betriebssystem ist ein Ressourcen-Manager, der eine kontrollierte Zuteilung von Prozessoren, Rechenzeit, Speicher und Ein-Ausgabegeräten realisiert. - Zeit und Raum Zuteilung - bietet Schutz - macht endliche Hardware virtuell unendlich Prof. Dr. Margarita Esponda-Argüero 7
Betriebssysteme Heute Definition eines Betriebssystems Geschichte der Betriebssysteme Prof. Dr. Margarita Esponda-Argüero 8
Die mobile Revolution Fünfziger Jahre Sechziger Jahre Steinzeit der Computer Siebziger Jahre Mainframes (Tausende) Achtziger Jahre Minicomputer Neunziger Jahre PCs (Millionen) Erstes Jahrzehnt Vernetzte PCs Eingebettete und mobile Rechner (Milliarden) Prof. Dr. Margarita Esponda-Argüero 9
Betriebssysteme Entwicklung Zeit Hardware Betriebssoftware 45 - 55 Röhren Lader 55 - 65 Transistor Stapelsysteme Bänder, Trommeln 65 - 75 Hochintegration Teilnehmersysteme LSI Large Scale Integration Datenbanksysteme Platten Rechnernetze Dateisysteme, virtueller Speicher 75 - 85 VLSI Personal Computing Fenstersysteme 85 - 95 Schnelle Netze Verteilte Betriebssysteme Client/Server-Systeme 95 - 2005 Mobile Rechner Betriebssysteme für Mobile und Eingebettete Systeme 2005 - 2011 Mobile und Eingebettete Systeme mit Multimedia-Anwendungen Prof. Dr. Margarita Esponda-Argüero 10
Betriebssysteme (1945-1955) Die ersten Computer hatten kein Betriebssystem Kein Programm im heutigen Sinn Steckkarten Elektronenröhren Prof. Dr. Margarita Esponda-Argüero 11
Das erste Betriebssystem 1953 EDVAC Electronic Discrete Variable Computer 1024 Speicherworte Aufgaben des Betriebssystems: Die Ausführung des Programms zu verfolgen. Unterprogramme wieder zu laden. Dezimalzahlen in Binärzahlen zu verwandeln. Selbstüberschreibung von Teilen, die nicht mehr benötigt werden. Assembler Programme zu korrigieren. Assembler Programme zu kompaktieren. Prof. Dr. Margarita Esponda-Argüero 12
Betriebssysteme (1950-1955) Programmlader 1954 Lochkarten UNIVAC 1103 MIT's operating system 1955 IBM 701 General Motors OS in 1955 Prof. Dr. Margarita Esponda-Argüero 13
Betriebssysteme (1945-1955) Die erste Computergeneration besaß nur einen Programmlader Der Programmlader wurde nach Einschalten des Rechners geladen. Der Programmlader las ein Programm, führte es aus und schrieb das Ergebnis auf. Dann wurde das nächste Programm geladen. Programmlader nur ein Programm im Speicher Prof. Dr. Margarita Esponda-Argüero 14
Betriebssysteme (1955-1965) Transistor Mainframes Stapelsystem 1961 MIT CTSS Compatible Time-Sharing System Timesharing-Betriebssystem Prof. Dr. Margarita Esponda-Argüero 15
Betriebssysteme (1955-1965) Fortran C EINLESEN DER DATEN READ (5,*,END=92) N,M Stapelsystem WRITE (6,*) 'ORDNUNG ', N WRITE (6,*) 'BANDBREITE ', M IF (N.GT.NMAX) GOTO 91 IF (M.GT.MMAX) GOTO 91 Ein einfaches Betriebssystem las einen Job, führte ihn aus und schrieb das Ergebnis auf ein zweites Band. 2.346 2.354 2.346 2.354 0.627 5.765 2.346 2.354 2.346 2.354 0.627 5.765 Tannenbaum Überlappung von Lesen – Verarbeiten – Drucken 16
Betriebssysteme 1961 MIT First Timesharing System CTSS Compatible Time-Sharing System Demo-Version mit nur 3 Benutzern Crisman, 1964. Interactive computing Durchbruch in der Softwareentwicklung Prof. Dr. Margarita Esponda-Argüero 17
Betriebssysteme (1965-1975) LSI-Schaltungen (Large Scale Integration) Mainframes Minicomputers IBM UNIVAC Burroughs Beispiel: PDP-1 bis PDP-11 Betriebssysteme Betriebssysteme Multics Multiprogramming C Timesharing Unix Assembler BSD (Berkeley Software Distribution) Sehr teuer! Timesharing Prof. Dr. Margarita Esponda-Argüero 18
Betriebssysteme (1965-1975) Multiprogramming Timesharing Teilnehmerbetrieb Programm 1 Programm 2 Speicher CPU Speicher Programm 3 Betriebs- system Prof. Dr. Margarita Esponda-Argüero 19
Betriebssysteme (1965-1975) Timesharing Ein/Aus-Routinen Monitor Batch-Job 1 Batch-Job 2 Job 1 Job 2 Job 3 Prof. Dr. Margarita Esponda-Argüero 20
Erste Multiprogramming Timesharing Betriebssysteme Probleme Hardware wird Preemption besser benutzt. Speicherschutz nur ein Programm Ein weiteres Programm wird Schwache Nutzung gestartet, wenn das des Hardwares laufende Programm auf Ein/Ausgabe Probleme wartet. Kein Schutz vor Komplexität fehlerhaften Probleme Programmen Entwicklungskosten Endlosschleifen Speicherschutz Prof. Dr. Margarita Esponda-Argüero 21
Betriebssysteme (1965-1975) Die Entwicklung des Betriebssystems verwandelte sich in einen Alptraum? IBM Beispiel - OS/360 Multiprogramming-System - 60 Top-Programmierer - Erste Verspätung bis 1965 - 150 Top-Programmierer - Zweite Verspätung bis 1967 - am Ende arbeiteten mehr als 1000 Leute in der Entwicklung. - $500 000 000 (geplant waren nur $125 000 000) - viele Fehler! Prof. Dr. Margarita Esponda-Argüero 22
Betriebssysteme (1965-1975) IBM Beispiel 23
Betriebssysteme (1975-1985) Hardware ist ständig billiger geworden VLSI-Schaltungen Minicomputers Mikrocomputers Unix, System V, BSD-Unix, POSIX CP/M Control Program for Microcomputers Betriebssysteme IBM PC Höhere Modularität DOS 1.0 8 KB Disk Operating System Höhere Portabilität XENIX nur der Kernel in Assembler programmiert, der Rest in C MS-DOS nur ein C-Compiler ist nötig Einbenutzersystem mit Unix entstehen viele neue Hardwarefirmen Ein Programm Prof. Dr. Margarita Esponda-Argüero 24
UNIX MULTICS Bell Labs, MIT und General Electric Ken Thompson UNICS abgespeckte Version von MULTICS Das UNIX-Betriebssystem entsteht nach dem Prinzip der Einfachheit "simple is beautiful" Dennis Richie PDP-11 C UNIX Ken 8200 Zeilen C-Code Thompson 900 Zeilen Assembler-Code Prof. Dr. Margarita Esponda-Argüero 25
Betriebssysteme (1985-1995) VLSI Mikrocomputers GUI Graphical User Interface Fenstersysteme 1981 Xerox Star Apple‘s Macintosh Windows 1984 Daraufgesetzte graphische Oberfläche Windows 95 Netzwerkbetriebssysteme Verteilte Systeme 26
Betriebssysteme (1991) von Tanenbaum für Linux Torvalds schrieb: Lernzwecke entwickelt ... Hello everybody out there using minix – I‘m doing a (free) operating system (just a hobby, won‘t be big and professional like gnu) for 386(486) AT clones . . . 1991 Linux 0.0.1 auf Intel 386 beschränkt. 1994 Linux Version 1.0 165000 Zeilen Code 1996 Linux Version 2.0 470000 Zeilen Code Prof. Dr. Margarita Esponda-Argüero 27
Betriebssysteme (1995-2011) Mikrocomputers Windows 2000 ca. 40 Millionen Quellcode Linien SLOCs ?? Insgesamt 5,245 Mitarbeiter 2007 900 Entwickler 1,800 Tester Microsoft: "the largest concerted software project in human history" Windows Vista ca. 50 Millionen Quellcode Linien SLOCs Linux Debian 2.2 ca. 59 Millionen SLOCs Linux+GNU Linux Debian 3.0 (2002) ca. 105 Millionen SLOCs Linux+GNU Linux Debian 4.0 ca. 283 Millionen SLOCs Linux+GNU Mac OS X 10,4 ca. 86 Millionen SLOCs Darwin+Systemsoftware Prof. Dr. Margarita Esponda-Argüero 28
Betriebssysteme Donald Knuth sagt: "An elephant is a mouse with an operating system.“ + Betriebssystem = Prof. Dr. Margarita Esponda-Argüero 29
Betriebssysteme (1995-2011) Serverbetriebssysteme Windows NT . . . Windows Server 2011 AppelShare . . MacOS X Server (basiert auf BSD Unix) Red Hat Enterprise Linux 6 Ressourcen Fehlertoleranz freeBSD Devian GNU/Linux Nebenläufigkeit Netzsicherheit 30
Betriebssysteme (2000-2011) Mobile Rechner Tablet PCs Ultra Mobile PCs 2007 Windows Vista Mobile PCs Linux 100 Millionen Windows XP Tablet PC Edition 2005 RMI BlackBerry 2010 Windows Mobile 2008 12% Markt 5 Milliarden Mac OS auf iPhone Palm OS → Garnet OS → Acces Linus Symbian "Belle" Marktführer 190 Millionen Geräte mit Android bis Oktober 2011 Prof. Dr. Margarita Esponda-Argüero 31
Faktoren für eine höhere Nutzbarkeit von mobilen Geräten Tragbar klein und leicht Lange Betriebsdauer sehr energiesparsam Kommunikation sehr effiziente Signalverarbeitung Bandbreite Echtzeitfähig Prof. Dr. Margarita Esponda-Argüero 32
DSP Digital Signal Processors DSP Prozessoren sind zu mobilen Geräten wie General Purpose Processors (GPP) zu Desktops GPU Graphics Processing Unit Mehr als 96% der heutigen Prozessoren sind DSP und eingebettete Prozessoren Prof. Dr. Margarita Esponda-Argüero 33
Genes Gesetz: Immer weniger Energie pro MIPS Gene 2000 34
GPP Architektur vs. DSP Große Bandbreite Programm Speicher Programm + Daten Speicher Daten GPP Speicher DSP Daten Speicher Daten Speicher Prof. Dr. Margarita Esponda-Argüero 35
Lange Betriebsdauer Parallele Architekturen Die Energie ist proportional zum Quadrat der Spannung V, der Kapazität C und der Frequenz F CMOS Energie ~ C V2 F ½V Energie ~ ¼ C V2 F ½F Energie ~ 1 8 C V2 F ⇒ ½ Performance verdopple die Anzahl der Arithmetischen Einheiten Ein Viertel der Energie ohne Performanceverlust Prof. Dr. Margarita Esponda-Argüero 36
Texas Instruments TMS320C55x Harvard Architektur Program Data Read Data Read Data Read Data Write Data Write CPU Instruction Program Address Data Buffer Flow Data Flow Computation Prof. Dr. Margarita Esponda-Argüero 37
Mehrfache Arithmetische Einheiten + Spezialisierte Instruktionen acc = acc + a*b DSP GPP mac x0,y0,a x:(r0)+,x0 y:(r4)+,y0 mpy r2, r3, r4 Add r4, r5, r5 mov (r0), r2 RISC CISC mov (r1), r3 inc r0 inc r1 Prof. Dr. Margarita Esponda-Argüero 38
Mehrfache Arithmetische Einheiten (MACs, ALU, Shifter) Program Data Read Data Read Data Read Data Write Data Write CPU Instruction Program Address Data Buffer Flow Data Flow Computation Data Computation Unit 39
Variable Befehlslänge für höheren Durchsatz Kompression durch Compiler Programm Programm Speicher Dekompression Very Long Instruction Word CPU Prof. Dr. Margarita Esponda-Argüero 40
Mobile Geräte Mobile Geräte der neuen Generation integrieren verschiedene Datendienste. Prozessoren für diese Geräte besitzen eine hybride Architektur. Das Grundproblem ist und bleibt der Energieverbrauch. Hardware-Architektur-Design geht Hand in Hand mit der Software-Entwicklung (Software-Hardware-Synergie). Betriebssysteme müssen Energie-Management haben. Prof. Dr. Margarita Esponda-Argüero 41
Betriebssysteme (2000-2011) Eingebettete Betriebssysteme Es gibt weit mehr als 100 Betriebssysteme für eingebettete Systeme, wie Handys, Kameras, Automobile , Hausgeräte oder Industrieautomaten. Echtzeitbetriebssysteme VxWorks für mobile Endgeräte Windows CE Windows XP Embedded Embedded Linux Nucleus OS QNX Neutrino RTOS Embedded Linux Prof. Dr. Margarita Esponda-Argüero 42
Betriebssysteme (2000-2011) Eingebettete Betriebssysteme Smart Card COS Chipcard Operating System ACOS Austria Card ACOS / ACOS2 Advanced Card Systems Basic Card Zeitcontrol CARDOS Siemens DKCCOS Safenet (Datakey) GPK Gemplus Java Card Java Card Forum Micardo ORGA MULTOS Maosco SETCOS SETEC (Finnland) SiCrypt Infineon STARCOS / SECCOS G&D TCOS Telesec Prof. Dr. Margarita Esponda-Argüero 43
Moderne Rechensysteme Verschiedene Parallelisierungsformen Beispiel: • Mehrere komplette Prozessoren auf einem Chip • Koprozessoren • Parallele Funktionseinheiten • Hardware-Multithreading • Teilwort-Parallelität (SIMD) • Überlappte Ausführung (pipelining) Hauptgrund: Die Verarbeitung von Multimediadaten Prof. Dr. Margarita Esponda-Argüero 44
Betriebssysteme Supercomputer- Server- Multiprozessor- PC- Betriebssysteme PDA- Echtzeit- Eingebettete- Chipkarten- Multimedia- Prof. Dr. Margarita Esponda-Argüero 45
Typische Struktur eines Betriebssystems Programme Bibliotheken Benutzer- Ebene Kommandozeileninterpreter, Sprachübersetzer, Systembibliotheken Schnittstelle System-API Systemaufrufe zum Kernel Prozess-, Ressourcen-Verwaltung Kernel- Ebene Dateisystem Treiber .... Schnittstelle zur Hardware HAL Schnittstelle zur Hardware Hardware Prof. Dr. Margarita Esponda-Argüero 46
Grundfunktionalität von Betriebssystemen Prozessverwaltung Erzeugen, Starten, Anhalten und Löschen von Prozessen Zuweisung von Ressourcen zu Prozessen Schutz von Prozessen, durch Isolierung Kommunikation zwischen Prozessen Geräteverwaltung Steuerung der Geräte (Driver) Abstraktion von Hardwaredetails Schnittstelle für höhere Schichten Speicherverwaltung Verwaltung des Hauptspeichers und des virtuellen Speichers Teilung und Schutz von Speicherbereichen Dateiverwaltung und Objektverwaltung Netzkommunikation Energieverwaltung Prof. Dr. Margarita Esponda-Argüero 47
Sie können auch lesen