SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
Copyright(C) by Foxit Software Company,2005-2006


                                             Betriebssysteme                                                                                       Überblick
                                             am Beispiel                                                                                       q   klassische Betriebssysteme
                                                                                                                                                   s   Einführung und Überblick



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

                                                                                                                                               q   Einführung in Linux/Unix
                                                                                                                                                   s   Überblick, Installation, System-Grundlagen
                                                                 Fachhochschule Pforzheim
Edited by Foxit Reader




                                                                                                                                                   s   Dateisystem, die Shell, Task-Management,
                                                                                                                                                   s   Linux administrieren, die grafische Oberfläche
For Evaluation Only.




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

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

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




                        Stichworte                                                                                      Stichworte




                        Notizen                                                                                         Notizen




                                                                                                                    1                                                                                          2
Copyright(C) by Foxit Software Company,2005-2006



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




                                                             oc 1

                                                             oc 12
                                                             oc 0




                                                                   14
                                                             oc 3
                                                                   5                                                                                                          (Grundlagen moderner Betriebssysteme), dpunkt-Verlag, Heidelberg 2001
                                                                   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
Edited by Foxit Reader




                                                                                                                                                            [Brause98]        Rüdiger Brause, Betriebssysteme, Springer-Verlag, Berlin 1998
For Evaluation Only.




                                                                       Pflichtteil Betriebswirte      für Betriebswirte keine Pflicht                       [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
Copyright(C) by Foxit Software Company,2005-2006


                                                                      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,
Edited by Foxit Reader




                                                            •Speicher,
                                                            •Peripherie-Geräte,
For Evaluation Only.




                                                            •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 z.B. Zwischenablage

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




                        Stichworte                                                                                             Stichworte
                       -Systemsoftware kümmert sich um die Probleme die wir nur deshalb haben,
                        weil wir einen Computer haben.
                        z.B. Windows Explorer, Compiler, Defragmentierungsprogramm
                       -Anwendungssoftware kümmert sich ausschlieslich um die Probleme
                        die wir auch ohne Computer haben.
                        z.B. Buchhaltungssoftware, Excel



                        Notizen                                                                                                Notizen




                                                                                                                           5                                                                                    6
Copyright(C) by Foxit Software Company,2005-2006



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




                                                                                                                                                                                                                                                   
                                                                                                                                                                                                                      ide
Edited by Foxit Reader




                                                                                                                                                                                                                                         ¥ £
                                                                                                                                                                                                                         rs




                                                                                                                                                                                                                                            ¥ 
                                                                                                                                                           q Fairness: Jeder Job erhält gerechten Anteil an CPU-Zeit
                                                                                                                                                                                                                           pr
For Evaluation Only.




                                                                                                                                                                                                                              üc




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




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




                                                                                                                                                                                                                                 
                                                                                       “Job 1”      “Job 2”      “Job 3”              “Job n”                                                                                         e
                                                                                                                                                                                                                                        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




                                    Stichworte                                                                                                         Stichworte




                                    Notizen                                                                                                            Notizen




                                                                                                                                                   7                                                                                              8
Betriebssystem?
Copyright(C) by Foxit Software Company,2005-2007



                                                                      vernetzte Rechner                                                                                    Was ist das eigentlich?

                                                   neue Herausforderungen:                                                                       SAP/R3                MS-Office     Browser ...   Anwendungsprogramme
                                                      Betriebssysteme mehrerer Rechner müssen miteinander kommunizieren
                                                      Ressourcenverteilung über Rechnergrenzen hinweg                                              Compiler               Editoren     MMS
                                                      Entstehung von Arbeitsteilung und Spezialisierung im Verbund (=Client/Server)                                                               Systemprogramme
                                                   Netzwerkbetriebssystem:                                                                          BETRIEBSSYSTEM
                                                      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
Edited by Foxit Reader




                                                   verteilte Betriebssysteme:
For Evaluation Only.




                                                       Das gesamte Netz erscheint dem Anwender gegenüber wie ein einziger Rechner.                                    Mikroprogramme
                                                       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




                                    Notizen                                                                                                    Notizen




                                                                                                                                           9                                                                              10
I
Copyright(C) by Foxit Software Company,2005-2007



                                                           Softwarestrukturen in einem Rechner                               Wozu brauchen wir ein BS?
                                                                                                               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.
Edited by Foxit Reader




                                                                                                                  Dafür gibt’s mehrere Alternativen:
For Evaluation Only.




                                                                                                               q      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
                                                                                                                      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
                                        Kommandointerpreter bzw. grafische Benutzeroberfläche




                                    Notizen                                                                Notizen
                                                                                                           Nach Taylor-Reihe googeln, bzw. Unterlagen vom Gymnasium anschauen.




                                                                                                      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
    q Es wird immer ein Gerät benutzt (Festplatte)                                                        Gründen problematisch:
    q Es gibt mehrere unterschiedliche Abstraktionsebenen                                         q       Schnittstellen zu Geräte-Controllern sind heute zwar weitgehend genormt, aber
    q Welche Abstraktionsebene gewählt wird ist sehr stark von der Anwendung abhängig
                                                                                                          dennoch unhandlich.
    q Wie lassen sich die Dienste einer Abstraktionsebene nutzen ?
                                                                                                  q       Koordination von Prozessor und anderen Komponenten mit den hardwareseitig
                                                                                                          verfügbaren Hilfsmitteln (Interruptmechanismen, Zyklisches Abfragen (Polling) ) führt
    q     es gibt ein Laufzeitpaket, d.h. einer Anwendung wird eine Menge von Funktionen                  zu schwer durchschaubaren Progammstrukturen, die wir auf Anwendungsebene nicht
           




       zur Verfügung gestellt, die den Zugang zu den gebotenen Diensten ermöglicht.                       haben wollen.
       (Application Programming Interface API )
                                                                                                  q       Direkter Hardwarezugriff bedeutet in Mehrbenutzerbetrieb schwerwiegende
    q Die gebotenen Dienste können vom BS selbst oder aber von anderen Serviceleistern
                                                                                                          Schutzprobleme durch unvermeidbare Benutzung privilegierter Instruktionen
       erbracht werden (dann aber ist das BS nur als Vermittler tätig)
                                                                                                  q       Ohne unterstützende Software ist die Abwicklung unabhängiger Benutzeraktivitäten in
    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
       mündet in aller Regel in einem TRAP (Einsprung in den Betriebssystemkern)                          Anwender wünschen sich indirekten Zugang zur Hardware über eine Dienstschicht,




                                                                                                   
                                                                                                          die quasi eine virtuelle Maschine darstellt und komfortabel benutzbar ist.


    Prof. W. Burkard                                                                13                Prof. W. Burkard                                                                    14




Stichworte                                                                                    Stichworte




Notizen                                                                                       Notizen




                                                                                         13                                                                                                    14
Copyright(C) by Foxit Software Company,2005-2007



                                                                  Grundlagen: Systemaufrufe                                                                                            System calls
                                                                                                                                                        Problem:
                                                   q    Anwendungsprogramme kommunizieren mit dem Betriebssystem indem sie                              q   Wie verhindert man, dass bei Verschiebungen des BS im Speicher die Anwendungen neu
                                                        Systemaufrufe tätigen. == Aufruf von Systemfunktionen                                              kompiliert werden müssen, um die Systemprozeduren korrekt anzusprechen ?
                                                   q    Anwendungsentwicklungssysteme müssen alle Systemaufrufe in Bibliotheken vorrätig
                                                        halten.                                                                                         Lösung:
                                                                                                                                                        q   Speichern aller Aufrufparameter auf dem Stack und Auslösen eines speziellen
                                                   q    Die Bibliotheksfunktionen rufen durch sogenannte TRAPs das Betriebssystem
                                                                                                                                                            Hardwaresignals (sogenannter Softwareinterrupt)
                                                                                                                                                        q   Wie bei einem „normalen“ Hardware-Interrupt speichert der Prozessor seinen aktuellen
                                                   Beispiel: Lesen von Datei                                                                                Stand, springt in die Interruptbehandlung und erledigt den geforderten Job, um dann an die
                                                   q im Programmcode stehe:
                                                                                                                                                            Stelle des Abbruches zurückzukehren.
                                                         anzahl = read(Dateiname,Zielspeicherplatz-im-Hauptspeicher, Anzahl-zu-lesender-Bytes)          q   Die Interruptbehandlungsroutine ist
                                                                                                                                                            somit der zentrale Einsprungpunkt
Edited by Foxit Reader




                                                   q    Bibliotheksfunktion read prüft die Parameter und startet dann das BS mit den                        in den BS-Kern
                                                        angegebenen Parametern durch einen TRAP
For Evaluation Only.




                                                                                                                                                        q   Da nach einem Systemaufruf die
                                                   q    Betriebssystem suspendiert den laufenden Prozeß und erledigt die geforderte                         nächste Instruktion nicht gleich
                                                        Aufgabe. Dann schreibt es die Anzahl der gelesenen Bytes in die entsprechende                       ausgeführt wird, sondern die
                                                        Prozeßvariable und schaltet den Prozeß wieder “rechenbereit”.                                       Befehlsausführung am BS-Einsprung
                                                                                                                                                            plötzlich „aufhört“, wird der
                                                   q    Prozeß läuft bei der Bibliotheksfunktion wieder weiter.                                             Softwareinterrupt auch als Falltür
                                                   q    Bibliotheksfunktion liefert der rufenden Funktion die Anzahl gelesener Bytes                        (trap door, kurz TRAP) bezeichnet

                                                   Prof. W. Burkard                                                                        15               Prof. W. Burkard                                                                       16




                                    Stichworte                                                                                                        Stichworte




                                    Notizen                                                                                                           Notizen




                                                                                                                                                 15                                                                                                      16
Architekturbeispiel Linux / Unix                                    Architekturbeispiel Mach




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




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




                                                               17                                                                18
I
Copyright(C) by Foxit Software Company,2005-2007



                                                     Schichtung und Systemaufrufe bei W2K                                         Ein- und Mehrprozessorsysteme

                                                                                                              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
Edited by Foxit Reader

For Evaluation Only.




                                                                                                                        Prozessor
                                                                                                                                           Simples Einprozessorsystem

                                                                                                                                           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




                                                                                                     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 )
     parallel an einem Verbindungsnetzwerk (Multi-Master-Systembus)                                               Daher die Idee:         Aufteilen des Speichers und enger an den Prozessor binden
    • 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 1         Prozessor 2     ...    Prozessor n
                                                                                                                           Prozessor 1              Prozessor 2    ...       Prozessor n



                              Multi-Master-Systembus
                                                                                                                                              Multi-Master-Systembus


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




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




                                                                                                         21                                                                                                         22
IV
Copyright(C) by Foxit Software Company,2005-2007



                                                                      Ein- und Mehrprozessorsysteme                                                                                               Grundlagen: Prozesse
                                                   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)
                                                                Betriebssystem werden lose über ein Netzwerk gekoppelt                                                  Ein Prozeß ist ein
                                                                                                                                                                        in Ausführung befindliches Programm!               Prozeß
                                                   Cluster = sehr schnelles Netzwerk räumlich dicht beieinander stehender Rechner
                                                                                                                                                                                                                                                          Prozeß
                                                                                                                                                                Er umfaßt:                                                               CPU-Register        -
                                                                                                                                                                                                                                                          Kontext
                                                                         BS-     Anw.                                                                           q       den ausführbaren Programmcode
                                                                                                                             BS-      Anw.                                                                                               MMU-Register
                                                   Massen-               Kern                                Massen-         Kern
                                                                                                                                                                q       die Programmdaten (Variablen und
                                                   speicher                                                                                                             Konstanten des Programmes)                    Stapel (Stack)
                                                                                                             speicher
                                                                                                ...                                                             q


                                                                                                                                                                q
                                                                                                                                                                        den Programmzähler (zeigt auf die
                                                                                                                                                                        aktuell zu bearbeitende Anweisung)
                                                                                                                                                                        Stack und Stackpointer ( Zwischenpuffer
                                                                                                                                                                                                                      Daten (Heap)
                                                                                                                                                                                                                                          Kernel-Stack

                                                                                                                                                                                                                                         Datei-Info, Zugriffsrechte
Edited by Foxit Reader




                                                                       Prozessor 1                                                                                                                                   Programmcode
                                                                                                                           Prozessor 2                                  für beim Programmlauf anfallende Daten)
For Evaluation Only.




                                                                                                                                                                q       alle weiteren Informationen, die das
                                                                                                                                                                        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




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




                                    Notizen                                                                                                                  Notizen




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




Stichworte                                                                                            Stichworte




Notizen                                                                                               Notizen




                                                                                                 25                                                                                                      26
Grundlagen:
                        Handhabung von Dateien                                                                           Kommandointerpreter
    q   Vor dem Lesen oder Schreiben muß man eine Datei öffnen                                       q      Das Betriebssystem ist also das Programm, das alle Systemaufrufe ausführt.
        == Zugriffsrechte regeln den Zugriff
    q Idee: Eine Datei sei ein Ding, in welches man hineinschreiben oder aus dem man                 q      Der Kommandointerpreter ist das Programm, das dem Anwender einen Zugang
        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
    q spezielle Form: zeichenorientierte „Dateien“, z.B. Tastatur, Bildschirm, Drucker               q      textuelle Kommandointerpreter (z.B. DOS: Command.com)
    q Pipe, eine „Datei“ für die Interprozesskommunikation                                                  stellen eine einfache Sprache zur Verfügung, um Systemaufrufe sinnvoll zu
                                                                                                            nutzen. Beispiel: DIR DEL          COPY

                                A                       B                                            q      grafische Benutzeroberflächen: (grafische Interpreter)
                                                                                                            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!
                                                                                                     q      Alternativ-Begriff:   shell

    Prof. W. Burkard                                                                   27            Prof. W. Burkard                                                                    28




Stichworte                                                                                       Stichworte




Notizen                                                                                          Notizen




                                                                                            27                                                                                                28
“Ummantelung” des Systems durch                                                                              Monolithische
                   Kommandointerpreter                                                                                 Betriebsystemstrukturen
                                                                                                           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




                                                                                           29                                                                                              30
Virtuelle Maschinen                                                                               Client-Server-Architektur
      Idee: Bau eines leistungsfähigen Multiuser-Multitasking-Systems durch Verwendung              in einem Rechner:
          vorhandener, einfacher Betriebssysteme, denen ein “Verteiler” untergeschoben
                                                                                                       Client-             Client-    Client-              Server-    Server-
          wird. (Beispiel PC/MOS386)                                                                   Prozeß              Prozeß     Prozeß      ...      Prozeß     Prozeß     Benutzermodus
                                    virtuelle MS-DOS-PCs                                                                                                                         Kernmodus
                                                                                                                                     Betriebssystemkern
                                                                                                          BS-Kern bzw. Netzwerk sichern die Kommunikation zwischen C+S
                           DOS             DOS              DOS            hier: Systemaufruf       in einem Netz:
                                                                                                       Rechner 1                      Rechner 2           Rechner 3               Rechner n
 hier: Ein- /Ausgabe-
 operation                  modifiziertes MSDOS-BIOS                                                      Klient                         Klient             Klient                  Klient
                                                                           hier: TRAP
                                                                           (unter DOS sind dies           Kern                           Kern               Kern
                                                                                                                                                                           ...      Kern
                                                                           SW-Interrupts)
 hier: TRAP ins MOS        PC-MOS386-Betriebssystem
                                                                                                                                                                      Netzwerk
                           die “nackte” Hardware des PC                                                         Nachricht vom Client
                                                                                                                    zum Server
       Prof. W. Burkard                                                                  31             Prof. W. Burkard                                                                      32




Stichworte                                                                                         Stichworte




Notizen                                                                                            Notizen




                                                                                              31                                                                                                   32
Alles klar ??
 1. Nennen Sie die Aufgaben von Betriebssystemen
 2. Erläutern Sie den Unterschied zwischen preemptive und non-preemptive
     scheduling
 3. Warum wird Spooling heute insbesondere bei der Ausgabe auf Drucker
     verwendet?
 4. Worin liegt der Vorteil, wenn die Shell nicht Teil des Betriebssystems ist?
 5. Warum macht das in verteilten Systemen beliebte Client/Server-Modell auch in
     Einzelplatzrechnern Sinn ?
 6. Warum benötigt ein PC mit nur einem Prozeß keine Prozeßtabelle?
 7. welche der nachstehenden Aktionen sollten nur im Kern und niemals im
     Benutzermodus laufen?
     - Sperren aller Unterbrechungsleitungen
     - Lesen der Tageszeit
     - Setzen der Tageszeit


     Prof. W. Burkard                                                         33




Stichworte




Notizen




                                                                                   33

Contenu connexe

En vedette

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

En vedette (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Kap1

  • 1. Copyright(C) by Foxit Software Company,2005-2006 Betriebssysteme Überblick am Beispiel q klassische Betriebssysteme s Einführung und Überblick Linux s s s s s Hardware-Grundlagen Prozessverwaltung Speicherverwaltung Dateisysteme Ein-/Ausgabe s Deadlocks q Einführung in Linux/Unix s Überblick, Installation, System-Grundlagen Fachhochschule Pforzheim Edited by Foxit Reader s Dateisystem, die Shell, Task-Management, s Linux administrieren, die grafische Oberfläche For Evaluation Only. Prof. W. Burkard s Linux im Netz: NIS und NFS FB 7, Studiengang Wirtschaftsinformatik q Praxisteil Java-Threads s Threads und Prozesse in Java s die Synchronisationsproblematik und ihre Lösungen s Interprozesskommunikation Prof. W. Burkard 1 Prof. W. Burkard 2 Stichworte Stichworte Notizen Notizen 1 2
  • 2. Copyright(C) by Foxit Software Company,2005-2006 Organisation der Vorlesung Literatur Teilnehmer s Betriebswirte SG Wirtschaftinformatik [Tannen95] Andrew S. Tannenbaum, Moderne Betriebssysteme, s Bachelor of Information Systems Hanser-Verlag München/Wien 1995 s Ingenieure der Elektrotechnik Diplom/Bachelor [Oechsle01] Rainer Oechsle, Parallele Programmierung mit Java Threads, Hanser-Verlag München/Wien 2001 [Nehmer01] Jürgen Nehmer und Peter Sturm, Systemsoftware oc 1 oc 12 oc 0 14 oc 3 5 (Grundlagen moderner Betriebssysteme), dpunkt-Verlag, Heidelberg 2001 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 Edited by Foxit Reader [Brause98] Rüdiger Brause, Betriebssysteme, Springer-Verlag, Berlin 1998 For Evaluation Only. Pflichtteil Betriebswirte für Betriebswirte keine Pflicht [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. Copyright(C) by Foxit Software Company,2005-2006 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, Edited by Foxit Reader •Speicher, •Peripherie-Geräte, For Evaluation Only. •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 z.B. Zwischenablage Prof. W. Burkard 5 Prof. W. Burkard 6 Stichworte Stichworte -Systemsoftware kümmert sich um die Probleme die wir nur deshalb haben, weil wir einen Computer haben. z.B. Windows Explorer, Compiler, Defragmentierungsprogramm -Anwendungssoftware kümmert sich ausschlieslich um die Probleme die wir auch ohne Computer haben. z.B. Buchhaltungssoftware, Excel Notizen Notizen 5 6
  • 4. Copyright(C) by Foxit Software Company,2005-2006 Mehrprogrammbetrieb Timesharing q Mehrere Jobs werden im Hauptspeicher gehalten. q Wenn ein Job auf das Ende einer I/O-Operation wartet, wird die CPU einem anderen = Variante des Mehrprogrammbetriebes Job zugeteilt. q Bisheriges Problem: zu lange Antwortzeiten verhinderten interaktives Arbeiten q d.h. es können zu einem bestimmten Zeitpunkt mehrere Jobs “in Arbeit” sein. q Lösung: Betriebssystem weist die CPU den Jobs explizit zu und “entreist” sie q ABER: Nur ein in “Warteposition” gehender Job gibt die CPU frei 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 q Job-Spooling (Simultaneous Peripheral Operation On Line) = Zwischenlagerung der ankommenden Jobs auf Magnetplatte, so dass beim Zeitspanne immer wieder auf der CPU ein Stück weiterlaufen. Freiwerden einer Partition ein neuer Job sofort nachgeladen werden konnte q ==> preemptive-scheduling q Speicherpartitionierung = Aufteilung des Hauptspeichers in separate Teile, in die je ein Job geladen werden kann !!W Forderungen an einen guten Scheduling-Algorithmus:    ide Edited by Foxit Reader ¥ £ rs ¥ q Fairness: Jeder Job erhält gerechten Anteil an CPU-Zeit pr For Evaluation Only. üc ¥ £ Speicher- Speicher- Speicher- Speicher- q Effizienz: CPU ist immer voll ausgelastet hl Speicherbereich für das Betriebssystem partiton 1 partiton 2 partiton 3 ... partiton n q Antwortzeit: Ist für interaktive Nutzer minimal ich “Job 1” “Job 2” “Job 3” “Job n” e 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 Stichworte Stichworte Notizen Notizen 7 8
  • 5. Betriebssystem? Copyright(C) by Foxit Software Company,2005-2007 vernetzte Rechner Was ist das eigentlich? neue Herausforderungen: SAP/R3 MS-Office Browser ... Anwendungsprogramme Betriebssysteme mehrerer Rechner müssen miteinander kommunizieren Ressourcenverteilung über Rechnergrenzen hinweg Compiler Editoren MMS Entstehung von Arbeitsteilung und Spezialisierung im Verbund (=Client/Server) Systemprogramme Netzwerkbetriebssystem: BETRIEBSSYSTEM 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 Edited by Foxit Reader verteilte Betriebssysteme: For Evaluation Only. Das gesamte Netz erscheint dem Anwender gegenüber wie ein einziger Rechner. Mikroprogramme 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 Notizen Notizen 9 10
  • 6. I Copyright(C) by Foxit Software Company,2005-2007 Softwarestrukturen in einem Rechner Wozu brauchen wir ein BS? 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. Edited by Foxit Reader Dafür gibt’s mehrere Alternativen: For Evaluation Only. q 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 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 Kommandointerpreter bzw. grafische Benutzeroberfläche Notizen Notizen Nach Taylor-Reihe googeln, bzw. Unterlagen vom Gymnasium anschauen. 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 q Es wird immer ein Gerät benutzt (Festplatte) Gründen problematisch: q Es gibt mehrere unterschiedliche Abstraktionsebenen q Schnittstellen zu Geräte-Controllern sind heute zwar weitgehend genormt, aber q Welche Abstraktionsebene gewählt wird ist sehr stark von der Anwendung abhängig dennoch unhandlich. q Wie lassen sich die Dienste einer Abstraktionsebene nutzen ? q Koordination von Prozessor und anderen Komponenten mit den hardwareseitig verfügbaren Hilfsmitteln (Interruptmechanismen, Zyklisches Abfragen (Polling) ) führt q es gibt ein Laufzeitpaket, d.h. einer Anwendung wird eine Menge von Funktionen zu schwer durchschaubaren Progammstrukturen, die wir auf Anwendungsebene nicht   zur Verfügung gestellt, die den Zugang zu den gebotenen Diensten ermöglicht. haben wollen. (Application Programming Interface API ) q Direkter Hardwarezugriff bedeutet in Mehrbenutzerbetrieb schwerwiegende q Die gebotenen Dienste können vom BS selbst oder aber von anderen Serviceleistern Schutzprobleme durch unvermeidbare Benutzung privilegierter Instruktionen erbracht werden (dann aber ist das BS nur als Vermittler tätig) q Ohne unterstützende Software ist die Abwicklung unabhängiger Benutzeraktivitäten in 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 mündet in aller Regel in einem TRAP (Einsprung in den Betriebssystemkern) Anwender wünschen sich indirekten Zugang zur Hardware über eine Dienstschicht,   die quasi eine virtuelle Maschine darstellt und komfortabel benutzbar ist. Prof. W. Burkard 13 Prof. W. Burkard 14 Stichworte Stichworte Notizen Notizen 13 14
  • 8. Copyright(C) by Foxit Software Company,2005-2007 Grundlagen: Systemaufrufe System calls Problem: q Anwendungsprogramme kommunizieren mit dem Betriebssystem indem sie q Wie verhindert man, dass bei Verschiebungen des BS im Speicher die Anwendungen neu Systemaufrufe tätigen. == Aufruf von Systemfunktionen kompiliert werden müssen, um die Systemprozeduren korrekt anzusprechen ? q Anwendungsentwicklungssysteme müssen alle Systemaufrufe in Bibliotheken vorrätig halten. Lösung: q Speichern aller Aufrufparameter auf dem Stack und Auslösen eines speziellen q Die Bibliotheksfunktionen rufen durch sogenannte TRAPs das Betriebssystem Hardwaresignals (sogenannter Softwareinterrupt) q Wie bei einem „normalen“ Hardware-Interrupt speichert der Prozessor seinen aktuellen Beispiel: Lesen von Datei Stand, springt in die Interruptbehandlung und erledigt den geforderten Job, um dann an die q im Programmcode stehe: Stelle des Abbruches zurückzukehren. anzahl = read(Dateiname,Zielspeicherplatz-im-Hauptspeicher, Anzahl-zu-lesender-Bytes) q Die Interruptbehandlungsroutine ist somit der zentrale Einsprungpunkt Edited by Foxit Reader q Bibliotheksfunktion read prüft die Parameter und startet dann das BS mit den in den BS-Kern angegebenen Parametern durch einen TRAP For Evaluation Only. q Da nach einem Systemaufruf die q Betriebssystem suspendiert den laufenden Prozeß und erledigt die geforderte nächste Instruktion nicht gleich Aufgabe. Dann schreibt es die Anzahl der gelesenen Bytes in die entsprechende ausgeführt wird, sondern die Prozeßvariable und schaltet den Prozeß wieder “rechenbereit”. Befehlsausführung am BS-Einsprung plötzlich „aufhört“, wird der q Prozeß läuft bei der Bibliotheksfunktion wieder weiter. Softwareinterrupt auch als Falltür q Bibliotheksfunktion liefert der rufenden Funktion die Anzahl gelesener Bytes (trap door, kurz TRAP) bezeichnet Prof. W. Burkard 15 Prof. W. Burkard 16 Stichworte Stichworte Notizen Notizen 15 16
  • 9. Architekturbeispiel Linux / Unix Architekturbeispiel Mach Prof. W. Burkard 17 Prof. W. Burkard 18 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 17 18
  • 10. I Copyright(C) by Foxit Software Company,2005-2007 Schichtung und Systemaufrufe bei W2K Ein- und Mehrprozessorsysteme 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 Edited by Foxit Reader For Evaluation Only. Prozessor Simples Einprozessorsystem 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 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 ) parallel an einem Verbindungsnetzwerk (Multi-Master-Systembus) Daher die Idee: Aufteilen des Speichers und enger an den Prozessor binden • 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 1 Prozessor 2 ... Prozessor n Prozessor 1 Prozessor 2 ... Prozessor n Multi-Master-Systembus Multi-Master-Systembus Massen- Massen- BS- Anw. 1 Anw. 2 ... Anw. n speicher Multiprozessorsystem (lose Kopplung) speicher Kern Massen- Massen- Multiprozessorsystem (enge Kopplung) speicher speicher Prof. W. Burkard 21 Prof. W. Burkard 22 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 21 22
  • 12. IV Copyright(C) by Foxit Software Company,2005-2007 Ein- und Mehrprozessorsysteme Grundlagen: Prozesse 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) Betriebssystem werden lose über ein Netzwerk gekoppelt Ein Prozeß ist ein in Ausführung befindliches Programm! Prozeß Cluster = sehr schnelles Netzwerk räumlich dicht beieinander stehender Rechner Prozeß Er umfaßt: CPU-Register - Kontext BS- Anw. q den ausführbaren Programmcode BS- Anw. MMU-Register Massen- Kern Massen- Kern q die Programmdaten (Variablen und speicher Konstanten des Programmes) Stapel (Stack) speicher ... q q den Programmzähler (zeigt auf die aktuell zu bearbeitende Anweisung) Stack und Stackpointer ( Zwischenpuffer Daten (Heap) Kernel-Stack Datei-Info, Zugriffsrechte Edited by Foxit Reader Prozessor 1 Programmcode Prozessor 2 für beim Programmlauf anfallende Daten) For Evaluation Only. q alle weiteren Informationen, die das 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 Stichworte Stichworte MMS = Mensch-Maschine-Schnittstelle, in der Regel Kommandointerpreter bzw. grafische Benutzeroberfläche Notizen Notizen 23 24
  • 13. Prozesse leben und sterben... Grundlagen: Dateien Das Betriebssystem erzeugt, verwaltet und eliminiert Prozesse. Prozeß A q Zur Erinnerung: Das BS verbirgt die Physik einer Festplatte (Zylinder,Spuren...) und schafft dem Anwender eine einfache Schnittstelle: Dateien Ein Prozeß kann andere Prozesse erzeugen == Prozeßbaum Prozeß B Prozeß C gängige Systemaufrufe (System-Calls): q Das Konzept der Dateien und Dateiverzeichnisse s “erzeuge Kindprozeß B“ s “lösche mich” Wurzelverzeichnis (root directory) Prozeß D Prozeß E Prozeß F s “Ich warte auf Ende meines Kindprozesses E” s “Ersetze im Prozeß F den Programmcode durch Code yyy” s “ich brauche mehr Speicher” 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 gid = group identification Urlaub DA Studienangelegenh. Prof. W. Burkard 25 Prof. W. Burkard 26 Stichworte Stichworte Notizen Notizen 25 26
  • 14. Grundlagen: Handhabung von Dateien Kommandointerpreter q Vor dem Lesen oder Schreiben muß man eine Datei öffnen q Das Betriebssystem ist also das Programm, das alle Systemaufrufe ausführt. == Zugriffsrechte regeln den Zugriff q Idee: Eine Datei sei ein Ding, in welches man hineinschreiben oder aus dem man q Der Kommandointerpreter ist das Programm, das dem Anwender einen Zugang 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 q spezielle Form: zeichenorientierte „Dateien“, z.B. Tastatur, Bildschirm, Drucker q textuelle Kommandointerpreter (z.B. DOS: Command.com) q Pipe, eine „Datei“ für die Interprozesskommunikation stellen eine einfache Sprache zur Verfügung, um Systemaufrufe sinnvoll zu nutzen. Beispiel: DIR DEL COPY A B q grafische Benutzeroberflächen: (grafische Interpreter) 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! q Alternativ-Begriff: shell Prof. W. Burkard 27 Prof. W. Burkard 28 Stichworte Stichworte Notizen Notizen 27 28
  • 15. “Ummantelung” des Systems durch Monolithische Kommandointerpreter Betriebsystemstrukturen 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 29 30
  • 16. Virtuelle Maschinen Client-Server-Architektur Idee: Bau eines leistungsfähigen Multiuser-Multitasking-Systems durch Verwendung in einem Rechner: vorhandener, einfacher Betriebssysteme, denen ein “Verteiler” untergeschoben Client- Client- Client- Server- Server- wird. (Beispiel PC/MOS386) Prozeß Prozeß Prozeß ... Prozeß Prozeß Benutzermodus virtuelle MS-DOS-PCs Kernmodus Betriebssystemkern BS-Kern bzw. Netzwerk sichern die Kommunikation zwischen C+S DOS DOS DOS hier: Systemaufruf in einem Netz: Rechner 1 Rechner 2 Rechner 3 Rechner n hier: Ein- /Ausgabe- operation modifiziertes MSDOS-BIOS Klient Klient Klient Klient hier: TRAP (unter DOS sind dies Kern Kern Kern ... Kern SW-Interrupts) hier: TRAP ins MOS PC-MOS386-Betriebssystem Netzwerk die “nackte” Hardware des PC Nachricht vom Client zum Server Prof. W. Burkard 31 Prof. W. Burkard 32 Stichworte Stichworte Notizen Notizen 31 32
  • 17. Alles klar ?? 1. Nennen Sie die Aufgaben von Betriebssystemen 2. Erläutern Sie den Unterschied zwischen preemptive und non-preemptive scheduling 3. Warum wird Spooling heute insbesondere bei der Ausgabe auf Drucker verwendet? 4. Worin liegt der Vorteil, wenn die Shell nicht Teil des Betriebssystems ist? 5. Warum macht das in verteilten Systemen beliebte Client/Server-Modell auch in Einzelplatzrechnern Sinn ? 6. Warum benötigt ein PC mit nur einem Prozeß keine Prozeßtabelle? 7. welche der nachstehenden Aktionen sollten nur im Kern und niemals im Benutzermodus laufen? - Sperren aller Unterbrechungsleitungen - Lesen der Tageszeit - Setzen der Tageszeit Prof. W. Burkard 33 Stichworte Notizen 33