Betriebssysteme - WS 2011/2012 Margarita Esponda Freie Universität Berlin - Freie Universität Berlin

Die Seite wird erstellt Eva Eichler
 
WEITER LESEN
Betriebssysteme - WS 2011/2012 Margarita Esponda Freie Universität Berlin - Freie Universität Berlin
Betriebssysteme

     Margarita Esponda
   Freie Universität Berlin
       WS 2011/2012

                              1
Betriebssysteme - WS 2011/2012 Margarita Esponda Freie Universität Berlin - Freie Universität Berlin
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