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
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