Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Gliederung Lehrmodul 1 Grundsätzlicher Aufbau von Betriebssystemen Typen, Aufgaben, Anforderungen, Strukturen, Rechnerkomponenten Prozessverwaltung Multitasking,

Ähnliche Präsentationen


Präsentation zum Thema: "Gliederung Lehrmodul 1 Grundsätzlicher Aufbau von Betriebssystemen Typen, Aufgaben, Anforderungen, Strukturen, Rechnerkomponenten Prozessverwaltung Multitasking,"—  Präsentation transkript:

1 Gliederung Lehrmodul 1 Grundsätzlicher Aufbau von Betriebssystemen Typen, Aufgaben, Anforderungen, Strukturen, Rechnerkomponenten Prozessverwaltung Multitasking, Multiprocessing, Multithreading, Threads, Prozesszustände, Verwaltungsmechanismen und -verfahren, Probleme Speicherverwaltung Konzepte, Adressierungsarten, Aufgaben, Speicherbelegung, verschiedene Techniken der Adressierung, Mechanismen zur Speicherverwaltung

2 Grundsätzlicher Aufbau von Betriebssystemen Typen von Betriebssystemen Beispiele: MainframeOS/390, MVS, BS2000 Unix ServerSun Solaris, HP-UX, IBM AIX, Linux PC/ServerWindows XX, MacOS EchtzeitsystemeVX-Works, BOS

3 Grundsätzlicher Aufbau von Betriebssystemen Aufgaben eines Betriebssystems: Hardwareerkennung, Initialisierung, Benutzeroberfläche Verwaltung/Steuerung von Systemressourcen - Prozessor, Speicher, Geräte Programmausführung Bereitstellung von Werkzeugen Absicherung und Isolierung der Benutzer und Prozesse Kommunikation von Prozessen Zusammenarbeit von Prozessoren

4 Grundsätzlicher Aufbau von Betriebssystemen Anforderungen an ein Betriebssystem: Multiuserfähigkeit Multiprozessorunterstützung Multitasking-, Multithreadingfähigkeit Kompatibilität Sicherheit Skalierbarkeit Zuverlässigkeit und Stabilität Netzwerkfunktionalität Applikationen

5 Grundsätzlicher Aufbau von Betriebssystemen Struktur und Konzepte Definition Betriebssystem: Menge von Programmen, die Benutzern die effiziente und gemeinsame Nutzung einer Rechenanlage ermöglicht. Monolithische Struktur Schichtenmodell Client-Server Architektur

6 Grundsätzlicher Aufbau von Betriebssystemen UNIX - Systemarchitektur Benutzerschnittstelle Kommandointerpreter (Unix-Shell) UNIX-WerkzeugeAnwenderprogramme Standard C-Bibliothek Systemkern (Kernel) Treiber HARDWARE Möglichkeit die Hardware anzusprechen Systemaufrufe

7 Grundsätzlicher Aufbau von Betriebssystemen Bestandteile eines Rechnersystems Benutzer 1Benutzer n Compiler, Editoren, Assembler, Applikationen Betriebssystem Prozess-, Speicher- und Dateiverwaltung Steuerung I/O-Geräte Rechner- hardware

8 Prozessverwaltung Begriffserklärungen: Programm = ist die statische Abfolge von Instruktionen (Befehlen) Prozess = die dynamische Ausführung eines Programmes durch das Betriebssystem mit den benötigten Ressourcen Thread = sequentielle Ausführungseinheit innerhalb eines Prozesses (Teilprozess)

9 Prozessverwaltung Multitasking - Aufteilung der Prozessorzeit auf verschiedene Prozesse Prozess 1 Prozessor Prozess 2 Zeit

10 Prozessverwaltung Multiprocessing Gleichzeitige Ausführung mehrerer Prozesse auf mehreren Prozessoren Prozess A Prozess B Prozess C Daten Registersatz Code Daten Registersatz Code Daten Registersatz Code

11 Prozessverwaltung asymetrisches Multiprocessing Betriebssystem zentral auf einem Prozessor Verteilung der Prozesse Betriebssystem Prozess Prozessor AProzessor B

12 Prozessverwaltung symetrisches Multiprocessing Verteilung des Betriebssystems Zugriff aller Prozessoren auf den gesamten Speicher Betriebs- system Prozess Betriebs- system Prozess Prozessor AProzessor B

13 Prozessverwaltung Multithreading = ist die Aufteilung von Prozessen in mehrere parallele Threads (nebenläufige Aktivitäten) Thread AThread BThread C Programmcode Registersatz

14 Prozessverwaltung Threads Threadstuktur Ein Thread besitzt: - Befehlszähler - Registerbelegungssatz - Stack (für jeden Prozess, bei geschachtelten Unterprogrammen die Rücksprungadressen Threads teilen sich den Adressraum und die Anweisungen des umfassenden Prozeses Ein Thread wird auch lightweight process (LWP) genannt. Normaler Prozess dagegen: heavyweight process (HWP).

15 Prozessverwaltung Prozesszustände wartend ausgelagert wartend rechnend bereit ausgelagert bereit Warte Auslagern freiwillig auf Tastatureingabe Signal Auslagern Einlagern Anhalten Weiter unfreiwillig auf Scheduler oder Dispatcher kann immer nur ein Prozess sein Programm im HauptspeicherProgramm auf Festplatte Signal Zeitscheibe abgelaufen

16 Prozessverwaltung UID PID PPID C TIME TTY TIME CMD root Apr 25 ? 0:01 sched root Apr 25 ? 5:07 /etc/init - root Apr 25 ? 0:00 pageout root Apr 25 ? 1739:26 fsflush root Apr 25 ? 0:00 /usr/lib/saf/sac -t 300 root Apr 25 ? 0:00 /usr/lib/power/powerd root Apr 25 ? 2:58 vxconfigd -m boot root Apr 25 ? 0:00 /usr/lib/sysevent/syseventd root Apr 25 ? 0:02 /usr/sbin/rpcbind root Apr 25 ? 0:01 /usr/lib/utmpd root Apr 25 ? 0:00 /usr/lib/autofs/automountd root Apr 25 ? 1:13 /usr/sbin/nscd root Apr 25 ? 0:04 /usr/sbin/syslogd root Apr 25 ? 0:12 /usr/sbin/inetd -s root Apr 25 ? 0:00 /usr/sadm/lib/wbem/cim root Apr 25 ? 0:00 /usr/lib/nfs/lockd daemon Apr 25 ? 0:00 /usr/lib/nfs/statd root Apr 25 ? 0:02 /usr/sbin/cron oracle :02:12 ? 0:00 oraclePKSA (LOCAL=NO) root Apr 25 ? 0:00 /usr/lib/lpsched root Apr 25 ? 0:00 /bin/ksh root Apr 25 ? 0:00 /usr/lib/inet/xntpd root Apr 25 ? 0:02 /usr/sbin/vold root Apr 25 ? 64:59 mibiisa -r -p root Apr 25 ? 0:00 /usr/lib/sendmail -bd -q15m oracle :54:34 ? 0:00 oraclePKSL (LOCAL=NO)

17 Prozessverwaltung Scheduling Vergabestrategie für CPU an lauffähige Prozesse und Job-Verdrängung (job- preemption). Im Gegensatz zu Dispatcher berücksichtigt der Scheduler auch den bisherigen Verlauf eines Prozesses bei seiner Entscheidung, welcher Prozess als nächster aktiviert werden soll. Optimierungsgesichtspunkte: - kleine Bedienzeiten für die Benutzer - gute Auslastung der (teuren) Betriebsmittel) - hoher Durchsatz (Anzahl verarbeiteter Jobs pro Zeit) - faire Wartezeiten für alle Benutzer - garantierte Abwicklung innerhalb vorgegebener Zeiten für wichtige Jobs

18 Prozessverwaltung Aufgaben des Schedulers - Prioritätsentscheidungen aufgrund von: Job-Umgebung - geschätzte Restlaufzeit - Betriebsmittelanforderungen - Benutzerprioritäten Rechner-Umgebung - Prozessorauslastung - Peripherieauslastung - Warteschlangengrößen Überprüfung, ob die erforderlichen Betriebsmittel vorhanden sind

19 Prozessverwaltung Dispatcher - teilt einen rechenwilligen Prozess einen Prozessor zu - muß sehr effizient implementiert sein, da Prozesswechsel im 100 Millisekundenbereich vorkommen - ist für kurzfristige Prozessorzuteilung zuständig Steuerung der Prozessor-Umschaltung durch Zeitgeber Aufgaben des Dispatchers (bei Kontext-Wechsel) - Sicherung des Prozessorzustandes im PCB des geraden aktiven Prozesses - Setzen des neuen Prozesszustandes im PCB und ggf. Umketten des PCB in zugehörige Warteschlange - Setzen des Prozessorzustandes aus dem PCB des Prozesses, dem als nächsten der Prozessor zugeteilt wird - Aktivierung des neuen Prozesses

20 Prozessverwaltung Scheduling-Verfahren Beispielhafter Vergleich bei einfachem Stapelbetrieb: - n Jobs im betrachteten Zeitabschnitt vorhanden - T i Turnaround von Job i (gesamte Bearbeitungs- und und Wartezeiten, Verweilzeit) First come first served (FCFS) Bearbeitungsreihenfolge gleich Ankunftsreihenfolge Durchschnittliche Wartezeiten variieren stark und sind meist recht hoch (bei großer Anzahl Jobs)

21 Prozessverwaltung Shortest job first Zu jedem Job ist die (geschätzte) Laufzeit bekannt. Es kommt derjenige Job zur Ausführung dessen Laufzeit aktuell am kürzesten ist Bei Überschreitung der geschätzten Laufzeit, Bestrafungsmechanismen (z.B. überzogene Zeiteinheiten teurer abrechnen, Job abbrechen etc.) Ergibt unter den non preemptive Systemen die minimalste Wartezeit für eine gegebene Menge von Prozessen

22 Prozessverwaltung Round-Robin Scheduling Im einfachsten Fall sequentielle Abarbeitung der Prozesse in einer Multitasking-Umgebung. Es wird ein Zeitquantum q fest vorgegeben und es erfolgt eine Reihum- Zuteilung des Zeitquantums für alle Prozesse. dabei gilt: für q --> 0: quasi gleichzeitige Bedienung aller Jobs, aber sehr großer Overhead. für q --> : Übergang zu FCFS

23 Prozessverwaltung Synchronisation notwendige Voraussetzung für Wechselwirkungen zwischen Prozessen - mindestens zwei Prozesse vorhanden - die Prozesse laufen (quasi-)parallel ab Es werden keine Annahmen über Laufzeiten sowie über den Zeitpunkt des Prozesswechsels gemacht Voraussetzung ist die Existenz elementarer non preemptive Operationen Probleme, die sich bei konkurrierenden Prozessen ergeben: - Umschaltung des Programmablaufs (Dispatcher und Scheduler) - Sicherung des einen Prozesses gegen unerwünschte Einflüsse der anderen - Nutzung gemeinsamer Betriebsmittel

24 Prozessverwaltung Kritische Abschnitte unkritischer Abschnitt ist ein (Programm-)abschnitt, in dem nicht auf Betriebs- mittel zugegriffen wird, die von mehreren Prozessen gleichzeitig benutzt werden. kritischer Abschnitt ist eine Menge von Anweisungen, in denen das Ergebnis ihrer Ausführung auf unvorhersehbare Weise variieren kann, wenn Variablen, auf die in diesem Abschnitt zugegriffen wird und die auch für andere parallel laufende Prozesse verfügbar sind, während der Ausführungszeit verändert werden. Lösung: - es darf sich zu jedem Zeitpunkt nur ein Prozess im kritischen Abschnitt befinden - Ein Prozess innerhalb eines kritischen Abschnittes verläßt diesen wieder nach Ablauf einer endlichen Zeit - wenn ein Prozess in einen kritischen Prozess eintreten will, muß ihm das nach einer endlichen Zeit gestattet werden

25 Prozessverwaltung Deadlocks Verklemmung, d.h. eine Gruppe von Prozessen (mindestens zwei) wartet auf den Eintritt von Bedingungen, die nur durch Prozesse dieser Gruppe hergestellt werden können. P1 B2 P2 B1 Prozess 1 fordert Betriebsmittel B2 an Betriebsmittel B2 ist von Prozess 2 belegt Prozess 2 forder Betriebsmiite B1 an Betriebsmittel B1 ist von Prozess 1 belegt

26 Speicherverwaltung Speicherhierarchie: Register L1-Cache L2-Cache Arbeitsspeicher (RAM) Erweiterungsspeicher Magnetplattenspeicher Optische Plattenspeicher KostenZugriffszeit Kapazität

27 Speicherverwaltung Adressfeld Zur Adressierung einer Speicherstelle verwendet ein Prozessor eine bestimmte Anzahl Bits. Die Länge des Adressfeldes gibt Auskunft über die adressierbaren Speicherstellen und somit über den Adressraum eines Rechners. Adressraum physikalischer Adressraum - als Hauptspeicher real im Rechner vorhanden logischer Adressraum - auch virtueller Adressraum, der einem Programm zur Verfügung steht. Setzt sich aus Hauptspeicher + Plattenspeicher zusammen.

28 Speicherverwaltung Aufgaben der Speicherverwaltung dynamische Adressumsetzung Bereitstellung von Speicherbereichen für - gemeinsam genutzten Programmcode - gemeinsam genutzte Daten für Interprozesskommunikation Schutz der Daten und Programme vor fehlerhaften/unberechtigten Zugriff dynamische Speicherzuteilung an die Prozesse

29 Speicherverwaltung Hauptspeicherbelegung Im einfachsten Fall erfolgt eine Aufteilung des Hauptspeichers in zwei Teile: 1. residenter Teil des Betriebssystems (sog. Monitor) 2. Benutzerprogramme (Code + Daten + Stack) Beispiel MS-DOS (vereinfacht) ROM Benutzer- programme BS

30 Speicherverwaltung Swapping-Technik Das Ein- und Auslagern von Bereichen des Hauptspeichers auf Magnetplatten- speicher nennt man Swapping virtueller Speicher Speicherbelegung bei Multitasking-Systemen Bei modernen Betriebssystemen (UNIX, NT) übernimmt der sog. Memory Manager die Speicherverwaltung, beispielsweise anhand einer Speicher- belegungstabelle

31 Speicherverwaltung Seitenverwaltung Adressrelokation - Fähigkeit, daß Programme an verschiedenen Speicherstellen im Haupt- - speicher ablauffähig gemacht werden virtuelle Adressierungsarten - virtueller Adressraum ist erheblich größer als der physikalische - ein Prozess weiß nicht, ob sich eine adressierte Speicherstelle im Haupt- speicher oder im Hintergrundspeicher befindet - Abbildung der virtuellen Adresse auf eine physikalische Adresse mit Hilfe einer Abbildungsfunktion - Memory Management Unit (MMU)

32 Speicherverwaltung Speicherverwaltungsmechanismen Seitenaustauschverfahren (Paging) - Speicher wird in Blöcke fester Größe aufgeteilt - logischer Adressraum wird in Seiten fester Größe aufgeteilt - physikalische Adressraum wird in Kacheln fester Größe aufgeteilt - Kachelgröße = Seitengröße - für die Zuordnung der virtuellen Seiten zu den physikalischen Kacheln legt das Betriebssystem für jeden Prozess eine Seitenersetzungstabelle an. Assoziativspeicher (Transaction Lookaside Buffer, kurz TLB) Zwischenspeicher im Hauptspeicher, der die zuletzt berechneten physikalischen Adressen enthält.

33 Speicherverwaltung Specherverwaltungsmechanismen - Fortsetzung Segmentierung - Aufteilung des virtuellen Adressraumes in Segmente variabler Größe Ohne Segmentierung Mit Segmentierung BS unbenutzt P1 unbenutzt P2 20 KB 50 KB 20 KB 10 KB 20 KB P3 30 KB BS P1 P KB 50 KB 10 KB KB KB P3 segmentiert Code 9 KB Daten 15 KB Stack 6 KB 30 KB


Herunterladen ppt "Gliederung Lehrmodul 1 Grundsätzlicher Aufbau von Betriebssystemen Typen, Aufgaben, Anforderungen, Strukturen, Rechnerkomponenten Prozessverwaltung Multitasking,"

Ähnliche Präsentationen


Google-Anzeigen