Überblick
  Betriebssysteme
  am Beispiel                                                                                 ...
Organisation der Vorlesung                                                                                               L...
Aufgaben der Betriebssysteme                                                                  Geschichte der Betriebssyste...
Mehrprogrammbetrieb                                                                                                       ...
Schnittstelle

                                                                                                           ...
I
                                                                                               Wozu brauchen wir ein BS?...
II                                                                                                                  III
  ...
Grundlagen: Systemaufrufe                                                                                            Syste...
alles außer
                                  kritische Dinge

                           Architekturbeispiel Linux / Unix...
I

           Schichtung und Systemaufrufe bei W2K                                                Ein- und Mehrprozessorsy...
II                                                                                                                     III...
IV

                                                                                                                      ...
Grundlagen: Dateien
                           Prozesse leben und sterben...
     Das Betriebssystem erzeugt, verwaltet un...
Grundlagen:
Copyright(C) by Foxit Software Company,2005-2007



                                                          ...
Monolithische
               “Ummantelung” des Systems durch
                                                             ...
Virtuelle Maschinen                                                                                Client-Server-Architekt...
NEIN!
                            Alles klar ??                            Dann zurück
                                   ...
ALU =
                                                                                                       arithmetic
  ...
Der zentrale Prozessor (CPU)                                                                                              ...
Der Bus in der von-Neumann-Architektur                                                                                 Gän...
kommt noch!


       Maschinenbefehle und Daten im Speicher                       Instruktionssatz und Adressierungsarten
...
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
BS
Nächste SlideShare
Wird geladen in …5
×

BS

2.121 Aufrufe

Veröffentlicht am

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
2.121
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
22
Aktionen
Geteilt
0
Downloads
11
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

BS

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

×