Cover von Grundkurs Betriebssysteme wird in neuem Tab geöffnet

Grundkurs Betriebssysteme

Architekturen, Betriebsmittelverwaltung, Synchronisation, Prozesskommunikation
Verfasser*in: Suche nach Verfasser*in Mandl, Peter
Verfasser*innenangabe: Peter Mandl
Jahr: 2013
Verlag: Wiesbaden, Vieweg & Teubner
Mediengruppe: Buch
verfügbar

Exemplare

AktionZweigstelleStandorteStatusFristVorbestellungen
Vorbestellen Zweigstelle: 07., Urban-Loritz-Pl. 2a Standorte: NT.ER Mand / College 6c - Informatik & Computer Status: Verfügbar Frist: Vorbestellungen: 0

Inhalt

In kompakter und leicht verständlicher Form vermittelt der Autor wichtige Grundkonzepte, Verfahren und Algorithmen, die in modernen Betriebssystemen eingesetzt werden. Anschaulich und mit vielen Bildern wird dargestellt, welche komplexen Aufgaben ein Betriebssystem zur Verwaltung von Betriebsmitteln sowie für den konkurrierenden Zugriff auf diese bewältigen muss. Das Lehrbuch enthält viele praxisnahe Beispiele aus aktuell relevanten Betriebssystemen und Programmiersprachen. Zu jedem Kapitel werden Kontrollfragen zur Vertiefung des Stoffs angeboten. Quelle: Verlagstext
 
/ AUS DEM INHALT: / / /
Inhaltsverzeihnis:
Inhaltsverzeichnis
1 Einführung 1
1.1 Computersysteme 1
1.1.1 Einführung 2
1.1.2 Aufgabe von Betriebssystemen 3
1.1.3 Grundlegende Hardwaremodelle 3
1.1.4 CPU-Registersatz 7
1.1.5 Multicore-Prozessoren und Hyperthreading-CPUs 9
1.1.6 Einfaches Modell der Hardware für die weitere Betrachtung 10
1.1.7 Beispiele für Mikroprozessor-Architekturen 12
1.2 Entwicklung von Betriebssystemen 16
1.2.1 Betriebssystemkategorien 16
1.2.2 Universalbetriebssysteme 17
1.2.3 Historische Entwicklung 17
1.2.4 Geschichte von Microsoft Windows 19
1.2.5 Geschichte von Unix 21
1.2.6 Geschichte von Linux 23
1.3 Übungsaufgaben 24
2 Betriebssystemarchitekturen und Betriebsarten 25
2.1 Zugriffsschutz in Betriebssystemen 25
2.2 Betriebssystemarchitekturen 27
2.2.1 Klassische Architekturen 27
2.2.2 Mikrokern-Architektur 29
2.2.3 Architekturbeispiele 30
2.3 Klassische Großrechnerbetriebsarten 34
2.3.1 Multiprogramming, Multiprocessing und Multitasking 34
2.3.2 Batchvearbeitung und interaktive Verarbeitung 35
2.3.3 Teilnehmerbetrieb 36
2.3.4 Teilhaberbetrieb 37
2.4 Terminalserver-Betrieb 39
2.5 Verteilte Verarbeitung 41
2.5.1 Echt verteilte Betriebssysteme 41
2.5.2 Client-/Server-Systeme 41
IX
http://d-nb.info/1023285258
Inhaltsverzeichnis
2.5.3 Peer-to-Peer-Systeme 42
2.5.4 Kommunikations-Middleware 43
2.5.5 Application-Server-Betrieb 44
2.6 Virtualisierung von Betriebs- und Laufzeitsystemen 46
2.7 Cloud Computing 47
2.8 Übungsaufgaben 48
3 Interruptverarbeitung 49
3.1 Interrupts 50
3.1.1 Überblick 50
3.1.2 Interrupt-Bearbeitung 51
3.1.3 Interrupt-Verarbeitung bei IA32-Prozessoren 56
3.1.4 Interrupt-Bearbeitung unter Windows 59
3.1.5 Interruptverarbeitung unter Linux 65
3.2 Systemaufrufe 67
3.2.1 Systemaufrufe aus Sicht eines Anwendungsprogrammierers 67
3.2.2 Software-Interrupts unter Linux : 69
3.2.3 Software-Interrupts unter Windows 72
3.3 Übungsaufgaben 73
4 Prozesse und Threads ! 75
4.1 Prozesse 76
4.1.1 Prozessmodell 76
4.1.2 Prozessverwaltung 77
4.1.3 Prozesslebenszyklus 79
4.2 Threads 81
4.2.1 Threadmodell 81
4.2.2 Implementierung von Threads 81
4.2.3 Vor-/Nachteile und Einsatzgebiete von Threads 84
4.3 Programmierkonzepte für Threads 86
4.3.1 Threads in Java 86
4.3.2 Threads in C# 91
4.4 Prozesse und Threads in konkreten Betriebssystemen 94
4.4.1 Prozesse und Threads unter Windows 94
4.4.2 Prozesse und Threads unter Unix und Linux 102
4.5 Übungsaufgaben 107
X
Inhaltsverzeichnis
5 CPU-Scheduling 109
5.1 Scheduling-Kriterien 110
5.2 Scheduling-Verfahren 113
5.2.1 Verdrängende und nicht verdrängende Verfahren 113
5.2.2 Uberblick über Scheduling-Verfahren : 114
5.2.3 Multi-Level-Scheduling mit Prioritäten 116
5.2.4 Round-Robin-Scheduling mit Prioritäten 117
5.3 Vergleich ausgewählter Scheduling-Verfahren 119
5.3.1 CPU-Scheduling im ursprünglichen Unix 123
5.3.2 CPU-Scheduling unter Linux 125
5.3.3 CPU-Scheduling unter Windows 134
5.3.4 Scheduling von Threads in Java 141
5.3.5 Zusammenfassung 142
5.4 Übungsaufgaben 144
6 Synchronisation und Kommunikation 147
6.1 Grundlegendes zur Synchronisation 148
6.1.1 Nebenläufigkeit, atomare Aktionen und Race Conditions 148
6.1.2 Kritische Abschnitte und wechselseitiger Ausschluss 151
6.1.3 Eigenschaften nebenläufiger Programme 154
6.2 Synchronisationskonzepte 156
6.2.1 Sperren 156
6.2.2 Semaphore 158
6.2.3 Monitore 163
6.3 Synchronisationstechniken moderner Betriebssysteme 168
6.4 Synchronisationsmechanismen in Programmiersprachen 170
6.4.1 Die Java-Synchronisationsprimitive "synchronized" 171
6.4.2 Warten auf Bedingungen in Java 177
6.4.3 Weitere Synchronisationsmechanismen in Java 179
6.4.4 C#-Monitore 182
6.4.5 Die C#-Synchronisationsprimitive "lock" 184
6.4.6 C#-Mutex-Objekte 185
6.4.7 C#-Lese- und Schreibsperren 187
6.4.8 C#-Interlocked-Klasse 188
6.4.9 Warten auf Bedingungen in C# 190
Inhaltsverzeichnis
6.5 Kommunikation von Prozessen und Threads 190
6.5.1 Überblick über Kommunikationsmöglichkeiten 190
6.5.2 Verbindungsorientierte versus verbindungslose Kommunikation... 191
6.5.3 Speicherbasierte versus nachrichtenbasierte Kommunikation 192
6.5.4 Synchrone versus asynchrone Kommunikation 195
6.5.5 Kommunikationskanäle im Halb- und Vollduplex-Betrieb 198
6.5.6 Varianten der Empfängeradressierung 198
6.5.7 Fallbeispiel: Rechnerinterne Kommunikation über Pipes 199
6.5.8 Rechnerübergreifende Interprozesskommunikation 203
6.6 Übungsaufgaben 205
7 Hauptspeicherverwaltung 207
7.1 Grundlegende Betrachtungen 208
7.1.1 Speicherhierarchien 208
7.1.2 Lokalität 209
7.1.3 Adressen und Adressräume 210
7.1.4 Techniken der Speicherverwaltung 212
7.2 Virtueller Speicher 215
7.2.1 Grundbegriffe und Funktionsweise 215
7.2.2 Optimierung der Speicherverwaltung 225
7.2.3 Seitenersetzung und Verdrängung (Replacement) 229
7.2.4 Vergleich von Seitenersetzungsverfahren 238
7.2.5 Speicherbelegungs- und Vergabestrategien (Placement) 239
7.2.6 Entladestrategie (Cleaning) 242
7.2.7 Eine weitere Technik: Segmentadressierung 243
7.2.8 Shared Memory 245
7.3 Speicherverwaltung in ausgewählten Systemen 246
7.3.1 Linux-Speicherverwaltung 246
7.3.2 Windows-Speicherverwaltung 250
7.3.3 Android-Speicherverwaltung 256
7.4 Übungsaufgaben 257
8 Geräte- und Dateiverwaltung..-. 259
8.1 Aufgaben und Überblick 260
8.1.1 Grundlegendes 260
8.1.2 Gerätearten 263
XII .
Inhaltsverzeichnis
8.1.3 Geräteanbindung unter Unix 267
8.1.4 Memory-Mapped Ein-/Ausgabe und DMA 268
8.2 Datei Verwaltung 269
8.2.1 Allgemeines 269
8.2.2 Fallbeispiel: Dateisysteme unter Unix 271
8.2.3 Fallbeispiel: Dateisysteme unter Linux 273
8.2.4 Fallbeispiel: Dateisysteme unter Windows 275
8.3 Storage-Systeme 279
8.3.1 RAID-Plattensysteme 279
8.3.2 NASundSAN 284
8.4 Übungsaufgaben 286
9 Betriebssystemvirtualisierung 289
9.1 Grundbegriffe und Einsatzgebiete 290
9.1.1 Virtualisierungsterminologie 290
9.1.2 Einsatz der Virtualisierungstechnik 291
9.1.3 Vor- und Nachteile der Virtualisierung 292
9.2 Virtualisierbarkeit der Hardware 293
9.2.1 Hardware-Voraussetzungen 293
9.2.2 Virtualisierung bei x86-Prozessoren 295
9.2.3 Virtualisierungstechniken in Prozessoren 296
9.3 Varianten der Virtualisierung 298
9.3.1 Typ-l-Hypervisor 299
9.3.2 Typ-2-Hypervisor 299
9.3.3 Paravirtualisierung 300
9.3.4 Weitere Virtualisierungsansätze 301
9.4 Betriebsmittelverwaltung bei Virtualisierung 302
9.4.1 Interruptverarbeitung und Gerätesteuerung 302
9.4.2 CPU-Scheduling 304
9.4.3 Speicherverwaltung 306
9.5 Zusammenfassung 309
9.6 Übungsaufgaben 310
10 Schlussbemerkung 311
XIII
 

Details

Verfasser*in: Suche nach Verfasser*in Mandl, Peter
Verfasser*innenangabe: Peter Mandl
Jahr: 2013
Verlag: Wiesbaden, Vieweg & Teubner
opens in new tab
Systematik: Suche nach dieser Systematik NT.ER
Suche nach diesem Interessenskreis
ISBN: 978-3-8348-1897-3
2. ISBN: 3-8348-1897-6
Beschreibung: 3., akt. und erw. Aufl., XIV, 396 S. : Ill.
Schlagwörter: Betriebssystem, Betriebssysteme, Computer / Betriebssystem, Datenverarbeitung / Betriebssystem
Suche nach dieser Beteiligten Person
Mediengruppe: Buch