Betriebssysteme - Freie Universität Berlin
Transcription
Betriebssysteme - Freie Universität Berlin
Betriebssysteme Margarita Esponda Freie Universität Berlin WS 2011/2012 1 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 Tabellenkalkulationsprogramme Multimediaanwendungen Web-Browser AnwendungsProgramme Compiler, Editoren, Kommandointerpreter, Fenstersystem, Programmierumgebungen usw. SystemProgramme Software zwischen der Hardware und den Anwendungsprogrammen Software Betriebssystem 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 75 - 85 Hochintegration Teilnehmersysteme LSI Large Scale Integration Platten Datenbanksysteme Rechnernetze Dateisysteme, virtueller Speicher 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 WRITE (6,*) 'ORDNUNG ', N WRITE (6,*) 'BANDBREITE ', M IF (N.GT.NMAX) GOTO 91 IF (M.GT.MMAX) GOTO 91 Stapelsystem Ein einfaches Betriebssystem las einen Job, führte ihn aus und schrieb das Ergebnis auf ein zweites Band. 2.346 2.346 0.627 2.346 2.346 0.627 2.354 2.354 5.765 2.354 2.354 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 Mainframes IBM UNIVAC Burroughs Betriebssysteme Multiprogramming Timesharing Assembler Sehr teuer! (Large Scale Integration) Minicomputers Beispiel: PDP-1 bis PDP-11 Betriebssysteme Multics C Unix BSD (Berkeley Software Distribution) Timesharing Prof. Dr. Margarita Esponda-Argüero 18 Betriebssysteme (1965-1975) Multiprogramming Timesharing Teilnehmerbetrieb Programm 1 Programm 2 Speicher Speicher CPU Programm 3 Betriebssystem 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 Betriebssysteme Probleme nur ein Programm Schwache Nutzung des Hardwares Kein Schutz vor fehlerhaften Programmen Multiprogramming Hardware wird besser benutzt. Ein weiteres Programm wird gestartet, wenn das laufende Programm auf Ein/Ausgabe wartet. Probleme Endlosschleifen Timesharing Preemption Speicherschutz Probleme Komplexität Entwicklungskosten 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 Unix, System V, BSD-Unix, POSIX Mikrocomputers CP/M Betriebssysteme Höhere Modularität Höhere Portabilität Control Program for Microcomputers IBM PC DOS 1.0 8 KB Disk Operating System 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 Dennis Richie C Ken Thompson "simple is beautiful" PDP-11 UNIX 8200 Zeilen C-Code 900 Zeilen Assembler-Code Prof. Dr. Margarita Esponda-Argüero 25 Betriebssysteme (1985-1995) VLSI Mikrocomputers GUI Graphical User Interface 1981 Xerox Star Fenstersysteme Apple‘s Macintosh 1984 Windows 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 1996 Linux Version 2.0 165000 Zeilen Code 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 Microsoft: 900 Entwickler 1,800 Tester "the largest concerted software project in human history" Windows Vista Linux Debian 2.2 ca. 50 Millionen Quellcode Linien SLOCs 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 2007 Mobile PCs 100 Millionen Ultra Mobile PCs Windows Vista Linux Windows XP Tablet PC Edition 2005 2010 5 Milliarden RMI BlackBerry Windows Mobile 2008 12% Markt 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 GPP Daten 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 Buffer Program Flow Address Data Flow Data Computation Prof. Dr. Margarita Esponda-Argüero 37 Mehrfache Arithmetische Einheiten + Spezialisierte Instruktionen acc = acc + a*b DSP mac x0,y0,a x:(r0)+,x0 y:(r4)+,y0 CISC GPP mpy r2, r3, r4 Add r4, r5, r5 mov (r0), r2 mov (r1), r3 inc r0 inc r1 RISC 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 Buffer Program Flow Address Data Flow Data 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. VxWorks Windows CE Echtzeitbetriebssysteme für mobile Endgeräte 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 ACOS / ACOS2 Basic Card CARDOS DKCCOS GPK Java Card Micardo MULTOS SETCOS SiCrypt STARCOS / SECCOS TCOS Austria Card Advanced Card Systems Zeitcontrol Siemens Safenet (Datakey) Gemplus Java Card Forum ORGA Maosco SETEC (Finnland) Infineon G&D 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 SupercomputerServerMultiprozessorPCPDA- Betriebssysteme EchtzeitEingebetteteChipkartenMultimediaProf. Dr. Margarita Esponda-Argüero 45 Typische Struktur eines Betriebssystems Programme Bibliotheken Kommandozeileninterpreter, Sprachübersetzer, Systembibliotheken Schnittstelle zum Kernel System-API Systemaufrufe Prozess-, Ressourcen-Verwaltung Dateisystem Schnittstelle zur Hardware BenutzerEbene Treiber .... KernelEbene 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