SlideShare una empresa de Scribd logo
1 de 105
Descargar para leer sin conexión
Überblick
  Betriebssysteme
  am Beispiel                                                                                        klassische Betriebssysteme
                                                                                                 q
                                                                                                         Einführung und Überblick
                                                                                                     s




             Linux                                                                                       Hardware-Grundlagen
                                                                                                     s
                                                                                                         Prozessverwaltung
                                                                                                     s
                                                                                                         Speicherverwaltung
                                                                                                     s
                                                                                                         Dateisysteme
                                                                                                     s
                                                                                                         Ein-/Ausgabe
                                                                                                     s
                                                                                                         Deadlocks
                                                                                                     s

                                                                                                     Einführung in Linux/Unix
                                                                                                 q
                                                                                                         Überblick, Installation, System-Grundlagen
                                                                                                     s
                   Fachhochschule Pforzheim                                                              Dateisystem, die Shell, Task-Management,
                                                                                                     s
                                                                                                         Linux administrieren, die grafische Oberfläche
                                                                                                     s

                        Prof. W. Burkard                                                                 Linux im Netz: NIS und NFS
                                                                                                     s

                                                                                                     Praxisteil Java-Threads
                                                                                                 q
                        FB 7, Studiengang Wirtschaftsinformatik
                                                                                                         Threads und Prozesse in Java
                                                                                                     s
                                                                                                         die Synchronisationsproblematik und ihre Lösungen
                                                                                                     s
                                                                                                         Interprozesskommunikation
                                                                                                     s

     Prof. W. Burkard                                             1           Prof. W. Burkard                                                               2




Stichworte                                                                Stichworte




Notizen                                                                   Notizen
                           14:00, 09.07.2007




          Von Yan, Jörg, Marcus , 14:00, 09.07.2007




                                                                      1                                                                                          2
Organisation der Vorlesung                                                                                               Literatur
  Teilnehmer
                                                                                                            [Tannen95] Andrew S. Tannenbaum, Moderne Betriebssysteme,
        Betriebswirte SG Wirtschaftinformatik
      s
                                                                                                                        Hanser-Verlag München/Wien 1995
      s Bachelor of Information Systems
                                                                                                            [Oechsle01] Rainer Oechsle, Parallele Programmierung mit Java
      s Ingenieure der Elektrotechnik Diplom/Bachelor
                                                                                                                        Threads, Hanser-Verlag München/Wien 2001
                                                                                                            [Nehmer01]        Jürgen Nehmer und Peter Sturm, Systemsoftware




             oc 1

             oc 12
             oc 0




                   14
             oc 3
                                                                                                                              (Grundlagen moderner Betriebssysteme), dpunkt-Verlag, Heidelberg 2001
                   5
                   1




                   3




                   7
                   2




                   6




                   1
                   4




                   1
                   9
                   8




                   1
                he
                he




                he




                he
                he




                he




                he

                he
                he




                he
                he




                he
               he




               he
                                                                                                            [Kredel02]        H. Kredel & A. Yoshida, Thread- und Netzwerkprogrammierung mit Java,
             oc
             oc




             oc




             oc
             oc




             oc
             oc




             oc
             oc
             oc
           W
        W




           W




           W
                  W




           W




           W

           W
           W




           W
           W




           W
           W




           W
                                                                                                                              dpunkt-Verlag, Heidelberg 2002
                                                                                                            [Brause98]        Rüdiger Brause, Betriebssysteme, Springer-Verlag, Berlin 1998
                                                      für Betriebswirte keine Pflicht
                       Pflichtteil Betriebswirte                                                            [Siegert98]       H.J.Siegert, Betriebssysteme eine Einf., Oldenbourg-V. München 1998
                                                                                                            [Steen95]         Maarten van Steen, Computer and Network Organization,
                                                                                                                              Prentice-Hall, München 1995
                             Pflichtprogramm für alle Ingenieure                    Thread-                 [Stucky97]        Wolffried Stucky, Der Rechner als System,
                       Betriebssysteme Theorie (7)   Linux / Unix-Teil (4)   Programming (3)
                                                                                                                              Teubner-Verlag, Stuttgart 1997

    Prof. W. Burkard                                                                           3           Prof. W. Burkard                                                                  4




Stichworte                                                                                             Stichworte




Notizen                                                                                                Notizen




                                                                                                   3                                                                                              4
Aufgaben der Betriebssysteme                                                                  Geschichte der Betriebssysteme
 Definition:                                                                                    Generation 1:                         Generation2:
 Das Betriebssystem steuert und verwaltet die vorhandenen Betriebsmittel eines Rechners         Rechner ohne Betriebssystem, keine    Idee des Stapelbetriebes mit getrennten
 und stellt den Anwendern und den Anwendungsprogrammen Schnittstellen zur Verfügung,            Unterscheidung der Anwender in        Systemen für Eingabe, Verarbeitung, Ausgabe.
 die den möglichst einfachen und damit effiziente Umgang mit den Ressourcen ermöglichen.        Entwickler,Operateur, Programmierer   Der teuere Rechner wurde besser ausgenutzt,
                                                                                                und Nutzer. ( bis Mitte der 50er)     durch Verringern der Stillstandszeiten.

 Aufgaben:
 • Verwalten vorhandener Ressourcen:
               •Prozessoren,
               •Speicher,
               •Peripherie-Geräte,
               •Prozesse
 • Anbieten abstrakter Schnittstellen zu den Betriebsmitteln
 • Steuern und Überwachen der Anwendungs-Software
 • Realisieren von Kommunikationswegen zwischen den
   einzelnen Ressourcen des Systems,
   den Anwendungsprogrammen und dem Menschen

      Prof. W. Burkard                                                                5             Prof. W. Burkard                                                        6




Stichworte                                                                                     Stichworte




Notizen                                                                                        Notizen

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.




                                                                                           5                                                                                    6
Mehrprogrammbetrieb                                                                                                               Timesharing
           Mehrere Jobs werden im Hauptspeicher gehalten.
    q
           Wenn ein Job auf das Ende einer I/O-Operation wartet, wird die CPU einem anderen
    q                                                                                                                          = Variante des Mehrprogrammbetriebes
           Job zugeteilt.
                                                                                                                               q Bisheriges Problem: zu lange Antwortzeiten verhinderten interaktives Arbeiten
                                                                                                        nur ein Job gibt
           d.h. es können zu einem bestimmten Zeitpunkt mehrere Jobs “in Arbeit” sein.
    q
                                                                                                                               q Lösung: Betriebssystem weist die CPU den Jobs explizit zu und “entreist” sie
           ABER: Nur ein in “Warteposition” gehender Job gibt die CPU frei
    q
                                                                                                        CPU frei, und zwar        ihnen wieder, auch unabhängig von deren Bearbeitungsstand !!
           ==> non-preemptive-scheduling
                                                                                                                               q d.h. das BS stellt sicher, dass die aktiven Jobs innerhalb einer gewissen
                                                                                                        der der gerade
           Job-Spooling (Simultaneous Peripheral Operation On Line) =
    q
                                                                                                                                  Zeitspanne immer wieder auf der CPU ein Stück weiterlaufen.
           Zwischenlagerung der ankommenden Jobs auf Magnetplatte, so dass beim
                                                                                                        dran war
           Freiwerden einer Partition ein neuer Job sofort nachgeladen werden konnte                                           q ==> preemptive-scheduling
           Speicherpartitionierung = Aufteilung des Hauptspeichers in separate Teile, in die
    q
                                                                                                                                                                                      ! !W
           je ein Job geladen werden kann                                                                                      Forderungen an einen guten Scheduling-Algorithmus:




                                                                                                                                                                                                                       
                                                                                                                                                                                          ide




                                                                                                                                                                                                            ¥ £
                                                                                                                                                                                             rs




                                                                                                                                                                                                               ¥
                                                                                                                               q Fairness: Jeder Job erhält gerechten Anteil an CPU-Zeit
                                                                                                                                                                                               pr
                                                                                                                                                                                                  üc




                                                                                                                                                                                                       ¥£
                                       Speicher-    Speicher-    Speicher-            Speicher-                                q Effizienz: CPU ist immer voll ausgelastet
                                                                                                                                                                                                    hl




                                                                                                                                                                                                        
    Speicherbereich für das
                                                                              ...                                                                                                                      ich
                                       partiton 1   partiton 2   partiton 3           partiton n
    Betriebssystem                                                                                                             q Antwortzeit: Ist für interaktive Nutzer minimal




                                                                                                                                                                                                     
                                                                                                                                                                                                          e




                                                                                                                                                                                                      
                                        “Job 1”      “Job 2”      “Job 3”              “Job n”
                                                                                                                                                                                                            Zi




                                                                                                                                                                                               §©¨
                                                                                                                               q Verweilzeit: Stapeljobs bleiben möglichst kurz im System
                                                                                                                                                                                                               el




                                                                                                                                                                                          § ¥¦ £¤
                                                                                                                                                                                                                  e!!
                                                                                                                               q Durchsatz: Möglichst viele Aufträge je Zeiteinheit




                                                                                                                                                                                      ¢   
                                                                                                                                                                                      ¡
           Synonyme Begriffe: Job = Task = Prozeß                (aber nur bedingt = Thread )
    Prof. W. Burkard                                                                            7                              Prof. W. Burkard                                                                  8




                                                                               das BS weist
Stichworte                                                                                                              Stichworte
                                                                               explizit die Jobs zu




Notizen                                                                                                                 Notizen

                                                                                                                             Time-Sharing war der erste konzeptionelle Ansatz in der
                                                                                                                             Computertechnologie mehrere Benutzer an einem Computer
                                                                                                                             quasi gleichzeitig arbeiten zu lassen, in dem sie sich die
                                                                                                                             Rechenzeit des einzigen vorhandenen Prozessors teilten.
                                                                                                                             Jedem einzelnen Benutzer erschien es dabei so, als hätte er
                                                                                                                             die gesamten Ressourcen des Computer stets für sich allein
                                                                                                                             zur Verfügung.
                                                                                                                             Heutzutage wird der Begriff Time-Sharing, wenn er überhaupt
                                                                                                                             noch verwendet wird, häufig irrtümlich mit dem Multitasking
                                                                                                    7                                                                                   8
                                                                                                                             gleichgesetzt. Auch wenn beide Konzepte das quasi parallele
                                                                                                                             Arbeiten an einem Prozessor betreffen, so beruht
Schnittstelle

                                                                                                                                Betriebssystem?
                       vernetzte Rechner                                                                                      Was ist das eigentlich?

                                                                                                                                                      Anwendungsprogramme
    neue Herausforderungen:                                                                         SAP/R3                MS-Office     Browser ...
       Betriebssysteme mehrerer Rechner müssen miteinander kommunizieren
                                                                                                      Compiler               Editoren     MMS
       Ressourcenverteilung über Rechnergrenzen hinweg
                                                                                                                                                      Systemprogramme
       Entstehung von Arbeitsteilung und Spezialisierung im Verbund (=Client/Server)

                                                                                                       BETRIEBSSYSTEM
    Netzwerkbetriebssystem:
       Jeder Rechner im Netz hat sein eigenes Betriebssystem. Die Benutzer sind sich
       der Netzstruktur bewußt und greifen explizit auf nicht-lokale Ressourcen zu.
                                                                                                                     Maschinensprache
                                                                                                                                                      Hardware
    verteilte Betriebssysteme:
        Das gesamte Netz erscheint dem Anwender gegenüber wie ein einziger Rechner.                                      Mikroprogramme                              GUI
        Auf welchem Rechner ein Prozeß läuft und/oder wo eine Datei real gespeichert
        wird, ist dem Anwender nicht bekannt. Der Zugriff auf die verteilten Ressourcen
        erfolgt automatisch, möglichst effizient und bleibt dem Anwender verborgen.                               physikalisches Gerät


    Prof. W. Burkard                                                                    9             Prof. W. Burkard                                                  10




Stichworte                                                                                        Stichworte
                                                                                                  MMS = Mensch-Maschine-Schnittstelle, in der Regel
                                                                                                  Kommandointerpreter bzw. grafische Benutzeroberfläche

                                                                                                Schnittstelle zw. Anwendungsprogrammen und Hardware

Notizen                                                                                           Notizen




                                                                                            9                                                                                10
I
                                                                                               Wozu brauchen wir ein BS?
            Softwarestrukturen in einem Rechner
                                                                                 Es bietet...
                                                                                 ... den Anwendungen einen komfortablen Zugriff zu den Hardwareressourcen eines
                                                                                     Rechners
                                                                                 ... somit wichtige Brückenfunktion zwischen Anwendung und Rechnerhardware
                                                                                 ... Koordination von unabhängigen Anwendungen, so dass sie sich bei Mehrbenutzer-
                                                                                     bzw. Mehrprogrammbetrieb beim Ressourcenzugriff nicht in die Quere kommen.

                                                                                 Was aber heißt „komfortabler Zugriff“ ?
                                                                                 Beispiel:
                                                                                    Eine Anwendung will Daten persistent auf externem Medium speichern.
                                                                                    Dafür gibt’s mehrere Alternativen:
                                                                                        Direktes Abspeichern von Blöcken auf einer Festplatte
                                                                                 q
                                                                                        Benutzung eines Dateisystems, das seinerseits eine Festplatte bzw. Blöcke nutzt
                                                                                 q
                                                                                        Benutzung eines Datenbank-Systems, das auf einem Dateisystem aufsetzt, das ...
                                                                                 q
                                                                                        Verwendung persistenter Objekte in einer OO-Programmierumgebung, die eine
                                                                                 q
                                                                                        Datenbank als Unterstützung voraussetzt, die auf einem Dateisystem fußt, das ...

    Prof. W. Burkard                                       11                    Prof. W. Burkard                                                                    12




Stichworte                                                                   Stichworte
MMS = Mensch-Maschine-Schnittstelle, in der Regel
                                                                            Daten sind persistent, wenn sie die Lebensdauer in
Kommandointerpreter bzw. grafische Benutzeroberfläche
                                                                            der Applikation, in der sie entstanden sind,
                                                                            überleben.

Notizen                                                                      Notizen

                                                                            -Klasse ist ein Plan, es beschreibt wie ein
                                                        objektorientierte    Objekt auszusehen hat
                                                        Programmierung
                                                                            Java: Klasse = Bauplan




                                                                11                                                                                                         12
II                                                                                                                  III
                   Wozu brauchen wir ein BS?                                                                                           Wozu brauchen wir ein BS?
     Das Beispiel zeigt:                                                                                                     Der direkte Umgang der Anwendungsprogramme mit der Hardware ist aus mehreren
                                                                                                                             Gründen problematisch:
     q Es wird immer ein Gerät benutzt (Festplatte)
                                                                                                                             Schnittstellen zu Geräte-Controllern sind heute zwar weitgehend genormt, aber
                                                                                                                     q
     q Es gibt mehrere unterschiedliche Abstraktionsebenen
                                                                                                                             dennoch unhandlich.
     q Welche Abstraktionsebene gewählt wird ist sehr stark von der Anwendung abhängig
                                                                                                                             Koordination von Prozessor und anderen Komponenten mit den hardwareseitig
                                                                                                                     q
                                                                                               Schnittstelle einer
     q Wie lassen sich die Dienste einer Abstraktionsebene nutzen ?
                                                                                                                             verfügbaren Hilfsmitteln (Interruptmechanismen, Zyklisches Abfragen (Polling) ) führt
           es gibt ein Laufzeitpaket, d.h. einer Anwendung wird eine Menge von Funktionen
     q
                                                                                               Anwendung zu                  zu schwer durchschaubaren Progammstrukturen, die wir auf Anwendungsebene nicht
            




        zur Verfügung gestellt, die den Zugang zu den gebotenen Diensten ermöglicht.                                         haben wollen.
                                                                                               einem Dienst der
        (Application Programming Interface API )
                                                                                                                             Direkter Hardwarezugriff bedeutet in Mehrbenutzerbetrieb schwerwiegende
                                                                                                                     q
     q Die gebotenen Dienste können vom BS selbst oder aber von anderen Serviceleistern
                                                                                               Abstraktionsebene             Schutzprobleme durch unvermeidbare Benutzung privilegierter Instruktionen
        erbracht werden (dann aber ist das BS nur als Vermittler tätig)
                                                                                                                             Ohne unterstützende Software ist die Abwicklung unabhängiger Benutzeraktivitäten in
                                                                                                                     q
     q Die Dienste des Betriebsystems werden also durch einen „ganz normalen“
                                                                                                                             einem Multiuserbetrieb undenkbar, Koordinationsaufwand zu komplex.
        Prozeduraufruf angefordert.
     q Dieser „ganz normale“ Prozeduraufruf wird system call (Systemaufruf) genannt und
                                                                                                                             Anwender wünschen sich indirekten Zugang zur Hardware über eine Dienstschicht,
        mündet in aller Regel in einem TRAP (Einsprung in den Betriebssystemkern)




                                                                                                                      
                                                                                                                             die quasi eine virtuelle Maschine darstellt und komfortabel benutzbar ist.


TRAP (Falltür)
     Prof. W. Burkard                                                                13                                  Prof. W. Burkard                                                                    14

                                                                                 Ein Systemaufruf, auch Systemcall (von engl.
= entladen des
                                                                                 system call) oder kurz Syscall, ist in der
  Stichworte                                                                                             Stichworte
Prozesses aus dem
                                                                                 Computertechnik eine Methode, um von einem
Speicher und
                                                                                 Benutzer-Prozess aus Aufgaben im
Ergebnisse des system
                                                                                 Systemkontext ausführen zu lassen.
calls verschicken an
das BS
                                     Eine Programmierschnittstelle ist eine Schnittstelle, die von einem
                                     Softwaresystem anderen Programmen zur AnbindungNotizen System
                                                                                              an das
 Notizen
                                     zur Verfügung gestellt wird. Oft wird dafür die Abkürzung API (für engl.
                                     application programming interface, deutsch: „Schnittstelle zur
                                     Anwendungsprogrammierung“) verwendet. Im Gegensatz zu einer
                                     Binärschnittstelle (ABI) definiert eine API nur die Verwendung der
                                     Schnittstellen auf Quelltextebene.
                                     Neben dem Zugriff auf Datenbanken, die Hardware wie Festplatte oder
                                     Grafikkarte kann eine API auch das Erstellen von Komponenten der
                                     grafischen Benutzeroberfläche ermöglichen oder vereinfachen.
                                     Heutzutage stellen auch viele Internetdienste APIs zur Verfügung (für
                                     Beispiele siehe die Weblinks).
                                     Im weiteren Sinne wird die Schnittstelle jeder Bibliothek (Library) als
                                                                           13                                                                                                                                     14

                                     API bezeichnet.
Grundlagen: Systemaufrufe                                                                                            System calls
                                                                                                                 Problem:
                 Anwendungsprogramme kommunizieren mit dem Betriebssystem indem sie
           q                                                                                                         Wie verhindert man, dass bei Verschiebungen des BS im Speicher die Anwendungen neu
                                                                                                                 q
                 Systemaufrufe tätigen. == Aufruf von Systemfunktionen                                              kompiliert werden müssen, um die Systemprozeduren korrekt anzusprechen ?
                 Anwendungsentwicklungssysteme müssen alle Systemaufrufe in Bibliotheken vorrätig
           q
                                                                                                                 Lösung:
                 halten.
                                                                                                                     Speichern aller Aufrufparameter auf dem Stack und Auslösen eines speziellen
                                                                                                                 q
                 Die Bibliotheksfunktionen rufen durch sogenannte TRAPs das Betriebssystem
           q
                                                                                                                     Hardwaresignals (sogenannter Softwareinterrupt)
                                                                                                                     Wie bei einem „normalen“ Hardware-Interrupt speichert der Prozessor seinen aktuellen
                                                                                                                 q
           Beispiel: Lesen von Datei                                                                                 Stand, springt in die Interruptbehandlung und erledigt den geforderten Job, um dann an die
                                                                                                                     Stelle des Abbruches zurückzukehren.
           q im Programmcode stehe:
                                                                                                                     Die Interruptbehandlungsroutine ist
                                                                                                                 q
                  anzahl = read(Dateiname,Zielspeicherplatz-im-Hauptspeicher, Anzahl-zu-lesender-Bytes)
                                                                                                                     somit der zentrale Einsprungpunkt
                 Bibliotheksfunktion read prüft die Parameter und startet dann das BS mit den
           q
                                                                                                                     in den BS-Kern
                 angegebenen Parametern durch einen TRAP                                                             Da nach einem Systemaufruf die
                                                                                                                 q
                 Betriebssystem suspendiert den laufenden Prozeß und erledigt die geforderte
           q                                                                                                         nächste Instruktion nicht gleich
                 Aufgabe. Dann schreibt es die Anzahl der gelesenen Bytes in die entsprechende                       ausgeführt wird, sondern die
                                                                                                                     Befehlsausführung am BS-Einsprung
                 Prozeßvariable und schaltet den Prozeß wieder “rechenbereit”.
                                                                                                                     plötzlich „aufhört“, wird der
                 Prozeß läuft bei der Bibliotheksfunktion wieder weiter.
           q
                                                                                                                     Softwareinterrupt auch als Falltür
                 Bibliotheksfunktion liefert der rufenden Funktion die Anzahl gelesener Bytes
           q                                                                                                         (trap door, kurz TRAP) bezeichnet


fällt in Falltür
            Prof. W. Burkard                                                                        15               Prof. W. Burkard                                                                       16



                                                                                                                                        Programmcounter
       Stichworte                                                                                              Stichworte               Register in CPU                Prozessor Status
       java.lang - automatisch geladene Bib
                                                                                                               Stack = Stapel (Aufgabenliste)
       (enthält READ, OUT, etc.)
                                                                                                               BS = Betriebssystem
                                                                                                               Interrupt = Unterbrechung

       Notizen                                                                                                 Notizen
                                                                                                               -mitten im Programm quot;system callquot;
                                                                                                               -der Zustand wird gespeichert (stack) und zu
                                                                                                                einem späteren Zeitpunkt genauso wieder
                                                                                                                hergestellt
                                                                                                               -die Anwendung bekommt davon nichts mit




                                                                                                          15                                                                                                      16
alles außer
                                  kritische Dinge

                           Architekturbeispiel Linux / Unix                                    Architekturbeispiel Mach

Anwender




Experten


        Prof. W. Burkard                                      17            Prof. W. Burkard                                    18



                             alles möglich
   Stichworte                                                           Stichworte
    MMS = Mensch-Maschine-Schnittstelle, in der Regel                   MMS = Mensch-Maschine-Schnittstelle, in der Regel
    Kommandointerpreter bzw. grafische Benutzeroberfläche               Kommandointerpreter bzw. grafische Benutzeroberfläche




   Notizen                                                              Notizen

 -kritische Anweisung=sperren von Interrupts
 -user mode können keine kritischen Programme
  schreiben; verschiedene Level gibt es im Prozessoren-
  user-mode nur oberflächlich
 -kernel mode nur für kurze Abschnitte des Betriebssystem



                                                                   17                                                                18
I

           Schichtung und Systemaufrufe bei W2K                                                Ein- und Mehrprozessorsysteme
Anwendungsprogramme
                                                                           Bei der Rechnerarchitektur, für die ein Betriebssystem Ressourcen verwalten soll,
                                                                           müssen grundsätzliche Konfigurationen unterschieden werden


                                                                                                                                                      von Neumann-
                                                                                                                                                      Architektur
                                                                          Massen-                BS-      Anw. 1   Anw. 2   ... Anw. n
                                                                          speicher               Kern



                                                                                     Prozessor
                                                                                                        Simples Einprozessorsystem

 Betriebssystem                                                                                         Im einfachsten klassischen Fall gibt es nur einen Prozessor, der
                                                                                                        Hauptspeicher und Massenspeicher benutzt, um das
                                                                                                        Betriebssystem (BS) und die Anwendungsprogramme auszuführen
         Prof. W. Burkard                                    19             Prof. W. Burkard                                                                        20




     Stichworte                                                        Stichworte
     MMS = Mensch-Maschine-Schnittstelle, in der Regel                 MMS = Mensch-Maschine-Schnittstelle, in der Regel
     Kommandointerpreter bzw. grafische Benutzeroberfläche             Kommandointerpreter bzw. grafische Benutzeroberfläche




     Notizen                                                           Notizen

     kernel mode verlagert Dienste in den user mode,
     dadurch sichert es die stabilität des kernel mode




                                                                  19                                                                                                       20
II                                                                                                                     III

                       Ein- und Mehrprozessorsysteme                                                                                           Ein- und Mehrprozessorsysteme
    • Einprozessorsysteme können mit mehreren Prozessoren aufgerüstet werden                                                Interessante Beobachtung bei Mehrprozessorsystemen:
    • Durch unterschiedliche Kopplungskonzepte entstehen unterschiedliche Architekturen                                                  Oft spricht jeder Prozessor nur einen eng umgrenzten Speicherbereich an
    • Die einfachste Architektur sieht nur eine Vervielfachung der CPU vor, alle CPUs hängen dann                                        ( in dem sich die von ihm gerade abgearbeitete Anwendung befindet )
                                                                                                         immer nur
     parallel an einem Verbindungsnetzwerk (Multi-Master-Systembus)                                                         Daher die Idee:         Aufteilen des Speichers und enger an den Prozessor binden

                                                                                                         verdopplung
    • Der Systembus verbindet die Prozessoren auf der einen Seite mit den Speichermodulen auf der
                                                                                                                                 BS-           Anw. 1       BS-     Anw. 2           BS-      Anw. n
     anderen Seite.
                                                                                                                                 Kern                       Kern                     Kern
    • Bei intensiver Nutzung wird der Bus zum Flaschenhals    Leistungseinbußen


                                                 ...                                                                                                                         ...
                                                        Prozessor n
                                 Prozessor 2
             Prozessor 1                                                                                                             Prozessor 1              Prozessor 2              Prozessor n



                              Multi-Master-Systembus
                                                                                                                                                        Multi-Master-Systembus


         Massen-           Massen-               BS-    Anw. 1    Anw. 2   ... Anw. n
                                                                                                                                                                                       Multiprozessorsystem (lose Kopplung)
         speicher                                Kern
                           speicher                                                                                                              Massen-               Massen-
                                                                                                                                                 speicher              speicher                                 parallel
                                        Multiprozessorsystem (enge Kopplung)
    Prof. W. Burkard                                                                                21                      Prof. W. Burkard                                                                               22


                                                                 seriell
                                                                                          durch dieses
Stichworte                                                                                                              Stichworte
                                                                                          Design tauchen
MMS = Mensch-Maschine-Schnittstelle, in der Regel                                                                       MMS = Mensch-Maschine-Schnittstelle, in der Regel
                                                                                          andere Probleme
Kommandointerpreter bzw. grafische Benutzeroberfläche                                                                   Kommandointerpreter bzw. grafische Benutzeroberfläche
                                                                                          auf


Notizen                                                                                                                 Notizen

                                                                                                                       bearbeiten getrennt voneinander anwendungen parallel
bearbeiten zusammen anwendungen hintereinander

                                                                                                                       - symmetrisches Multiprozessing
Probleme: CPU1 lagert im Cache und CPU2 soll mit Werten
                                                                                                                       = prinzipiell verteilen sich die Prozesse auf
aus CPU1 weiterrechnen - hat die aber noch nicht!
                                                                                                                          mehrere CPU´s
CPU-Cache-Bus-RAM

                                                                                                         21                                                                                                                     22
IV

                                                                                                                                                      Grundlagen: Prozesse
                        Ein- und Mehrprozessorsysteme
     Was geschieht, wenn man jedem Prozessor ein eigenes Betriebssystem gibt?
                                                                                                                    MERKE:                 Prozesse sind das wesentliche Konzept aller Betriebssysteme
                  Vollkommen unabhängige Rechner mit jeweils eigenem (eventuell unterschiedlichem)
                                                                                                                            Ein Prozeß ist ein
                  Betriebssystem werden lose über ein Netzwerk gekoppelt
                                                                                                                            in Ausführung befindliches Programm!               Prozeß
     Cluster = sehr schnelles Netzwerk räumlich dicht beieinander stehender Rechner
                                                                                                                                                                                                              Prozeß
                                                                                                                                                                                             CPU-Register
                                                                                                                    Er umfaßt:                                                                                   -
                                                                                                                                                                                                              Kontext
                                                                                                                            den ausführbaren Programmcode
                                                                                                                    q
                           BS-     Anw.                                        BS-      Anw.                                                                                                 MMU-Register
     Massen-                                                                                                                die Programmdaten (Variablen und
                                                                                                                    q
                           Kern                                Massen-         Kern
                                                                                                                            Konstanten des Programmes)                    Stapel (Stack)
     speicher                                                  speicher
                                                  ...                                                                                                                                         Kernel-Stack
                                                                                                                            den Programmzähler (zeigt auf die
                                                                                                                    q
                                                                                                                                                                          Daten (Heap)
                                                                                                                            aktuell zu bearbeitende Anweisung)
                                                                                                                                                                                             Datei-Info, Zugriffsrechte
                                                                                                                            Stack und Stackpointer ( Zwischenpuffer
                                                                                                                    q
                                                                                                                                                                         Programmcode
                         Prozessor 1                                                                                        für beim Programmlauf anfallende Daten)
                                                                             Prozessor 2
                                                                                                                            alle weiteren Informationen, die das
                                                                                                                    q
                                                                                                                            Betriebssystem zur Ausführung des Programmes benötigt

                                                                                                                    Prozeßtabelle=
                                                                                                                       Tabelle des Betriebssystems, in der alle Infos eines jeden Prozesses gespeichert sind
                                       Verbindungsnetzwerk LAN, WAN ...
                                                                                                                    Threads („Handlungsfäden“) = leichtgewichtige Prozesse innerhalb von Prozessen, vom
                                                                                                                       Anwendungsprogrammierer definiert!
                                                                            Rechnernetz / Cluster
     Prof. W. Burkard                                                                                23                 Prof. W. Burkard                                                                           24




                                                                                                               Klausuraufgabe:
 Stichworte                                                                                                      Stichworte
                                                                                                               Unterschied zw. Algorithmus(1), Programm(2), Prozess(3)
 MMS = Mensch-Maschine-Schnittstelle, in der Regel
 Kommandointerpreter bzw. grafische Benutzeroberfläche
                                                                                                               zu 1) - löst ein theoretisches Problem durch eine endliche und in ihrer
                                                                                                                       Reihenfolge definierte Sequenz einzelner Schritte
                                                                                                                     - Beschreibung einer Problemlösung
                                                                                                                     - deterministisch (selbe Eingabe=selbe Lösung)
 Notizen                                                                                                         Notizen
                                                                                                               zu 2) - praktische Möglichkeit (PRAXIS)
-lose gekoppelte-parallel-Architektur                                                                                - enthält Algorithmen (ausführbar)
 =1000 Rechner über Hochleistungsnetz mit einander                                                             zu 3) - in Ausführung befindliches Programm
                                                                                                                     - löst das Programm
 verbunden

-viele einzelne Rechner = Cluster
-nicht mit Bus sondern über LAN verbunden



                                                                                                          23                                                                                                              24
Grundlagen: Dateien
                           Prozesse leben und sterben...
     Das Betriebssystem erzeugt, verwaltet und eliminiert Prozesse.                                               Zur Erinnerung: Das BS verbirgt die Physik einer Festplatte (Zylinder,Spuren...)
                                                                                                           q
                                                                                  Prozeß A
                                                                                                                  und schafft dem Anwender eine einfache Schnittstelle: Dateien
     Ein Prozeß kann andere Prozesse erzeugen == Prozeßbaum
                                                                            Prozeß B    Prozeß C
                                                                                                                  Das Konzept der Dateien und Dateiverzeichnisse
                                                                                                           q
     gängige Systemaufrufe (System-Calls):
                    “erzeuge Kindprozeß B“
              s
                                                                                                                                             Wurzelverzeichnis (root directory)
                    “lösche mich”
              s
                                                                Prozeß D    Prozeß E   Prozeß F
                    “Ich warte auf Ende meines Kindprozesses E”
              s
                    “Ersetze im Prozeß F den Programmcode durch Code yyy”
              s
                    “ich brauche mehr Speicher”
              s
                                                                                                                              Pogramme                    System                    Benutzer

     Prozesse können miteinander und mit dem BS “reden” == Interprozeßkommunikation

     Prozesse in Timesharing-Systemen haben einen Besitzer == Sicherheitsproblem                              MS-Office                 SAP/R3                        Anna        Karl            Ute
        uid = user identification
                                                   Programme werden zwangsweise
        gid = group identification

                                                            daran gehindert, versehentlich oder                                                       Urlaub              DA              Studienangelegenh.
     Prof. W. Burkard                                                                        25            Prof. W. Burkard                                                                          26
                                                            absichtlich auf den Speicherbereich
                                                            anderer Programme zuzugreifen oder
 Stichworte                                                                                            Stichworte
                                                            das Betriebssystem anders als durch
                                                            standardisierte „Eingänge“ zu
                                                            benutzen. Hardwareseitige
                                                            Voraussetzung ist eine
                                                            Speicherverwaltungseinheit (MMU),
                                                            die Speicherschutz unterstützt.
 Notizen                                                                                               Notizen
- erster Prozess entsteht beim booten
- BS übernimmt



erstes Dienst(Prozess) unter Windows
 - Explorer
    = Kommandointerpreter

                                                                                                  25                                                                                                      26
Grundlagen:
Copyright(C) by Foxit Software Company,2005-2007



                                                                       Handhabung von Dateien                                                                                   Kommandointerpreter
                                                       Vor dem Lesen oder Schreiben muß man eine Datei öffnen                                                      Das Betriebssystem ist also das Programm, das alle Systemaufrufe ausführt.
                                                   q                                                                                                        q
                                                       == Zugriffsrechte regeln den Zugriff
                                                   q Idee: Eine Datei sei ein Ding, in welches man hineinschreiben oder aus dem man                                Der Kommandointerpreter ist das Programm, das dem Anwender einen Zugang
                                                                                                                                                            q
                                                       lesen kann == dann sind viele Geräte auch “Dateien” !!!                                                    zum Betriebssystem verschafft, wenn keine Anwendung da ist, die das tun
                                                   Also:                                                                                                           könnte !!!
                                                   q normale Datei: blockorientierte Byteansammlung auf der Festplatte/Diskette
                                                                                                                                                                                                                                      cmd
                                                   q spezielle Form: zeichenorientierte „Dateien“, z.B. Tastatur, Bildschirm, Drucker                              textuelle Kommandointerpreter (z.B. DOS: Command.com)
                                                                                                                                                            q
                                                                                                                                           Peripherie              stellen eine einfache Sprache zur Verfügung, um Systemaufrufe sinnvoll zu
                                                   q Pipe, eine „Datei“ für die Interprozesskommunikation
                                                                                                                                                                   nutzen. Beispiel: DIR DEL          COPY
Edited by Foxit Reader




                                                                               A                       B
For Evaluation Only.




                                                                                                                                                                   grafische Benutzeroberflächen: (grafische Interpreter)
                                                                                                                                                            q
                                                                                                                                                                   stellen eine erweiterte MMS (Mensch-Maschine-Schnittstelle) zur Verfügung:
                                                                                                                                                                   Der Computer ist für den Anwender das, was die MMS ihm zeigt.
                                                                      Zwei Prozesse, die durch zwei Pipes verbunden sind. Eine Pipe
                                                                      ist unidirektional, man kann sie nur lesen ODER schreiben!
                                                                                                                                                                   Alternativ-Begriff:   shell
                                                                                                                                                            q

          Art Zwischenablage / virtuelle Verbindung zw. Prozessen
                                                                                                                                  nur eine Richtung
                                                   Prof. W. Burkard                                                                   27                    Prof. W. Burkard                                                                    28




                                    Stichworte                                                                                                          Stichworte
                                                                                                                                                        Explorer = Kommandointerpreter in Windows
                                       aus Tastatur wir gelesen wie in einer Datei / in Drucker
                                       schreibt man wie in eine Datei                                                                                                           Kommandointerpreter = Notprogramm
                                       Pipe wird von Prozess erstellt und autom. von Windows beendet

                                    Notizen                                                                                                             Notizen




                                                                                                                                            27                                                                                                       28
Monolithische
               “Ummantelung” des Systems durch
                                                                                                                       Betriebsystemstrukturen
                   Kommandointerpreter

                                                                                                           Das Betriebssystem ist EIN Programm, eine unstrukturierte Ansammlung von
                                                                                                            Systemfunktionen, die sich auch gegenseitige uneingeschränkt nutzen können.
                                                                                                                         Es unterscheidet lediglich User- und Kernel-Modus:

              shell-Kommandos                   Dienstprogramme         Anwendungen


    grafische oder textuelle Shell
    (z.B. Windows-Oberfläche bzw.
          command.com)

                                   Betriebssystemkern mit allen
                                         Systemfunktionen
                       Treiber A     Treiber B       Treiber C    ...     Treiber n

                       Gerät A        Gerät B        Gerät C      ...      Gerät n
    Prof. W. Burkard                                                                  29            Prof. W. Burkard                                                                  30




Stichworte                                                                                      Stichworte




Notizen                                                                                         Notizen

original Interpreter (shell) kann ersetzt werden (in config.sys):                               Als monolithischen Kernel bezeichnet man einen
durch anderes Programm - gesamtes System dann aber nur noch                                    Betriebssystemkern, in dem nicht nur Funktionen zu Speicher- und
so mächtig wie dieses Programm!                                                                 Prozessverwaltung und zur Kommunikation zwischen den
                                                                                                Prozessen, sondern auch Treiber für die Hardwarekomponenten
                                                                                                und möglicherweise weitere Funktionen direkt eingebaut sind.




                                                                                           29                                                                                              30
Virtuelle Maschinen                                                                                Client-Server-Architektur
                                                                                                     in einem Rechner:
      Idee: Bau eines leistungsfähigen Multiuser-Multitasking-Systems durch Verwendung
          vorhandener, einfacher Betriebssysteme, denen ein “Verteiler” untergeschoben
                                                                                                        Client-             Client-    Client-              Server-    Server-
                                                                                                                                                   ...                            Benutzermodus
          wird. (Beispiel PC/MOS386)                                                                    Prozeß              Prozeß     Prozeß               Prozeß     Prozeß

                                                                                                                                                                                  Kernmodus
                                    virtuelle MS-DOS-PCs
                                                                                                                                      Betriebssystemkern
                                                                                                           BS-Kern bzw. Netzwerk sichern die Kommunikation zwischen C+S
                           DOS             DOS              DOS                                      in einem Netz:
                                                                           hier: Systemaufruf

                                                                                                        Rechner 1                      Rechner 2           Rechner 3               Rechner n
 hier: Ein- /Ausgabe-
                            modifiziertes MSDOS-BIOS
 operation                                                                                                 Klient                         Klient             Klient                  Klient
                                                                                                                                                                            ...
                                                                           hier: TRAP
                                                                                                           Kern                           Kern               Kern                    Kern
                                                                           (unter DOS sind dies
                                                                           SW-Interrupts)
                           PC-MOS386-Betriebssystem
 hier: TRAP ins MOS

                                                                                                                                                                       Netzwerk
                           die “nackte” Hardware des PC                                                          Nachricht vom Client
                                                                                                                     zum Server
                                                                           natives BS
       Prof. W. Burkard                                                                  31              Prof. W. Burkard                                                                      32




Stichworte                                                                                          Stichworte

Vgl.
VPN = virtuelles privates Netzwerk in einem
      öffentlichen reellen Netz

Notizen                                                                                             Notizen

                                                                                                   Eine IP-Adresse identifiziert einen Rechner.
                                                                                                   Eine Port-Nr. identifiziert eine Anwendung.

                                                                                                   - Schlussendlich kommunizieren die Anwendungen,
                                                                                                      nicht die Rechner!


                                                                                                   Eindeutige Identifizierung durch IP+PORT
                                                                                                                               = SOCKET-NUMBER
                                                                                              31                                                                                                    32
NEIN!
                            Alles klar ??                            Dann zurück
                                                                     zu Seite 1!
 1. Nennen Sie die Aufgaben von Betriebssystemen
 2. Erläutern Sie den Unterschied zwischen preemptive und non-preemptive
                                                                                        zu 1) Prozesse aufrufen, beenden, speichern und
     scheduling
 3. Warum wird Spooling heute insbesondere bei der Ausgabe auf Drucker                        koordinieren.
     verwendet?
                                                                                              Komfortabler Zugriff auf Hardware-Ressourcen.
 4. Worin liegt der Vorteil, wenn die Shell nicht Teil des Betriebssystems ist?
                                                                                              Schafft Kommunikationswege zw. den einzelnen
 5. Warum macht das in verteilten Systemen beliebte Client/Server-Modell auch in
     Einzelplatzrechnern Sinn ?
                                                                                              Ressourcen des Systems, den Anwendungsprogrammen
 6. Warum benötigt ein PC mit nur einem Prozeß keine Prozeßtabelle?
                                                                                              und dem Menschen.
 7. welche der nachstehenden Aktionen sollten nur im Kern und niemals im
     Benutzermodus laufen?                                                                    Steuern und überwachen von Software.
     - Sperren aller Unterbrechungsleitungen
                                                                                        zu 2) non-preemtive = laufender Prozess gibt CPU frei
     - Lesen der Tageszeit
     - Setzen der Tageszeit                                                                   preemptive = das BS gibt frei
                                                                                        zu 3) Druckaufträge werden im quot;Stackquot; gespeichert und
                                                                                              dann nacheinander gedruckt,d.h. Drucker gibt frei
     Prof. W. Burkard                                                         33



                                                                                        zu 4) Wenn BS abstürzt kann man durch shell neustarten.
Stichworte
                                                                                        zu 5) Weil beim Einzelplatzrechner das BS somit die
                                                                                              Kommunikation zw. Clientprozessen und Server-
                                                                                              prozessen sichert.
                                                                                        zu 6) Da es nur einen Prozess gibt, ist die Tabelle
                                                                                              nicht nötig, da er nicht switchen muss.
                                                                                        zu 7) kernel modus
Notizen
                                                                                              -Sperren aller Unterbrechungsleitungen
                                                                                              (niemals dürfen Interuppts gesperrt werden)
                                                                                              -Setzen der Tagesezeit
                                                                                              (niemals dürfen Prozesse Zeiten ändern)
                                                                                              user mode
                                                                                              -Lesen der Tageszeit




                                                                                   33
ALU =
                                                                                                       arithmetic
                                 Hardware-Grundlagen                                                                         Die CPU in der von-Neumann-Architektur
                                                                                                       logic unit
          •   fast alle heutigen Rechner basieren auf einem 1944 von Eckert,
              Mauchly und von Neumann entwickelten Architekturprinzip.
          •   Demnach besteht ein Computer aus einem Prozessor, einem
              Speicher und ein oder mehreren Ein-/Ausgabe-Geräten
          •   Die einzelnen Systemkomponenten sind über insgesamt drei Busse miteinander
              verknüpft
                 • Der Adressbus adressiert einzelne Datenzellen eines Speicherbausteins oder
uni-               E/A-Gerätes (Breite je nach System 16,32,64 Bit (= Signalleitungen), dadurch
direkt-            Festlegung des adressierbaren physikalischen Speichers)
ional            • Steuerbus regelt die Lese- und Schreiboperationen zwischen Prozessor und
                   Speicher bzw. IO, nennt also z.B. die Flussrichtung der Daten
                 • Der Datenbus dient der eigentlichen Informationsübertragung der Bits
                   zwischen Prozessor und Speicher / IO


                                 beide Richtungen
bidirektional
                                                                                                                      Das Steuerwerk (englisch Control Unit, kurz CU) ist der Kern des
/8 Leitungen  Prof. W. Burkard                                                              34                             Prof. W. Burkard                                      35
                                                                                                                      Mikroprozessors. Im Steuerwerk befinden sich Befehlsregister und
                                                                                                                      Befehlsdecoder. Seine Aufgabe ist die Abarbeitung des
      Stichworte                                                                                                       Stichworte
                                                                                                                      Programms, d.h. Befehl für Befehl eines Programmes werden
      ein Bus verbindet mindestens 2 (oder mehrere)
                                                                                                                      durch das Steuerwerk des Mikroprozessors ausgeführt.
      Stationen miteinander
                                                                                                                      Eine arithmetisch-logische Einheit (englisch arithmetic logic
      paralleler Bus hat mehrere Leitungen
                                                                                                                      unit, daher oft abgekürzt ALU) ist ein elektronisches
                                                                                                                      Rechenwerk, welches in Prozessoren zum Einsatz kommt.
      Notizen                                                                                                          Notizen

                                                                                                                      Taschenrechner != CPU, da kein Steuerwerk



                                                                                                                    Steuerwerk interpretiert Befehlsregister und
                                                                                                                    inkrementiert Programmcounter um 1 und übergibt
                                                                                                                    dann den Befehl an CPU, diese Wertet aus, und
                                                                                                                    bekommt dann neuen Befehl.

                                                                                                  34                                                                                  35
Der zentrale Prozessor (CPU)                                                                                                  Die von-Neumann-Architektur
  • Die Aufgabe der CPU ist die sequentielle Ausführung
    einer Instruktionsfolge (Programm)
  • Alle Instruktionen liegen zusammen mit den zu verarbeitenden
    Daten im Speicher des Rechners
  • Bei jeder einzelnen Befehlsausführung werden Daten in der CPU
    verarbeitet ODER zwischen CPU und Speicher (bzw. IO-Gerät) bewegt
  • Die CPU umfasst mindestens einen Registersatz, eine Recheneinheit (ALU) und ein Steuerwerk
  • Register sind CPU-interne, sehr schnelle (ca. 1ns) Speicherzellen mit deren Inhalten die ALU
    rechnen kann
  • Zwei Register sind von zentraler Bedeutung:
         • Programmzähler (PC) enthält die Adresse der nächsten auszuführenden Instruktion
                                                                                                  Cache
         • Kellerregister (SP) zeigt auf das Ende des Stack und dient zur Realisierung von
           Unterprogrammaufrufen mit Parameterübergabe
  • Die ALU manipuliert Prozessorregister. Neben arithmetischen Operationen für ganze und
    Gleitkommazahlen stellt sie Logik- und Testfunktionen zur Verfügung (z.B. Vergleiche)
  • Das Steuerwerk ist der Interpreter für den Instruktionssatz einer CPU und koordiniert alle
    Einzelaktivitäten bei der Ausführung der einzelnen Instruktionen
    Prof. W. Burkard                                                                             36            Prof. W. Burkard                                 37




Stichworte                                                                                                 Stichworte

                                                                                                           E/A Register wird behandelt wie Haupt-
wie unterscheidet man daten und instruktionen?
                                                                                                           speicher (d.h. wie eine spezielle Datei)
-gar nicht!


Notizen                                                                                                    Notizen




                                                                                                      36                                                             37
Der Bus in der von-Neumann-Architektur                                                                                 Gängige Systembusse




                                                                1
                                                                2
                                                                3
                                                                4   10100101
                                                                5
                                       10100101
                                                                6
                                                                7
                                          Zelle 4
                                                                8
                                                    schreiben




         Prof. W. Burkard                                                      38                            Prof. W. Burkard                                            39




                                                                                                                                Cache mit vollem CPU-Takt, sonst
                            nur die CPU darf den Adressbus benutzen!
    Stichworte                                                                                          Stichworte
                                                                                                                                quot;Flaschenhalseffektquot;-quot;Pipeliningquot;

                                                                                    Adressbus [Bearbeiten]
Datenbus [Bearbeiten]                                                               Ein Adressbus ist in der Computertechnologie - im Gegensatz zum Datenbus - ein Bus, der
Ein Datenbus überträgt Daten zwischen Computerbestandteilen                         nur Speicheradressen überträgt. Die Busbreite, also die Anzahl der Verbindungsleitungen,
innerhalb eines Computers oder zwischen verschiedenen                               bestimmt dabei, wieviel Speicher direkt adressiert werden kann. Wenn ein Adressbus n
     Notizen                                                                                              Notizen
Computern. Anders als bei einem Anschluss, bei dem ein Gerät
                                                                                    Adressleitungen hat, können 2n Speicherstellen adressiert werden.
mit einem anderen Gerät über eine oder mehrere Leitungen
                                                                                    Dieser Bus ist unidirektional und wird vom jeweiligen Busmaster (s. a. oben) angesteuert.
verbunden ist, kann ein Bus mehrere Peripheriegeräte über den
                                                                                    Letzterer ist meistens die CPU, aber vor allem DMA-fähige Bausteine können diesen Bus
gleichen Satz von Leitungen miteinander verbinden.
                                                                                    auch übernehmen, wenn sie aktiv werden.
Die Bezeichnung als Datenbus wird in mehrfachem
Zusammenhang verwendet:
                                                                                    Steuerbus (Kontrollbus) [Bearbeiten]
• mit Betonung auf Daten: zur Abgrenzung gegenüber
                                                                                    Der Steuerbus ist ein Teil des Bussystems, welcher die Steuerung (engl. control) des
gemeinsamen Anschlüssen, wie der Stromversorgung
                                                                                    Bussystems bewerkstelligt. Hierzu zählen unter anderem die Leitungen für die Interrupt-
• mit Betonung auf Bus: zur Unterscheidung der Topologie, wie z.
                                                                                    Steuerung, Buszugriffssteuerung, der Taktung (falls ein Bustakt erforderlich ist), Reset- und
B. direkten Punkt-zu-Punkt-Verbindungen
                                                                                    Statusleitungen. Welche der Leitungen in einem Bus eingesetzt sind, ist von der Art und
• bei parallelen Bussen: zur Unterscheidung von Adress- oder
                                                                                    Struktur des Busses abhängig. In Multi-Master-Systemen, in denen mehr als ein Subsystem
                                                                                    38                                                                                      39
Steuerleitungen
                                                                                    die Buskontrolle übernehmen kann, ist ein Arbiter als Entscheidungsinstanz erforderlich.
kommt noch!


       Maschinenbefehle und Daten im Speicher                       Instruktionssatz und Adressierungsarten
                                                                 • Die Menge aller vom Steuerwerk
                                                                   verstandenen Befehle definiert den
                                                                   Instruktionssatz eines Prozessors.
                                                                 • Die Befehle lassen sich kategorisieren:
                                                                       • Arithmetik-, Logik- und Schiebeoperationen
                                                                       • Operationen zur Beeinflussung der weiteren
                                                                         Befehlsausführungsreihenfolge
                                                                       • Lade- und Speicheroperationen dienen dem
                                                                         Austausch von Daten zwischen CPU und Speicher
                                                                                                                                             Programmcounter
                                                                 • Hierbei unterscheidet man diverse Adressierungsarten:
                                                                       • Registeradressierung: Ziel oder Quelle ist ein CPU-Register
                                                                       • Absolute Adressierung: Ziel / Quelle ist eine Speicherzelle / Gerätezelle
                                                                       • Relative Adressierung: in einem CPU-Register steht ein Basiswert, relativ zu dem ein
                                                                         Offset angegeben wird um Ziel / Quelle zu benennen
                                                                       • Indirekte Adressierung: Ziel / Quelle ist der Inhalt eines Register oder einer Speicherzelle
    Prof. W. Burkard                       40                       Prof. W. Burkard                                                                             41




Stichworte                                                     Stichworte




Notizen                                                        Notizen
                                                               Schiebeoperationen:
pipelining=64bit datenbus schickt benachbarte                 ...
Speicherzellen gleich mit




                                                40                                                                                                                      41
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS

Más contenido relacionado

Destacado (18)

Ca56 cylinder analysis - Process oxygen analyzer instruments
Ca56 cylinder analysis - Process oxygen analyzer instrumentsCa56 cylinder analysis - Process oxygen analyzer instruments
Ca56 cylinder analysis - Process oxygen analyzer instruments
 
Spanisch Vortrag
Spanisch VortragSpanisch Vortrag
Spanisch Vortrag
 
[DE] Archivierung & Records Management | Ulrich Kampffmeyer | Handout Version...
[DE] Archivierung & Records Management | Ulrich Kampffmeyer | Handout Version...[DE] Archivierung & Records Management | Ulrich Kampffmeyer | Handout Version...
[DE] Archivierung & Records Management | Ulrich Kampffmeyer | Handout Version...
 
Vinhos medalhas de ouro 2013
Vinhos medalhas de ouro 2013Vinhos medalhas de ouro 2013
Vinhos medalhas de ouro 2013
 
Mit Den Augen Eines Wolfes
Mit Den Augen Eines WolfesMit Den Augen Eines Wolfes
Mit Den Augen Eines Wolfes
 
Test
TestTest
Test
 
Police Catalogue
Police CataloguePolice Catalogue
Police Catalogue
 
Luis Flory
Luis FloryLuis Flory
Luis Flory
 
Comman presentation
Comman presentationComman presentation
Comman presentation
 
Anonimo Mitologia Universal
Anonimo   Mitologia UniversalAnonimo   Mitologia Universal
Anonimo Mitologia Universal
 
Iris Scott Finger Painter - Dogs!
Iris Scott Finger Painter -  Dogs!Iris Scott Finger Painter -  Dogs!
Iris Scott Finger Painter - Dogs!
 
press-release.pdf
press-release.pdfpress-release.pdf
press-release.pdf
 
Buschtrommel 268
Buschtrommel 268Buschtrommel 268
Buschtrommel 268
 
SCREEN-TYPES - Deutschlandweite Typologie für Mobile Digital Devices
SCREEN-TYPES - Deutschlandweite Typologie für Mobile Digital DevicesSCREEN-TYPES - Deutschlandweite Typologie für Mobile Digital Devices
SCREEN-TYPES - Deutschlandweite Typologie für Mobile Digital Devices
 
Test2
Test2Test2
Test2
 
Ferienzeit - Katalog des Jugendwerks der AWO 2012
Ferienzeit - Katalog des Jugendwerks der AWO 2012Ferienzeit - Katalog des Jugendwerks der AWO 2012
Ferienzeit - Katalog des Jugendwerks der AWO 2012
 
Deflex Profiles
Deflex ProfilesDeflex Profiles
Deflex Profiles
 
Hd sjournal 20111
Hd sjournal 20111Hd sjournal 20111
Hd sjournal 20111
 

BS

  • 1. Überblick Betriebssysteme am Beispiel klassische Betriebssysteme q Einführung und Überblick s Linux Hardware-Grundlagen s Prozessverwaltung s Speicherverwaltung s Dateisysteme s Ein-/Ausgabe s Deadlocks s Einführung in Linux/Unix q Überblick, Installation, System-Grundlagen s Fachhochschule Pforzheim Dateisystem, die Shell, Task-Management, s Linux administrieren, die grafische Oberfläche s Prof. W. Burkard Linux im Netz: NIS und NFS s Praxisteil Java-Threads q FB 7, Studiengang Wirtschaftsinformatik Threads und Prozesse in Java s die Synchronisationsproblematik und ihre Lösungen s Interprozesskommunikation s Prof. W. Burkard 1 Prof. W. Burkard 2 Stichworte Stichworte Notizen Notizen 14:00, 09.07.2007 Von Yan, Jörg, Marcus , 14:00, 09.07.2007 1 2
  • 2. Organisation der Vorlesung Literatur Teilnehmer [Tannen95] Andrew S. Tannenbaum, Moderne Betriebssysteme, Betriebswirte SG Wirtschaftinformatik s Hanser-Verlag München/Wien 1995 s Bachelor of Information Systems [Oechsle01] Rainer Oechsle, Parallele Programmierung mit Java s Ingenieure der Elektrotechnik Diplom/Bachelor Threads, Hanser-Verlag München/Wien 2001 [Nehmer01] Jürgen Nehmer und Peter Sturm, Systemsoftware oc 1 oc 12 oc 0 14 oc 3 (Grundlagen moderner Betriebssysteme), dpunkt-Verlag, Heidelberg 2001 5 1 3 7 2 6 1 4 1 9 8 1 he he he he he he he he he he he he he he [Kredel02] H. Kredel & A. Yoshida, Thread- und Netzwerkprogrammierung mit Java, oc oc oc oc oc oc oc oc oc oc W W W W W W W W W W W W W W dpunkt-Verlag, Heidelberg 2002 [Brause98] Rüdiger Brause, Betriebssysteme, Springer-Verlag, Berlin 1998 für Betriebswirte keine Pflicht Pflichtteil Betriebswirte [Siegert98] H.J.Siegert, Betriebssysteme eine Einf., Oldenbourg-V. München 1998 [Steen95] Maarten van Steen, Computer and Network Organization, Prentice-Hall, München 1995 Pflichtprogramm für alle Ingenieure Thread- [Stucky97] Wolffried Stucky, Der Rechner als System, Betriebssysteme Theorie (7) Linux / Unix-Teil (4) Programming (3) Teubner-Verlag, Stuttgart 1997 Prof. W. Burkard 3 Prof. W. Burkard 4 Stichworte Stichworte Notizen Notizen 3 4
  • 3. Aufgaben der Betriebssysteme Geschichte der Betriebssysteme Definition: Generation 1: Generation2: Das Betriebssystem steuert und verwaltet die vorhandenen Betriebsmittel eines Rechners Rechner ohne Betriebssystem, keine Idee des Stapelbetriebes mit getrennten und stellt den Anwendern und den Anwendungsprogrammen Schnittstellen zur Verfügung, Unterscheidung der Anwender in Systemen für Eingabe, Verarbeitung, Ausgabe. die den möglichst einfachen und damit effiziente Umgang mit den Ressourcen ermöglichen. Entwickler,Operateur, Programmierer Der teuere Rechner wurde besser ausgenutzt, und Nutzer. ( bis Mitte der 50er) durch Verringern der Stillstandszeiten. Aufgaben: • Verwalten vorhandener Ressourcen: •Prozessoren, •Speicher, •Peripherie-Geräte, •Prozesse • Anbieten abstrakter Schnittstellen zu den Betriebsmitteln • Steuern und Überwachen der Anwendungs-Software • Realisieren von Kommunikationswegen zwischen den einzelnen Ressourcen des Systems, den Anwendungsprogrammen und dem Menschen Prof. W. Burkard 5 Prof. W. Burkard 6 Stichworte Stichworte Notizen Notizen 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. 5 6
  • 4. Mehrprogrammbetrieb Timesharing Mehrere Jobs werden im Hauptspeicher gehalten. q Wenn ein Job auf das Ende einer I/O-Operation wartet, wird die CPU einem anderen q = Variante des Mehrprogrammbetriebes Job zugeteilt. q Bisheriges Problem: zu lange Antwortzeiten verhinderten interaktives Arbeiten nur ein Job gibt d.h. es können zu einem bestimmten Zeitpunkt mehrere Jobs “in Arbeit” sein. q q Lösung: Betriebssystem weist die CPU den Jobs explizit zu und “entreist” sie ABER: Nur ein in “Warteposition” gehender Job gibt die CPU frei q CPU frei, und zwar ihnen wieder, auch unabhängig von deren Bearbeitungsstand !! ==> non-preemptive-scheduling q d.h. das BS stellt sicher, dass die aktiven Jobs innerhalb einer gewissen der der gerade Job-Spooling (Simultaneous Peripheral Operation On Line) = q Zeitspanne immer wieder auf der CPU ein Stück weiterlaufen. Zwischenlagerung der ankommenden Jobs auf Magnetplatte, so dass beim dran war Freiwerden einer Partition ein neuer Job sofort nachgeladen werden konnte q ==> preemptive-scheduling Speicherpartitionierung = Aufteilung des Hauptspeichers in separate Teile, in die q ! !W je ein Job geladen werden kann Forderungen an einen guten Scheduling-Algorithmus:    ide ¥ £ rs ¥ q Fairness: Jeder Job erhält gerechten Anteil an CPU-Zeit pr üc ¥£ Speicher- Speicher- Speicher- Speicher- q Effizienz: CPU ist immer voll ausgelastet hl Speicherbereich für das ... ich partiton 1 partiton 2 partiton 3 partiton n Betriebssystem q Antwortzeit: Ist für interaktive Nutzer minimal e “Job 1” “Job 2” “Job 3” “Job n” Zi §©¨ q Verweilzeit: Stapeljobs bleiben möglichst kurz im System el § ¥¦ £¤ e!! q Durchsatz: Möglichst viele Aufträge je Zeiteinheit ¢    ¡ Synonyme Begriffe: Job = Task = Prozeß (aber nur bedingt = Thread ) Prof. W. Burkard 7 Prof. W. Burkard 8 das BS weist Stichworte Stichworte explizit die Jobs zu Notizen Notizen Time-Sharing war der erste konzeptionelle Ansatz in der Computertechnologie mehrere Benutzer an einem Computer quasi gleichzeitig arbeiten zu lassen, in dem sie sich die Rechenzeit des einzigen vorhandenen Prozessors teilten. Jedem einzelnen Benutzer erschien es dabei so, als hätte er die gesamten Ressourcen des Computer stets für sich allein zur Verfügung. Heutzutage wird der Begriff Time-Sharing, wenn er überhaupt noch verwendet wird, häufig irrtümlich mit dem Multitasking 7 8 gleichgesetzt. Auch wenn beide Konzepte das quasi parallele Arbeiten an einem Prozessor betreffen, so beruht
  • 5. Schnittstelle Betriebssystem? vernetzte Rechner Was ist das eigentlich? Anwendungsprogramme neue Herausforderungen: SAP/R3 MS-Office Browser ... Betriebssysteme mehrerer Rechner müssen miteinander kommunizieren Compiler Editoren MMS Ressourcenverteilung über Rechnergrenzen hinweg Systemprogramme Entstehung von Arbeitsteilung und Spezialisierung im Verbund (=Client/Server) BETRIEBSSYSTEM Netzwerkbetriebssystem: Jeder Rechner im Netz hat sein eigenes Betriebssystem. Die Benutzer sind sich der Netzstruktur bewußt und greifen explizit auf nicht-lokale Ressourcen zu. Maschinensprache Hardware verteilte Betriebssysteme: Das gesamte Netz erscheint dem Anwender gegenüber wie ein einziger Rechner. Mikroprogramme GUI Auf welchem Rechner ein Prozeß läuft und/oder wo eine Datei real gespeichert wird, ist dem Anwender nicht bekannt. Der Zugriff auf die verteilten Ressourcen erfolgt automatisch, möglichst effizient und bleibt dem Anwender verborgen. physikalisches Gerät Prof. W. Burkard 9 Prof. W. Burkard 10 Stichworte Stichworte MMS = Mensch-Maschine-Schnittstelle, in der Regel Kommandointerpreter bzw. grafische Benutzeroberfläche Schnittstelle zw. Anwendungsprogrammen und Hardware Notizen Notizen 9 10
  • 6. I Wozu brauchen wir ein BS? Softwarestrukturen in einem Rechner Es bietet... ... den Anwendungen einen komfortablen Zugriff zu den Hardwareressourcen eines Rechners ... somit wichtige Brückenfunktion zwischen Anwendung und Rechnerhardware ... Koordination von unabhängigen Anwendungen, so dass sie sich bei Mehrbenutzer- bzw. Mehrprogrammbetrieb beim Ressourcenzugriff nicht in die Quere kommen. Was aber heißt „komfortabler Zugriff“ ? Beispiel: Eine Anwendung will Daten persistent auf externem Medium speichern. Dafür gibt’s mehrere Alternativen: Direktes Abspeichern von Blöcken auf einer Festplatte q Benutzung eines Dateisystems, das seinerseits eine Festplatte bzw. Blöcke nutzt q Benutzung eines Datenbank-Systems, das auf einem Dateisystem aufsetzt, das ... q Verwendung persistenter Objekte in einer OO-Programmierumgebung, die eine q Datenbank als Unterstützung voraussetzt, die auf einem Dateisystem fußt, das ... Prof. W. Burkard 11 Prof. W. Burkard 12 Stichworte Stichworte MMS = Mensch-Maschine-Schnittstelle, in der Regel Daten sind persistent, wenn sie die Lebensdauer in Kommandointerpreter bzw. grafische Benutzeroberfläche der Applikation, in der sie entstanden sind, überleben. Notizen Notizen -Klasse ist ein Plan, es beschreibt wie ein objektorientierte Objekt auszusehen hat Programmierung Java: Klasse = Bauplan 11 12
  • 7. II III Wozu brauchen wir ein BS? Wozu brauchen wir ein BS? Das Beispiel zeigt: Der direkte Umgang der Anwendungsprogramme mit der Hardware ist aus mehreren Gründen problematisch: q Es wird immer ein Gerät benutzt (Festplatte) Schnittstellen zu Geräte-Controllern sind heute zwar weitgehend genormt, aber q q Es gibt mehrere unterschiedliche Abstraktionsebenen dennoch unhandlich. q Welche Abstraktionsebene gewählt wird ist sehr stark von der Anwendung abhängig Koordination von Prozessor und anderen Komponenten mit den hardwareseitig q Schnittstelle einer q Wie lassen sich die Dienste einer Abstraktionsebene nutzen ? verfügbaren Hilfsmitteln (Interruptmechanismen, Zyklisches Abfragen (Polling) ) führt es gibt ein Laufzeitpaket, d.h. einer Anwendung wird eine Menge von Funktionen q Anwendung zu zu schwer durchschaubaren Progammstrukturen, die wir auf Anwendungsebene nicht   zur Verfügung gestellt, die den Zugang zu den gebotenen Diensten ermöglicht. haben wollen. einem Dienst der (Application Programming Interface API ) Direkter Hardwarezugriff bedeutet in Mehrbenutzerbetrieb schwerwiegende q q Die gebotenen Dienste können vom BS selbst oder aber von anderen Serviceleistern Abstraktionsebene Schutzprobleme durch unvermeidbare Benutzung privilegierter Instruktionen erbracht werden (dann aber ist das BS nur als Vermittler tätig) Ohne unterstützende Software ist die Abwicklung unabhängiger Benutzeraktivitäten in q q Die Dienste des Betriebsystems werden also durch einen „ganz normalen“ einem Multiuserbetrieb undenkbar, Koordinationsaufwand zu komplex. Prozeduraufruf angefordert. q Dieser „ganz normale“ Prozeduraufruf wird system call (Systemaufruf) genannt und Anwender wünschen sich indirekten Zugang zur Hardware über eine Dienstschicht, mündet in aller Regel in einem TRAP (Einsprung in den Betriebssystemkern)   die quasi eine virtuelle Maschine darstellt und komfortabel benutzbar ist. TRAP (Falltür) Prof. W. Burkard 13 Prof. W. Burkard 14 Ein Systemaufruf, auch Systemcall (von engl. = entladen des system call) oder kurz Syscall, ist in der Stichworte Stichworte Prozesses aus dem Computertechnik eine Methode, um von einem Speicher und Benutzer-Prozess aus Aufgaben im Ergebnisse des system Systemkontext ausführen zu lassen. calls verschicken an das BS Eine Programmierschnittstelle ist eine Schnittstelle, die von einem Softwaresystem anderen Programmen zur AnbindungNotizen System an das Notizen zur Verfügung gestellt wird. Oft wird dafür die Abkürzung API (für engl. application programming interface, deutsch: „Schnittstelle zur Anwendungsprogrammierung“) verwendet. Im Gegensatz zu einer Binärschnittstelle (ABI) definiert eine API nur die Verwendung der Schnittstellen auf Quelltextebene. Neben dem Zugriff auf Datenbanken, die Hardware wie Festplatte oder Grafikkarte kann eine API auch das Erstellen von Komponenten der grafischen Benutzeroberfläche ermöglichen oder vereinfachen. Heutzutage stellen auch viele Internetdienste APIs zur Verfügung (für Beispiele siehe die Weblinks). Im weiteren Sinne wird die Schnittstelle jeder Bibliothek (Library) als 13 14 API bezeichnet.
  • 8. Grundlagen: Systemaufrufe System calls Problem: Anwendungsprogramme kommunizieren mit dem Betriebssystem indem sie q Wie verhindert man, dass bei Verschiebungen des BS im Speicher die Anwendungen neu q Systemaufrufe tätigen. == Aufruf von Systemfunktionen kompiliert werden müssen, um die Systemprozeduren korrekt anzusprechen ? Anwendungsentwicklungssysteme müssen alle Systemaufrufe in Bibliotheken vorrätig q Lösung: halten. Speichern aller Aufrufparameter auf dem Stack und Auslösen eines speziellen q Die Bibliotheksfunktionen rufen durch sogenannte TRAPs das Betriebssystem q Hardwaresignals (sogenannter Softwareinterrupt) Wie bei einem „normalen“ Hardware-Interrupt speichert der Prozessor seinen aktuellen q Beispiel: Lesen von Datei Stand, springt in die Interruptbehandlung und erledigt den geforderten Job, um dann an die Stelle des Abbruches zurückzukehren. q im Programmcode stehe: Die Interruptbehandlungsroutine ist q anzahl = read(Dateiname,Zielspeicherplatz-im-Hauptspeicher, Anzahl-zu-lesender-Bytes) somit der zentrale Einsprungpunkt Bibliotheksfunktion read prüft die Parameter und startet dann das BS mit den q in den BS-Kern angegebenen Parametern durch einen TRAP Da nach einem Systemaufruf die q Betriebssystem suspendiert den laufenden Prozeß und erledigt die geforderte q nächste Instruktion nicht gleich Aufgabe. Dann schreibt es die Anzahl der gelesenen Bytes in die entsprechende ausgeführt wird, sondern die Befehlsausführung am BS-Einsprung Prozeßvariable und schaltet den Prozeß wieder “rechenbereit”. plötzlich „aufhört“, wird der Prozeß läuft bei der Bibliotheksfunktion wieder weiter. q Softwareinterrupt auch als Falltür Bibliotheksfunktion liefert der rufenden Funktion die Anzahl gelesener Bytes q (trap door, kurz TRAP) bezeichnet fällt in Falltür Prof. W. Burkard 15 Prof. W. Burkard 16 Programmcounter Stichworte Stichworte Register in CPU Prozessor Status java.lang - automatisch geladene Bib Stack = Stapel (Aufgabenliste) (enthält READ, OUT, etc.) BS = Betriebssystem Interrupt = Unterbrechung Notizen Notizen -mitten im Programm quot;system callquot; -der Zustand wird gespeichert (stack) und zu einem späteren Zeitpunkt genauso wieder hergestellt -die Anwendung bekommt davon nichts mit 15 16
  • 9. alles außer kritische Dinge Architekturbeispiel Linux / Unix Architekturbeispiel Mach Anwender Experten Prof. W. Burkard 17 Prof. W. Burkard 18 alles möglich Stichworte Stichworte MMS = Mensch-Maschine-Schnittstelle, in der Regel MMS = Mensch-Maschine-Schnittstelle, in der Regel Kommandointerpreter bzw. grafische Benutzeroberfläche Kommandointerpreter bzw. grafische Benutzeroberfläche Notizen Notizen -kritische Anweisung=sperren von Interrupts -user mode können keine kritischen Programme schreiben; verschiedene Level gibt es im Prozessoren- user-mode nur oberflächlich -kernel mode nur für kurze Abschnitte des Betriebssystem 17 18
  • 10. I Schichtung und Systemaufrufe bei W2K Ein- und Mehrprozessorsysteme Anwendungsprogramme Bei der Rechnerarchitektur, für die ein Betriebssystem Ressourcen verwalten soll, müssen grundsätzliche Konfigurationen unterschieden werden von Neumann- Architektur Massen- BS- Anw. 1 Anw. 2 ... Anw. n speicher Kern Prozessor Simples Einprozessorsystem Betriebssystem Im einfachsten klassischen Fall gibt es nur einen Prozessor, der Hauptspeicher und Massenspeicher benutzt, um das Betriebssystem (BS) und die Anwendungsprogramme auszuführen Prof. W. Burkard 19 Prof. W. Burkard 20 Stichworte Stichworte MMS = Mensch-Maschine-Schnittstelle, in der Regel MMS = Mensch-Maschine-Schnittstelle, in der Regel Kommandointerpreter bzw. grafische Benutzeroberfläche Kommandointerpreter bzw. grafische Benutzeroberfläche Notizen Notizen kernel mode verlagert Dienste in den user mode, dadurch sichert es die stabilität des kernel mode 19 20
  • 11. II III Ein- und Mehrprozessorsysteme Ein- und Mehrprozessorsysteme • Einprozessorsysteme können mit mehreren Prozessoren aufgerüstet werden Interessante Beobachtung bei Mehrprozessorsystemen: • Durch unterschiedliche Kopplungskonzepte entstehen unterschiedliche Architekturen Oft spricht jeder Prozessor nur einen eng umgrenzten Speicherbereich an • Die einfachste Architektur sieht nur eine Vervielfachung der CPU vor, alle CPUs hängen dann ( in dem sich die von ihm gerade abgearbeitete Anwendung befindet ) immer nur parallel an einem Verbindungsnetzwerk (Multi-Master-Systembus) Daher die Idee: Aufteilen des Speichers und enger an den Prozessor binden verdopplung • Der Systembus verbindet die Prozessoren auf der einen Seite mit den Speichermodulen auf der BS- Anw. 1 BS- Anw. 2 BS- Anw. n anderen Seite. Kern Kern Kern • Bei intensiver Nutzung wird der Bus zum Flaschenhals  Leistungseinbußen ... ... Prozessor n Prozessor 2 Prozessor 1 Prozessor 1 Prozessor 2 Prozessor n Multi-Master-Systembus Multi-Master-Systembus Massen- Massen- BS- Anw. 1 Anw. 2 ... Anw. n Multiprozessorsystem (lose Kopplung) speicher Kern speicher Massen- Massen- speicher speicher parallel Multiprozessorsystem (enge Kopplung) Prof. W. Burkard 21 Prof. W. Burkard 22 seriell durch dieses Stichworte Stichworte Design tauchen MMS = Mensch-Maschine-Schnittstelle, in der Regel MMS = Mensch-Maschine-Schnittstelle, in der Regel andere Probleme Kommandointerpreter bzw. grafische Benutzeroberfläche Kommandointerpreter bzw. grafische Benutzeroberfläche auf Notizen Notizen bearbeiten getrennt voneinander anwendungen parallel bearbeiten zusammen anwendungen hintereinander - symmetrisches Multiprozessing Probleme: CPU1 lagert im Cache und CPU2 soll mit Werten = prinzipiell verteilen sich die Prozesse auf aus CPU1 weiterrechnen - hat die aber noch nicht! mehrere CPU´s CPU-Cache-Bus-RAM 21 22
  • 12. IV Grundlagen: Prozesse Ein- und Mehrprozessorsysteme Was geschieht, wenn man jedem Prozessor ein eigenes Betriebssystem gibt? MERKE: Prozesse sind das wesentliche Konzept aller Betriebssysteme Vollkommen unabhängige Rechner mit jeweils eigenem (eventuell unterschiedlichem) Ein Prozeß ist ein Betriebssystem werden lose über ein Netzwerk gekoppelt in Ausführung befindliches Programm! Prozeß Cluster = sehr schnelles Netzwerk räumlich dicht beieinander stehender Rechner Prozeß CPU-Register Er umfaßt: - Kontext den ausführbaren Programmcode q BS- Anw. BS- Anw. MMU-Register Massen- die Programmdaten (Variablen und q Kern Massen- Kern Konstanten des Programmes) Stapel (Stack) speicher speicher ... Kernel-Stack den Programmzähler (zeigt auf die q Daten (Heap) aktuell zu bearbeitende Anweisung) Datei-Info, Zugriffsrechte Stack und Stackpointer ( Zwischenpuffer q Programmcode Prozessor 1 für beim Programmlauf anfallende Daten) Prozessor 2 alle weiteren Informationen, die das q Betriebssystem zur Ausführung des Programmes benötigt Prozeßtabelle= Tabelle des Betriebssystems, in der alle Infos eines jeden Prozesses gespeichert sind Verbindungsnetzwerk LAN, WAN ... Threads („Handlungsfäden“) = leichtgewichtige Prozesse innerhalb von Prozessen, vom Anwendungsprogrammierer definiert! Rechnernetz / Cluster Prof. W. Burkard 23 Prof. W. Burkard 24 Klausuraufgabe: Stichworte Stichworte Unterschied zw. Algorithmus(1), Programm(2), Prozess(3) MMS = Mensch-Maschine-Schnittstelle, in der Regel Kommandointerpreter bzw. grafische Benutzeroberfläche zu 1) - löst ein theoretisches Problem durch eine endliche und in ihrer Reihenfolge definierte Sequenz einzelner Schritte - Beschreibung einer Problemlösung - deterministisch (selbe Eingabe=selbe Lösung) Notizen Notizen zu 2) - praktische Möglichkeit (PRAXIS) -lose gekoppelte-parallel-Architektur - enthält Algorithmen (ausführbar) =1000 Rechner über Hochleistungsnetz mit einander zu 3) - in Ausführung befindliches Programm - löst das Programm verbunden -viele einzelne Rechner = Cluster -nicht mit Bus sondern über LAN verbunden 23 24
  • 13. Grundlagen: Dateien Prozesse leben und sterben... Das Betriebssystem erzeugt, verwaltet und eliminiert Prozesse. Zur Erinnerung: Das BS verbirgt die Physik einer Festplatte (Zylinder,Spuren...) q Prozeß A und schafft dem Anwender eine einfache Schnittstelle: Dateien Ein Prozeß kann andere Prozesse erzeugen == Prozeßbaum Prozeß B Prozeß C Das Konzept der Dateien und Dateiverzeichnisse q gängige Systemaufrufe (System-Calls): “erzeuge Kindprozeß B“ s Wurzelverzeichnis (root directory) “lösche mich” s Prozeß D Prozeß E Prozeß F “Ich warte auf Ende meines Kindprozesses E” s “Ersetze im Prozeß F den Programmcode durch Code yyy” s “ich brauche mehr Speicher” s Pogramme System Benutzer Prozesse können miteinander und mit dem BS “reden” == Interprozeßkommunikation Prozesse in Timesharing-Systemen haben einen Besitzer == Sicherheitsproblem MS-Office SAP/R3 Anna Karl Ute uid = user identification Programme werden zwangsweise gid = group identification daran gehindert, versehentlich oder Urlaub DA Studienangelegenh. Prof. W. Burkard 25 Prof. W. Burkard 26 absichtlich auf den Speicherbereich anderer Programme zuzugreifen oder Stichworte Stichworte das Betriebssystem anders als durch standardisierte „Eingänge“ zu benutzen. Hardwareseitige Voraussetzung ist eine Speicherverwaltungseinheit (MMU), die Speicherschutz unterstützt. Notizen Notizen - erster Prozess entsteht beim booten - BS übernimmt erstes Dienst(Prozess) unter Windows - Explorer = Kommandointerpreter 25 26
  • 14. Grundlagen: Copyright(C) by Foxit Software Company,2005-2007 Handhabung von Dateien Kommandointerpreter Vor dem Lesen oder Schreiben muß man eine Datei öffnen Das Betriebssystem ist also das Programm, das alle Systemaufrufe ausführt. q q == Zugriffsrechte regeln den Zugriff q Idee: Eine Datei sei ein Ding, in welches man hineinschreiben oder aus dem man Der Kommandointerpreter ist das Programm, das dem Anwender einen Zugang q lesen kann == dann sind viele Geräte auch “Dateien” !!! zum Betriebssystem verschafft, wenn keine Anwendung da ist, die das tun Also: könnte !!! q normale Datei: blockorientierte Byteansammlung auf der Festplatte/Diskette cmd q spezielle Form: zeichenorientierte „Dateien“, z.B. Tastatur, Bildschirm, Drucker textuelle Kommandointerpreter (z.B. DOS: Command.com) q Peripherie stellen eine einfache Sprache zur Verfügung, um Systemaufrufe sinnvoll zu q Pipe, eine „Datei“ für die Interprozesskommunikation nutzen. Beispiel: DIR DEL COPY Edited by Foxit Reader A B For Evaluation Only. grafische Benutzeroberflächen: (grafische Interpreter) q stellen eine erweiterte MMS (Mensch-Maschine-Schnittstelle) zur Verfügung: Der Computer ist für den Anwender das, was die MMS ihm zeigt. Zwei Prozesse, die durch zwei Pipes verbunden sind. Eine Pipe ist unidirektional, man kann sie nur lesen ODER schreiben! Alternativ-Begriff: shell q Art Zwischenablage / virtuelle Verbindung zw. Prozessen nur eine Richtung Prof. W. Burkard 27 Prof. W. Burkard 28 Stichworte Stichworte Explorer = Kommandointerpreter in Windows aus Tastatur wir gelesen wie in einer Datei / in Drucker schreibt man wie in eine Datei Kommandointerpreter = Notprogramm Pipe wird von Prozess erstellt und autom. von Windows beendet Notizen Notizen 27 28
  • 15. Monolithische “Ummantelung” des Systems durch Betriebsystemstrukturen Kommandointerpreter Das Betriebssystem ist EIN Programm, eine unstrukturierte Ansammlung von Systemfunktionen, die sich auch gegenseitige uneingeschränkt nutzen können. Es unterscheidet lediglich User- und Kernel-Modus: shell-Kommandos Dienstprogramme Anwendungen grafische oder textuelle Shell (z.B. Windows-Oberfläche bzw. command.com) Betriebssystemkern mit allen Systemfunktionen Treiber A Treiber B Treiber C ... Treiber n Gerät A Gerät B Gerät C ... Gerät n Prof. W. Burkard 29 Prof. W. Burkard 30 Stichworte Stichworte Notizen Notizen original Interpreter (shell) kann ersetzt werden (in config.sys): Als monolithischen Kernel bezeichnet man einen durch anderes Programm - gesamtes System dann aber nur noch Betriebssystemkern, in dem nicht nur Funktionen zu Speicher- und so mächtig wie dieses Programm! Prozessverwaltung und zur Kommunikation zwischen den Prozessen, sondern auch Treiber für die Hardwarekomponenten und möglicherweise weitere Funktionen direkt eingebaut sind. 29 30
  • 16. Virtuelle Maschinen Client-Server-Architektur in einem Rechner: Idee: Bau eines leistungsfähigen Multiuser-Multitasking-Systems durch Verwendung vorhandener, einfacher Betriebssysteme, denen ein “Verteiler” untergeschoben Client- Client- Client- Server- Server- ... Benutzermodus wird. (Beispiel PC/MOS386) Prozeß Prozeß Prozeß Prozeß Prozeß Kernmodus virtuelle MS-DOS-PCs Betriebssystemkern BS-Kern bzw. Netzwerk sichern die Kommunikation zwischen C+S DOS DOS DOS in einem Netz: hier: Systemaufruf Rechner 1 Rechner 2 Rechner 3 Rechner n hier: Ein- /Ausgabe- modifiziertes MSDOS-BIOS operation Klient Klient Klient Klient ... hier: TRAP Kern Kern Kern Kern (unter DOS sind dies SW-Interrupts) PC-MOS386-Betriebssystem hier: TRAP ins MOS Netzwerk die “nackte” Hardware des PC Nachricht vom Client zum Server natives BS Prof. W. Burkard 31 Prof. W. Burkard 32 Stichworte Stichworte Vgl. VPN = virtuelles privates Netzwerk in einem öffentlichen reellen Netz Notizen Notizen Eine IP-Adresse identifiziert einen Rechner. Eine Port-Nr. identifiziert eine Anwendung. - Schlussendlich kommunizieren die Anwendungen, nicht die Rechner! Eindeutige Identifizierung durch IP+PORT = SOCKET-NUMBER 31 32
  • 17. NEIN! Alles klar ?? Dann zurück zu Seite 1! 1. Nennen Sie die Aufgaben von Betriebssystemen 2. Erläutern Sie den Unterschied zwischen preemptive und non-preemptive zu 1) Prozesse aufrufen, beenden, speichern und scheduling 3. Warum wird Spooling heute insbesondere bei der Ausgabe auf Drucker koordinieren. verwendet? Komfortabler Zugriff auf Hardware-Ressourcen. 4. Worin liegt der Vorteil, wenn die Shell nicht Teil des Betriebssystems ist? Schafft Kommunikationswege zw. den einzelnen 5. Warum macht das in verteilten Systemen beliebte Client/Server-Modell auch in Einzelplatzrechnern Sinn ? Ressourcen des Systems, den Anwendungsprogrammen 6. Warum benötigt ein PC mit nur einem Prozeß keine Prozeßtabelle? und dem Menschen. 7. welche der nachstehenden Aktionen sollten nur im Kern und niemals im Benutzermodus laufen? Steuern und überwachen von Software. - Sperren aller Unterbrechungsleitungen zu 2) non-preemtive = laufender Prozess gibt CPU frei - Lesen der Tageszeit - Setzen der Tageszeit preemptive = das BS gibt frei zu 3) Druckaufträge werden im quot;Stackquot; gespeichert und dann nacheinander gedruckt,d.h. Drucker gibt frei Prof. W. Burkard 33 zu 4) Wenn BS abstürzt kann man durch shell neustarten. Stichworte zu 5) Weil beim Einzelplatzrechner das BS somit die Kommunikation zw. Clientprozessen und Server- prozessen sichert. zu 6) Da es nur einen Prozess gibt, ist die Tabelle nicht nötig, da er nicht switchen muss. zu 7) kernel modus Notizen -Sperren aller Unterbrechungsleitungen (niemals dürfen Interuppts gesperrt werden) -Setzen der Tagesezeit (niemals dürfen Prozesse Zeiten ändern) user mode -Lesen der Tageszeit 33
  • 18. ALU = arithmetic Hardware-Grundlagen Die CPU in der von-Neumann-Architektur logic unit • fast alle heutigen Rechner basieren auf einem 1944 von Eckert, Mauchly und von Neumann entwickelten Architekturprinzip. • Demnach besteht ein Computer aus einem Prozessor, einem Speicher und ein oder mehreren Ein-/Ausgabe-Geräten • Die einzelnen Systemkomponenten sind über insgesamt drei Busse miteinander verknüpft • Der Adressbus adressiert einzelne Datenzellen eines Speicherbausteins oder uni- E/A-Gerätes (Breite je nach System 16,32,64 Bit (= Signalleitungen), dadurch direkt- Festlegung des adressierbaren physikalischen Speichers) ional • Steuerbus regelt die Lese- und Schreiboperationen zwischen Prozessor und Speicher bzw. IO, nennt also z.B. die Flussrichtung der Daten • Der Datenbus dient der eigentlichen Informationsübertragung der Bits zwischen Prozessor und Speicher / IO beide Richtungen bidirektional Das Steuerwerk (englisch Control Unit, kurz CU) ist der Kern des /8 Leitungen Prof. W. Burkard 34 Prof. W. Burkard 35 Mikroprozessors. Im Steuerwerk befinden sich Befehlsregister und Befehlsdecoder. Seine Aufgabe ist die Abarbeitung des Stichworte Stichworte Programms, d.h. Befehl für Befehl eines Programmes werden ein Bus verbindet mindestens 2 (oder mehrere) durch das Steuerwerk des Mikroprozessors ausgeführt. Stationen miteinander Eine arithmetisch-logische Einheit (englisch arithmetic logic paralleler Bus hat mehrere Leitungen unit, daher oft abgekürzt ALU) ist ein elektronisches Rechenwerk, welches in Prozessoren zum Einsatz kommt. Notizen Notizen Taschenrechner != CPU, da kein Steuerwerk Steuerwerk interpretiert Befehlsregister und inkrementiert Programmcounter um 1 und übergibt dann den Befehl an CPU, diese Wertet aus, und bekommt dann neuen Befehl. 34 35
  • 19. Der zentrale Prozessor (CPU) Die von-Neumann-Architektur • Die Aufgabe der CPU ist die sequentielle Ausführung einer Instruktionsfolge (Programm) • Alle Instruktionen liegen zusammen mit den zu verarbeitenden Daten im Speicher des Rechners • Bei jeder einzelnen Befehlsausführung werden Daten in der CPU verarbeitet ODER zwischen CPU und Speicher (bzw. IO-Gerät) bewegt • Die CPU umfasst mindestens einen Registersatz, eine Recheneinheit (ALU) und ein Steuerwerk • Register sind CPU-interne, sehr schnelle (ca. 1ns) Speicherzellen mit deren Inhalten die ALU rechnen kann • Zwei Register sind von zentraler Bedeutung: • Programmzähler (PC) enthält die Adresse der nächsten auszuführenden Instruktion Cache • Kellerregister (SP) zeigt auf das Ende des Stack und dient zur Realisierung von Unterprogrammaufrufen mit Parameterübergabe • Die ALU manipuliert Prozessorregister. Neben arithmetischen Operationen für ganze und Gleitkommazahlen stellt sie Logik- und Testfunktionen zur Verfügung (z.B. Vergleiche) • Das Steuerwerk ist der Interpreter für den Instruktionssatz einer CPU und koordiniert alle Einzelaktivitäten bei der Ausführung der einzelnen Instruktionen Prof. W. Burkard 36 Prof. W. Burkard 37 Stichworte Stichworte E/A Register wird behandelt wie Haupt- wie unterscheidet man daten und instruktionen? speicher (d.h. wie eine spezielle Datei) -gar nicht! Notizen Notizen 36 37
  • 20. Der Bus in der von-Neumann-Architektur Gängige Systembusse 1 2 3 4 10100101 5 10100101 6 7 Zelle 4 8 schreiben Prof. W. Burkard 38 Prof. W. Burkard 39 Cache mit vollem CPU-Takt, sonst nur die CPU darf den Adressbus benutzen! Stichworte Stichworte quot;Flaschenhalseffektquot;-quot;Pipeliningquot; Adressbus [Bearbeiten] Datenbus [Bearbeiten] Ein Adressbus ist in der Computertechnologie - im Gegensatz zum Datenbus - ein Bus, der Ein Datenbus überträgt Daten zwischen Computerbestandteilen nur Speicheradressen überträgt. Die Busbreite, also die Anzahl der Verbindungsleitungen, innerhalb eines Computers oder zwischen verschiedenen bestimmt dabei, wieviel Speicher direkt adressiert werden kann. Wenn ein Adressbus n Notizen Notizen Computern. Anders als bei einem Anschluss, bei dem ein Gerät Adressleitungen hat, können 2n Speicherstellen adressiert werden. mit einem anderen Gerät über eine oder mehrere Leitungen Dieser Bus ist unidirektional und wird vom jeweiligen Busmaster (s. a. oben) angesteuert. verbunden ist, kann ein Bus mehrere Peripheriegeräte über den Letzterer ist meistens die CPU, aber vor allem DMA-fähige Bausteine können diesen Bus gleichen Satz von Leitungen miteinander verbinden. auch übernehmen, wenn sie aktiv werden. Die Bezeichnung als Datenbus wird in mehrfachem Zusammenhang verwendet: Steuerbus (Kontrollbus) [Bearbeiten] • mit Betonung auf Daten: zur Abgrenzung gegenüber Der Steuerbus ist ein Teil des Bussystems, welcher die Steuerung (engl. control) des gemeinsamen Anschlüssen, wie der Stromversorgung Bussystems bewerkstelligt. Hierzu zählen unter anderem die Leitungen für die Interrupt- • mit Betonung auf Bus: zur Unterscheidung der Topologie, wie z. Steuerung, Buszugriffssteuerung, der Taktung (falls ein Bustakt erforderlich ist), Reset- und B. direkten Punkt-zu-Punkt-Verbindungen Statusleitungen. Welche der Leitungen in einem Bus eingesetzt sind, ist von der Art und • bei parallelen Bussen: zur Unterscheidung von Adress- oder Struktur des Busses abhängig. In Multi-Master-Systemen, in denen mehr als ein Subsystem 38 39 Steuerleitungen die Buskontrolle übernehmen kann, ist ein Arbiter als Entscheidungsinstanz erforderlich.
  • 21. kommt noch! Maschinenbefehle und Daten im Speicher Instruktionssatz und Adressierungsarten • Die Menge aller vom Steuerwerk verstandenen Befehle definiert den Instruktionssatz eines Prozessors. • Die Befehle lassen sich kategorisieren: • Arithmetik-, Logik- und Schiebeoperationen • Operationen zur Beeinflussung der weiteren Befehlsausführungsreihenfolge • Lade- und Speicheroperationen dienen dem Austausch von Daten zwischen CPU und Speicher Programmcounter • Hierbei unterscheidet man diverse Adressierungsarten: • Registeradressierung: Ziel oder Quelle ist ein CPU-Register • Absolute Adressierung: Ziel / Quelle ist eine Speicherzelle / Gerätezelle • Relative Adressierung: in einem CPU-Register steht ein Basiswert, relativ zu dem ein Offset angegeben wird um Ziel / Quelle zu benennen • Indirekte Adressierung: Ziel / Quelle ist der Inhalt eines Register oder einer Speicherzelle Prof. W. Burkard 40 Prof. W. Burkard 41 Stichworte Stichworte Notizen Notizen Schiebeoperationen: pipelining=64bit datenbus schickt benachbarte ... Speicherzellen gleich mit 40 41