Prof. Dr. Christian Baun – 4. Foliensatz Betriebssysteme und
24 mai 2016 Foliensatz Betriebssysteme und Rechnernetze – FRA-UAS – SS2019 ... wie das Prozessmanagement mit Prozesstabellen.
Betriebssysteme
Das Betriebssystem kontrolliert alle Hardware- und Software-Komponenten eines stellt Basis-Dienstleistungen (Dateizugriff Prozessmanagement).
PROZESSMANAGEMENT
DAS BETRIEBSSYSTEM EINER ORGANISATION. EINLEITUNG. Business Process Management Community of Practice. Spätestens seit Hammer/Champy 1993 sind Geschäfts.
Embedded- und RT-Betriebssysteme
Prozeßmanagement. – Erzeugung Unterbrechung
Embedded- und RT-Betriebssysteme
Prozeßmanagement. – Erzeugung Unterbrechung
Betriebssysteme
7 févr. 2003 1.1 Betriebssysteme . ... 4 Prozesse und Prozessmanagement ... ckerlisten als Ausgabe ? Monitor als elementare Betriebssysteme.
Prof. Dr. Christian Baun – 4. Foliensatz Betriebssysteme und
Foliensatz Betriebssysteme und Rechnernetze – FRA-UAS – SS2020 wie das Prozessmanagement mit Prozesstabellen. Prozesskontrollblöcken und Zustandslisten ...
Folie 1
-Der „Networking Stack“. -Alternativen zum Kernel. -Das kernellose Betriebssystem KLOS -Prozessmanagement/-scheduling. -System Aufrufe. -Interrupts.
Leitung (m/w/d) IT Digitalisierung und Prozessmanagement
28 août 2022 IT Digitalisierung und Prozessmanagement ... IT-Kenntnisse
Betriebssysteme
Die Kernel aller Betriebssysteme haben de facto identische. Funktionen z. B. • Unterbrechungsverarbeitung. • Prozessmanagement. • Scheduling/Dispatching.
4. Foliensatz
Betriebssysteme und Rechnernetze
Prof. Dr. Christian Baun
Frankfurt University of Applied Sciences
(1971-2014: Fachhochschule Frankfurt am Main) Fachbereich Informatik und Ingenieurwissenschaften christianbaun@fb2.fra-uas.de Prof. Dr. Christian Baun - 4. Foliensatz Betriebssysteme und Rechnernetze - FRA-UAS - SS2019 1/51Lernziele dieses Foliensatzes
Am Ende dieses Foliensatzes kennen/verstehen Sie...Hardwarekontext
Systemkontext
Zustands-Prozessmodellewie dasProzessmanagementmitProzesstabellen, Prof. Dr. Christian Baun - 4. Foliensatz Betriebssysteme und Rechnernetze - FRA-UAS - SS2019 2/51Prozess und Prozesskontext
Wir wissen bereits...
EinProzess(lat.procedere= voranschreiten) ist eine Instanz eines Programms, das Auf Computern sind immer mehrere Prozesse in Ausführung Die CPU wird im raschen Wechsel zwischen den Prozessen hin- und hergeschaltetEin Prozess umfasst außer dem Quelltext noch seinenKontext3 Arten von Kontextinformationen speichert das Betriebssystem:
Benutzerkontext
Daten im zugewiesenen Adressraum (virtuellen Speicher)=?Foliensatz 2HardwarekontextRegister in der CPU
Systemkontext
Informationen, die das Betriebssystem über einen Prozess speichert Die Informationen im Hardwarekontext und Systemkontext verwaltetdas Betriebssystem imProzesskontrollblock=?Folie 6Prof. Dr. Christian Baun - 4. Foliensatz Betriebssysteme und Rechnernetze - FRA-UAS - SS2019 3/51
Hardwarekontext
DerHardwarekontextumfasst die Inhalte der Register in der CPUzum Zeitpunkt der Prozess-AusführungRegister, deren Inhalt bei einem Prozesswechsel gesichert werden muss:
Basepointer - zeigt auf eine Adresse im Stack
Befehlsregister (Instruction Register) - speichert den aktuellen BefehlAkkumulator - speichert Operanden für die ALU und deren Resultate
Page-table base Register - Adresse wo die Seitentabelle des laufenden ProzessesEinige dieser Register wurden in Foliensatz 2 vorgestellt Prof. Dr. Christian Baun - 4. Foliensatz Betriebssysteme und Rechnernetze - FRA-UAS - SS2019 4/51Systemkontext
DerSystemkontextsind die Informationen, die das Betriebssystemüber einen Prozess speichertBeispiele:
Eintrag in der Prozesstabelle
Prozessnummer (PID)
Prozesszustand
Information über Eltern- oder Kindprozesse
Identifier - Zugriffsrechte auf Ressourcen
Quotas - Zur Verfügung stehende Menge der einzelnen RessourcenLaufzeit
Prof. Dr. Christian Baun - 4. Foliensatz Betriebssysteme und Rechnernetze - FRA-UAS - SS2019 5/51 Jeder Prozess hat seinen eigenen Prozesskontext, der von den führt das Betriebssystem dieProzesstabelleEs ist eine Liste aller
einen Eintrag, denProzesskontrollblock
Prof. Dr. Christian Baun - 4. Foliensatz Betriebssysteme und Rechnernetze - FRA-UAS - SS2019 6/51ProzesswechselBildquelle:http://www.cs.odu.edu/˜cs471w/spring10/lectures/Processes.htmBeim Prozesswechsel wird der
Kontext (=?Inhalt der
CPU-Register) im
die CPU, wird sein Kontext mit dem Inhalt desProzesskontrollblocks
wiederhergestellt Jeder Prozess ist zu jedem Zeitpunkt in einem bestimmtenZustand=?Zustandsdiagramm der ProzesseProf. Dr. Christian Baun - 4. Foliensatz Betriebssysteme und Rechnernetze - FRA-UAS - SS2019 7/51
Wir wissen bereits...
Jeder Prozess befindet sich zu jedem Zeitpunkt in einem Zustand Zustands-Prozessmodell des Betriebssystems abFrage Prof. Dr. Christian Baun - 4. Foliensatz Betriebssysteme und Rechnernetze - FRA-UAS - SS2019 8/512-Zustands-Prozessmodell
2-Zustands-Prozessmodell (Implementierung)
Die Ausführungsreihenfolge der Prozesse legt derSchedulerfest, dereinenScheduling-Algorithmus(siehe Foliensatz 5) verwendetProf. Dr. Christian Baun - 4. Foliensatz Betriebssysteme und Rechnernetze - FRA-UAS - SS2019 10/51
Konzeptioneller Fehler des 2-Zustands-Prozessmodells Das 2-Zustands-Prozessmodell geht davon aus, dass alle Prozesse immer zur Ausführung bereit sindDas ist unrealistisch!Warten auf das Ergebnis eines anderen Prozesses
Warten auf eine Reaktion des Benutzers
Prozesse diebereit(ready) sindProzesse dieblockiert(blocked) sind=?3-Zustands-ProzessmodellProf. Dr. Christian Baun - 4. Foliensatz Betriebssysteme und Rechnernetze - FRA-UAS - SS2019 11/51
3-Zustands-Prozessmodell (1/2)
Jeder Prozess befindet sich in
die CPU und führt auf dieserwartet aktuell auf die Zuteilung der CPUblockiert(blocked):Der Prozess kann momentan nicht weiter ausgeführt werden und wartet
auf das Eintreten eines Ereignisses oder die Erfüllung einer BedingungDabei kann es sich z.B. um eine Nachricht eines anderen Prozesses oder
Synchronisationsereignisses handeln
Prof. Dr. Christian Baun - 4. Foliensatz Betriebssysteme und Rechnernetze - FRA-UAS - SS2019 12/513-Zustands-Prozessmodell (2/2)
add: Prozesserzeugung undEinordnung in die Liste der
Prozesse im Zustandbereitretire: Der rechnende Prozess terminiertBelegte Ressourcen werden freigegebendispatch: Die CPU wird einem Prozess im Zustandbereitzugeteilt,der nun in den Zustandrechnendwechseltblock: Der rechnende Prozess wartet auf eine Nachricht oder ein
Synchronisationsereignis und wechselt in den Zustandblockierttimeout: Dem rechnenden Prozess wird wegen einer Entscheidung des
Schedulers die CPU entzogen und er wechselt in den Zustandbereitready: Der Grund, warum der der Prozess blockiert ist, existiert nicht
mehr und der Prozess wechselt in den ZustandbereitProf. Dr. Christian Baun - 4. Foliensatz Betriebssysteme und Rechnernetze - FRA-UAS - SS2019 13/51
3-Zustands-Prozessmodell - Realisierung (1/2)
Warteschlange für Prozesse im ZustandbereitWarteschlange für Prozesse im ZustandblockiertMehreren Warteschlangen für die blockierten Prozesse sind sinnvoll
Prof. Dr. Christian Baun - 4. Foliensatz Betriebssysteme und Rechnernetze - FRA-UAS - SS2019 14/513-Zustands-Prozessmodell - Realisierung (2/2)
Mehrere Warteschlangen für blockierte Prozesse
So macht es Linux in der Praxis
Beim Zustandsübergang wird der Prozesskontrollblock des Prozesses ausder alten Zustandsliste entfernt und in die neue Zustandsliste eingefügtFür Prozesse im Zustandrechnendexistiert keine eigene ListeProf. Dr. Christian Baun - 4. Foliensatz Betriebssysteme und Rechnernetze - FRA-UAS - SS2019 15/51
5-Zustands-Prozessmodell
Es ist empfehlenswert, das 3-Zustands-Prozessmodell um 2 weitere vom Betriebssystem noch nicht in die Warteschlange für Prozesse im Zustandbereiteingefügtexit: Der Prozess ist fertig abgearbeitet oder wurde beendet, aber sein Prozesskontrollblock existiert aus verschiedenen Gründen nochGrund für die Existenz derAnzahl der ausführbaren
Prozesse limitiert, um Speicher
zu sparen und den Grad desMehrprogrammbetriebs
festzulegen Prof. Dr. Christian Baun - 4. Foliensatz Betriebssysteme und Rechnernetze - FRA-UAS - SS2019 16/516-Zustands-Prozessmodell
Ist nicht genügend physischer Hauptspeicher für alle Prozesse verfügbar,müssen Teile von Prozessen ausgelagert werden=?SwappingDas Betriebssystem lagert Prozesse aus, die im ZustandblockiertsindDadurch steht mehr
Hauptspeicher den
Prozessen in den
bereitzur VerfügungEs macht also Sinn, das5-Zustands-
Prozessmodell um den
Prozesszustand
suspendiert (suspended) zu erweitern Prof. Dr. Christian Baun - 4. Foliensatz Betriebssysteme und Rechnernetze - FRA-UAS - SS2019 17/517-Zustands-Prozessmodell
Wurde ein Prozess suspendiert, ist es besser, den frei gewordenen Platz im Hauptspeicher zu verwenden, um einen ausgelagerten Prozess zuaktivieren, als ihn einem neuen Prozess zuzuweisenDas ist nur dann sinnvoll, wenn der aktivierte Prozess nicht mehr
blockiert istIm6-Zustands-Prozessmodell
ausgelagerten Prozesse zu unterscheiden in:blockierte ausgelagerteProzessenicht-blockierte
ausgelagerte Prozesse Prof. Dr. Christian Baun - 4. Foliensatz Betriebssysteme und Rechnernetze - FRA-UAS - SS2019 18/51Prozessmodell von Linux/UNIX (etwas vereinfacht)
der Elternprozess den Rückgabewert (via Systemaufrufwait) abgefragt hatProf. Dr. Christian Baun - 4. Foliensatz Betriebssysteme und Rechnernetze - FRA-UAS - SS2019 19/51
einen neuen Prozess zu erzeugenRuft ein Prozessfork()auf, wird eine identische Kopie als neuerProzess gestartetDer aufrufende Prozess heißtVaterprozessoderElternprozessDer neue Prozess heißtKindprozessDer Kindprozess hat nach der Erzeugung den gleichen Programmcode
Mitvforkexistiert eine Variante vonfork, die nicht den Adressraum des Elternprozesses kopiert, und somit weniger
Verwaltungsaufwand alsforkverursacht. Die Verwendung vonvforkist sinnvoll, wenn der Kindprozess direkt nach seiner
Erzeugung durch einem anderen Prozess ersetzt werden soll. Für diese Vorlesung istvforknicht relevant.Prof. Dr. Christian Baun - 4. Foliensatz Betriebssysteme und Rechnernetze - FRA-UAS - SS2019 20/51
Prozesse unter Linux/UNIX erzeugen mitfork(2/2)Ruft ein Prozessfork()auf, wird eine exakte Kopie erzeugtDie Prozesse unterscheiden sich nur in den Rückgabewerten vonfork()1#include< stdio.h>2#include< unistd.h>3#include< stdlib.h>4
5voidm ain(){ 6intr ueckgabewert= f ork();7
8if( rueckgabewert< 0 ){ 9//H atf ork()d enR ückgabewert- 1,i ste inF ehlera ufgetreten.10//S peichero derP rozesstabelles indv oll.11...12}13if( rueckgabewert> 0 ){ 14//H atf ork()e inenp ositivenR ückgabewert, s indw iri mE lternprozess.15//D erR ückgabewerti std ieP IDd esn eue rzeugtenK indprozesses.16...17}18if( rueckgabewert= =0 ){ 19//H atf ork()d enR ückgabewert0 ,s indw iri mK indprozess.20...21}22}Prof. Dr. Christian Baun - 4. Foliensatz Betriebssysteme und Rechnernetze - FRA-UAS - SS2019 21/51
Prozessbaum
Durch das Erzeugen immer neuer Kindprozesse mitfork()entsteht einbeliebig tiefer Baum von Prozessen (=?Prozesshierarchie)Das Kommandopstreegibt die laufenden Prozesse unter Linux/UNIX
als Baum entsprechend ihrer Vater-/Sohn-Beziehungen aus$ pstree init -+-Xprt |-acpid |-gnome -terminal -+-4*[bash] | |-bash---su---bash | |-bash -+-gv---gs | | |-pstree | | |-xterm ---bash---xterm ---bash | | |-xterm ---bash---xterm ---bash---xterm ---bash | |?-xterm ---bash| |-gnome -pty-helpe |?-{gnome -terminal}|-4*[gv---gs] Prof. Dr. Christian Baun - 4. Foliensatz Betriebssysteme und Rechnernetze - FRA-UAS - SS2019 22/51Informationen über Prozesse unter Linux/UNIX
p s - aFUID PID PPID C SZ RSS PSR STIME TTY TIME CMD
root 1 0 0 517 700 0 Nov10 ? 00:00:00 init user 4311 1 0 9012 20832 0 Nov10 ? 00:00:05 xfce4 -terminal user 4321 4311 0 951 1984 0 Nov10 pts/0 00:00:00 bash root 4380 4347 0 753 1128 0 Nov10 pts/3 00:00:00 su root 4381 4380 0 920 1972 0 Nov10 pts/3 00:00:00 bash user 20920 1 0 1127 2548 0 09:45 pts/1 00:00:00 gv SYS_WS0708. ps user 20923 20920 0 4587 9116 0 09:45 pts/1 00:00:10 gs -sDEVICE=x11 user 21478 4321 0 1570 2996 0 10:28 pts/0 00:00:00 xterm user 21479 21478 0 950 1936 0 10:28 pts/4 00:00:00 bash user 21484 21479 0 1993 5036 0 10:28 pts/4 00:00:00 xterm user 21485 21484 0 949 1936 0 10:28 pts/5 00:00:00 bash user 21491 21479 0 1569 2872 0 10:29 pts/4 00:00:00 xterm user 21492 21491 0 949 1924 0 10:29 pts/6 00:00:00 bash user 21497 21479 0 1570 2880 0 10:29 pts/4 00:00:00 xterm user 21498 21497 0 949 1924 0 10:29 pts/7 00:00:00 bash user 21556 21485 0 672 976 0 10:31 pts/5 00:00:00 p s - AF RSS (Resident Set Size) = Belegter physischer Speicher (ohne Swap) in kBHeap und StackTIME = Rechenzeit auf der CPU
PSR = Dem Prozess zugewiese CPU
Prof. Dr. Christian Baun - 4. Foliensatz Betriebssysteme und Rechnernetze - FRA-UAS - SS2019 23/51voneinander arbeiten und unterschiedliche Speicherbereiche verwenden1#include< stdio.h>2#include< unistd.h>3#include< stdlib.h>4
5voidm ain(){ 6inti ;7if( fork())8//H iera rbeitetd erV aterprozess9for( i= 0 ;i < 5 000000;i ++)10printf("\n Vater: %i", i);11else12//H iera rbeitetd erK indprozess13for( i= 0 ;i < 5 000000;i ++)14printf("\n Kind : %i", i);15}Kind : 0
Kind : 1
Kind : 21019
Vater: 0
Vater: 50148
Kind : 21020
Kind : 129645
Vater: 50149
Vater: 855006
Kind : 129646
In der Ausgabe sind die Prozesswechsel zu sehen
Der Wert der Schleifenvariablenibeweist, dass Eltern- und Kindprozess Prof. Dr. Christian Baun - 4. Foliensatz Betriebssysteme und Rechnernetze - FRA-UAS - SS2019 24/51Die PID-Nummern von Eltern- und Kindprozess (1/2)
1#include< stdio.h>2#include< unistd.h>3#include< stdlib.h>4
5voidm ain(){ 6intp id_des_Kindes;7
8pid_des_Kindes = fork();9
10//E sk amz ue inemF ehler- ->P rogrammabbruch11if( pid_des_Kindes< 0 ){ 12perror("\n Es kam bei fork() zu einem Fehler!");13exit(1);14}15
16//V aterprozess17if( pid_des_Kindes> 0 ){ 18printf("\n Vater: PID: %i", getpid());19printf("\n Vater: PPID: %i", getppid());20}21
22//K indprozess23if( pid_des_Kindes= =0 ){ 24printf("\n Kind: PID: %i", getpid());25printf("\n Kind: PPID: %i", getppid());26}27}Das Beispiel
erzeugt einenKindprozessKindprozess und
quotesdbs_dbs26.pdfusesText_32[PDF] Betriebsüberwachung - Anciens Et Réunions
[PDF] Betriebswirt/-in (VWA)
[PDF] Betriebswirt/in (VWA) Bachelor of Arts
[PDF] Betriebswirte
[PDF] Betriebszweigabrechnung im landwirtschaftlichen Betrieb
[PDF] Betrifft: Kündigung meines Vertrages
[PDF] Betrifft: Zusätzliche Qualifikation in „Business English“
[PDF] betroffene Orte
[PDF] Betroffenen-Sprechstunde für psychisch
[PDF] Betrogen mit Vision
[PDF] Betrug im Gesundheitswesen
[PDF] Betrug oder Wahrheit? Der Wunderheiler Bruno Gröning siegt!
[PDF] Betrüger betrügen Betrüger
[PDF] Betrugsszenarien