Was ist ein Prozess?
|
|
- Rosa Engel
- vor 7 Jahren
- Abrufe
Transkript
1 Prozesse unter UNIX
2 Definition Was ist ein Prozess? Zeitliche Abfolge von Aktionen Ein Programm, das ausgeführt wird Prozesshierachie Baumstruktur INIT-Prozess ist die Wurzel (pid=1) und wird beim Booten erzeugt. Alle anderen Prozesse sind Nachfolger von INIT
3 Prozesshierachie init + acpid cron dhclient3 events/0 events/1 firefox bin + 6*[evince {evince}] java_vm 12*[{java_vm}] 10*[{firefox bin}] gdm gdm + Xorg x session manag ssh agent 4*[getty] gnome terminal + 9*[bash] 5*[bash ssh] bash pstree login bash vim login bash
4 Prozesshierachie fork Kernprozess (Prozess 0) /etc/init (Prozess 1) /etc/getty (Prozess i) /bin/login (Prozess i) Bash (Prozess i) erzeugt von Kernel fork /etc/getty (Prozess j) /bin/login (Prozess j) Bash (Prozess j) fork /etc/getty (Prozess k) /bin/login (Prozess k) Bash (Prozess k)...
5 Systemaufruf fork() Erzeugt einen neuen Prozess Nach Aufruf von fork() existieren 2 identische Prozesse, welche aber unabhängig voneinander ablaufen! Syntax: pid_t fork(); Rückgabewerte Beim Vaterprozess: Die PID des Kindprozesses Beim Kindprozess: 0 Fehler: -1
6 Systemaufruf wait() Wird im Vaterprozess benutzt Wartet auf das Beenden des Kindprozesses Syntax: pid_t wait(int *status); Rückgabewerte Die PID des Kindprozesses, der beendet wurde Fehler: -1
7 Systemaufruf wait() Der Exit-Status kann des Kindprozesses kann durch Makros ermittelt werden Makro WIFEXITED(status) WIFSGNALED(status) Bedeutung Ist TRUE, wenn sich ein Kindprozess beendet hat. Will man den genauen EXIT- Wert, so kann man ihn mit dem Makro WEXITSTATUS(status) erfragen Ist TRUE, wenn der Kindprozess durch ein Signal terminiert wurde, das dieser nicht abgefragt hat. Das genaue Signal kann durch das Makro WTERMSIG(status) abgefragt werden. Makros in <sys/wait.h>
8 Systemaufruf waitpid() Mit wait() kann allerdings nur auf die Beendigung des nächsten Prozesses gewartet werden. Mit waitpid() kann hingegen auf die Beendigung eines bestimmten Prozesses gewartet werden. Syntax: pid_t waitpid(pid_t pid, int *status, int optionen); Über das 3. Argument, optionen, kann das Verhalten von waitpid() beeinflusst werden. Folgende Möglichkeiten: WNOHANG Der Aufrufende Prozess wird nicht blockiert, wenn der Prozess >>PID<< noch nicht beendet bzw. noch nicht im Zombie-Status ist. waitpid() liefert in diesem Fall 0 zurück WUNTRACED Status des angehaltenen Kindprozesses
9 Systemaufruf () Überladen des aktuellen Prozesses mit neuem Code Mehrere Varianten von () l, lp, le, v und vp Die einzelnen Funktionen unterscheiden sich anhand der Endungen, wobei jeder Buchstabe folgende Bedeutung hat: Buchstabe Bedeutung e l v p Es wird eine Environmentliste (Umgebungsvariablen) als Vektor erwartet. Es werden Kommandozeilenargumente in Form einer Liste erwartet Es werden die Kommandozeilenargumente in Form eines Vektors erwartet Es wird ein Dateiname und nicht ein Pfadname als Argument zum Aufruf des Programms erwartet
10 () Das zweite Argument wird in der Prozesstabelle als Prozessname ausgegeben. Würde man z.b. folgendes schreiben: l( /bin/ls, wer_bin_ich, l, wd, NULL); wird trotzdem das Arbeitsverzeichnis aufgelistet. Als Prozessname, mit ps -f, würde allerdings der Name wer_bin_ich aufgelistet werden.
11 () Beispiele I ve. Das Beispiel ruft printenv auf und verändert die Umgebungsvariablen von diesem Prozess #include <stdio.h> #include <unistd.h> int main (void) { char *args[] = {"printenv", NULL}; char *env[] = { "SHELL=/bin/bash", "LOGNAME=a_username", "OSTYPE=L1NuX", NULL } }; return ve("/usr/bin/printenv", args, env);
12 () Beispiele II l Es werden Kommandozeilenargumente in Form einer Liste erwartet. Es werden keine Environmentvariablen übergeben. Stattdessen wird das aktuelle Environment benutzt. Beispiel: #include <stdio.h> #include <unistd.h> int main (void) { char *argumente[4] = { "ls", " l", "/usr/bin", NULL }; return v ("/bin/ls", argumente); }
13 () Beispiele III le ähnlich zu ve() - Alle Argumente werden in Listenform mit NULL gefolgt von den Umgebungsvariablen in Vektorform übergeben Beispiel: #include <stdio.h> #include <unistd.h> int main (void) { char *environment[4]; environment[0] = "SHELL=/bin/csh"; environment[1] = "LOGNAME=Wolfi"; environment[2] = "OSTYPE=LiNuX"; environment[3] = NULL; } return le("/usr/bin/ls", "ls", " d", "/tmp", "/", NULL, environment);
14 () Beispiele IV lp ähnlich zu ve() - Erstes Argument muss nicht, wie bei le, ein absoluter Dateiname sein Beispiel: #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main (void) { return lp ("/bin/ls", "ls", " l", getenv("home"), NULL); }
15 () Beispiele V vp ähnlich zu lp() nur werden die Argumente als Vektor übergeben Beispiel: #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main (void) { char *argumente[4]; argumente[0] = "ls"; argumente[1] = " l"; argumente[2] = getenv("home"); argumente[3] = NULL; } return vp ("/bin/ls", argumente);
16 () Beispiele V vp ähnlich zu lp() nur werden die Argumente als Vektor übergeben Beispiel: #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main (void) { char *argumente[4]; argumente[0] = "ls"; argumente[1] = " l"; argumente[2] = getenv("home"); argumente[3] = NULL; } return vp ("/bin/ls", argumente);
17 Und alles gemeinsam... init fork() () Anwendung exit() wait()
Linux Prinzipien und Programmierung
Linux Prinzipien und Programmierung Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2010/2011 1 / 18 2 / 18 fork und Daten Nach dem fork teilen sich Eltern- und Kindprozess zwar den Programmbereich
MehrSystemnahe Programmierung in C Übungen Jürgen Kleinöder, Michael Stilkerich Universität Erlangen-Nürnberg Informatik 4, 2011 U7.fm
U7 POSIX-Prozesse U7 POSIX-Prozesse Prozesse POSIX-Prozess-Systemfunktionen Aufgabe 7 U7.1 U7-1 Prozesse: Überblick U7-1 Prozesse: Überblick Prozesse sind eine Ausführumgebung für Programme haben eine
MehrU7 POSIX-Prozesse U7 POSIX-Prozesse
U7 POSIX-Prozesse U7 POSIX-Prozesse Prozesse POSIX-Prozess-Systemfunktionen Aufgabe 6 U7.1 U7-1 Prozesse: Überblick U7-1 Prozesse: Überblick Prozesse sind eine Ausführumgebung für Programme haben eine
MehrÜbungen zu Systemnahe Programmierung in C (SPiC) Inhalt. Moritz Strübe, Rainer Müller (Lehrstuhl Informatik 4) Sommersemester 2014
Übungen zu Systemnahe Programmierung in C (SPiC) Moritz Strübe, Rainer Müller (Lehrstuhl Informatik 4) Sommersemester 2014 Inhalt Prozesse System-Schnittstelle Aufgabe 7 Einlesen von der Standard-Eingabe
MehrTafelübung zu BS 1. Prozesse, Shell
Tafelübung zu BS 1. Prozesse, Shell Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/ http://ess.cs.tu-dortmund.de/de/teaching/ss2012/bs/
MehrTafelübung zu BSRvS 1 1. Prozesse, at
Tafelübung zu BSRvS 1 1. Prozesse, at Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os http://ess.cs.tu-dortmund.de/de/teaching/ss2009/bsrvs1/
MehrBeispiel Block 2. Oliver Höftberger SS Parallele Prozesse: fork, exec und wait Interprozesskommunikation mit Unnamed Pipes
Beispiel Block 2 Parallele Prozesse: fork, exec und wait Interprozesskommunikation mit Unnamed Pipes Oliver Höftberger SS 2013 Slides by Benedikt Huber 1 fork, exec, exit und wait Prozess erzeugen Programmabbild
MehrTafelübung zu BS 1. Prozesse, Shell
Tafelübung zu BS 1. Prozesse, Shell Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/ http://ess.cs.tu-dortmund.de/de/teaching/ss2012/bs/
MehrEine Mini-Shell als Literate Program
Eine Mini-Shell als Literate Program Hans-Georg Eßer 16.10.2013 Inhaltsverzeichnis 1 Eine Mini-Shell 1 1.1 Einen Befehl parsen......................... 2 1.2 Was tun mit dem Kommando?...................
MehrBetriebssysteme: UNIX-Operationen zur Prozesskontrolle
Betriebssysteme: UNIX-Operationen zur Prozesskontrolle Betriebssysteme: UNIX-Operationen zur Prozesskontrolle WS 2016/17 8. November 2016 1/1 Prozesse und Programme Programm Verschiedene Repräsentationen
MehrPROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN
PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN 2. UNIX/Linux-Prozessverwaltung und zugehörige Systemaufrufe Wintersemester 2016/17 2. Die UNIX/LINUX-Prozessverwaltung Aufgaben: 1. Erzeugen neuer Prozesse
MehrG 5. Übung. G-1 Überblick. Besprechung 3. Aufgabe. Infos zur Aufgabe 5: fork, exec. Rechenzeiterfassung. Ü SoS I G.1
G 5. Übung G 5. Übung G-1 Überblick Besprechung 3. Aufgabe Infos zur Aufgabe 5: fork, exec Rechenzeiterfassung G.1 G-2 Hinweise zur 5. Aufgabe G-2 Hinweise zur 5. Aufgabe Prozesse fork, exec exit wait
MehrBeispiel Block 2. Oliver Höftberger WS Parallele Prozesse: fork, exec und wait Interprozesskommunikation mit Unnamed Pipes
Beispiel Block 2 Parallele Prozesse: fork, exec und wait Interprozesskommunikation mit Unnamed Pipes Oliver Höftberger WS 2015 Based on slides by Benedikt Huber 1 fork, exec, exit und wait Prozess erzeugen
MehrTafelübung zu BS 1. Prozesse, ToothBrush
Tafelübung zu BS 1. Prozesse, ToothBrush Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/
MehrTafelübung zu BS 1. Prozesse, ToothBrush
Tafelübung zu BS 1. Prozesse, ToothBrush Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/
Mehr1 wsort - Datenstrukturen (1. Möglichkeit)
U4 4. Übung U4 4. Übung Besprechung Aufgabe 2 dynamische Speicherallokation vs. Stackallokation Fehlerbehandlung Speicheraufbau eines Prozesses Prozesse: fork, exec, wait Aufgabe 4 U4.1 U4-1 Aufgabe 2:
Mehr1 wsort - Datenstrukturen (1. Möglichkeit) 3 Speicherverwaltung. Besprechung Aufgabe 2. dynamische Speicherallokation vs.
U4 4. Übung U4 4. Übung U4-1 Aufgabe 2: Sortieren mittels qsort U4-1 Aufgabe 2: Sortieren mittels qsort Besprechung Aufgabe 2 dynamische Speicherallokation vs. Stackallokation Fehlerbehandlung Speicheraufbau
MehrBetriebssysteme. Einführung C. Olaf Spinczyk.
Betriebssysteme Einführung C http://ess.cs.tu-dortmund.de/de/teaching/ss2016/bs/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os AG Eingebettete Systemsoftware Informatik 12,
MehrU6 POSIX-Prozesse. U6-1 Prozesse: Überblick. U6-1 UNIX-Prozesshierarchie. U6-2 POSIX Prozess-Systemfunktionen. Prozesse
U6 POSIX-Prozesse U6 POSIX-Prozesse U6-1 Prozesse: Überblick U6-1 Prozesse: Überblick Prozesse Prozesse sind eine Ausführumgebung für Programme POSIX-Prozess-Systemfunktionen POSIX-Signale haben eine Prozess-ID
MehrTafelübung zu BS 1. Prozesse verwalten
Tafelübung zu BS 1. Prozesse verwalten Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/ http://ess.cs.tu-dortmund.de/de/teaching/ss2013/bs/
MehrBetriebssysteme. A1- Prozesse. Olaf Spinczyk.
Betriebssysteme A1- Prozesse https://ess.cs.tu-dortmund.de/de/teaching/ss2017/bs/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os AG Eingebettete Systemsoftware Informatik 12,
MehrBeispiel Block 2 Stream I/O Parallele Prozesse: fork, exec und wait Interprozesskommunikation mit Unnamed Pipes
File Descriptors Beispiel Block 2 Stream I/O Parallele Prozesse: fork, exec und wait Interprozesskommunikation mit Unnamed Pipes Verweis auf Eintrag in Tabelle offener Dateien (file descriptor table) Standard
MehrTafelübung zu BS 1. Prozesse verwalten
Tafelübung zu BS 1. Prozesse verwalten Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/ http://ess.cs.tu-dortmund.de/de/teaching/ss2015/bs/
MehrBetriebssysteme. A1- Prozesse. Olaf Spinczyk.
Betriebssysteme A1- Prozesse https://ess.cs.tu-dortmund.de/de/teaching/ss2018/bs/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os AG Eingebettete Systemsoftware Informatik 12,
Mehrfork () Hans-Georg Eßer, Hochschule München Betriebssysteme I, SS 2008 2. Prozesse (2/2) Folie 4
Sep 19 14:20:18 amd64 sshd[20494]: Accepted rsa for esser from ::ffff:87.234.201.207 port 61557 Sep 19 14:27:41 amd64 syslog-ng[7653]: SAS: dropped 0 Sep 20 01:00:01 amd64 /usr/sbin/cron[29278]: (root)
MehrBeispiel 2. Verwandte Prozesse: fork, exec, wait Interprozesskommunikation mit Unnamed Pipes. Denise Ratasich. 11. April Verwandte Prozesse IPC
e eigenschaften Beispiel 2 e: fork, exec, wait Interprozesskommunikation mit Unnamed Denise Ratasich basierend auf Slides von Daniel Prokesch Institut für Technische Informatik Technische Universität Wien
MehrTafelübung zu BS 1. Prozesse verwalten
Tafelübung zu BS 1. Prozesse verwalten Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/ http://ess.cs.tu-dortmund.de/de/teaching/ss2014/bs
Mehr4.4 Prozesse. H. Weber, HS RM SS 2010 Systemprogrammierung Kap. 4.4 Seite 1 von 22
H. Weber, HS RM SS 2010 Systemprogrammierung Kap. 4.4 Seite 1 von 22 getpid Prozeß-Id ermitteln getppid Parent-Prozeß-Id ermitteln fork Duplizieren eines Prozesses exec-familie Prozeß-Überlagerung durch
MehrProzesse. Netzwerk - Programmierung. Alexander Sczyrba Madis Rumming
Netzwerk - Programmierung Prozesse Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Madis Rumming mrumming@cebitec.uni-bielefeld.de Übersicht Prozesse fork() Parents und Children system() und exec()
MehrU4 4. Übung U4 4. Übung. Speicheraufbau Systemschnittstelle: fork(2), exec(3), exit(3), wait(2), waitpid(2)
U4 4. Übung U4 4. Übung Aufgabenbesprechung Aufgabe 2: wsort Heap- vs. Stackallokation Prozesse Speicheraufbau Systemschnittstelle: fork(2), exec(3), exit(3), wait(2), waitpid(2) Übersetzen von Projekten
MehrÜbersetzen von Projekten mit make(1) Aufgabe 3: clash (Einfache Shell im Eigenbau)
U4 4. Übung U4 4. Übung Aufgabenbesprechung Aufgabe 2: wsort Heap- vs. Stackallokation Prozesse Speicheraufbau Systemschnittstelle: fork(2), exec(3), exit(3), wait(2), waitpid(2) Übersetzen von Projekten
MehrKlausur Betriebssysteme I
Prof. Dr. Michael Jäger FB MNI Klausur Betriebssysteme I 18.3.2011 Bitte bearbeiten Sie die Aufgaben auf den Aufgabenblättern. Die Benutzung von Unterlagen oder Hilfsmitteln ist nicht erlaubt. Die Bearbeitungszeit
MehrBash-Skripting Linux-Kurs der Unix-AG
Bash-Skripting Linux-Kurs der Unix-AG Sebastian Weber 07.01.2013 Was ist ein Bash-Skript? Skript muss mit chmod +x ausführbar gemacht sein Aneinanderreihung von Befehlen normale Befehle nutzbar Sebastian
MehrBash-Skripting Linux-Kurs der Unix-AG
Bash-Skripting Linux-Kurs der Unix-AG Sebastian Weber 13.06.2012 Was ist ein Bash-Skript? Skript muss mit chmod +x ausführbar gemacht sein Aneinanderreihung von Befehlen normale Befehle nutzbar Sebastian
MehrPROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN
PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN 2. UNIX/Linux-Prozessverwaltung und zugehörige Systemaufrufe Wintersemester 2015/16 2. Die UNIX/LINUX-Prozessverwaltung Aufgaben: 1. Erzeugen neuer Prozesse
MehrÜbungsbesprechung Blatt 3 Vorlesung Betriebssysteme I (WS 2018/19) Operating Systems And Middleware Group
Übungsbesprechung Blatt 3 Vorlesung Betriebssysteme I (WS 2018/19) Operating Systems And Middleware Group 0. Zur Aufgabe 4 Was macht eine Shell? date wc Chart 2 Prozesserzeugung Chart 3 1. Prozesserzeugung
MehrThreads. Foliensatz 8: Threads Folie 1. Hans-Georg Eßer, TH Nürnberg Systemprogrammierung, Sommersemester 2015
Sep 19 14:20:18 amd64 sshd[20494]: Accepted rsa for esser from ::ffff:87.234.201.207 port 61557 Sep 19 14:27:41 amd64 syslog-ng[7653]: STATS: dropped 0 Sep 20 01:00:01 amd64 /usr/sbin/cron[29278]: (root)
MehrÜbungen zu Systemprogrammierung 2 (SP2)
Übungen zu Systemprogrammierung 2 (SP2) Ü 3 UNIX-Signale Christoph Erhardt, Jens Schedel, Jürgen Kleinöder Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität
MehrÜbungen zu Systemprogrammierung 2 (SP2)
Übungen zu Systemprogrammierung 2 (SP2) Ü3 UNIX-Signale Christian Eichler, Andreas Ziegler, Jürgen Kleinöder Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität
MehrNetzwerk-Programmierung. Prozesse. Alexander Sczyrba Michael Beckstette.
Netzwerk-Programmierung Prozesse Alexander Sczyrba Michael Beckstette {asczyrba,mbeckste@techfak.uni-bielefeld.de 1 Übersicht Prozesse fork() Parents und Childs system() und exec() 2 Prozesse moderne Betriebssysteme
MehrPThreads. Pthreads. Jeder Hersteller hatte eine eigene Implementierung von Threads oder light weight processes
PThreads Prozesse und Threads Ein Unix-Prozess hat IDs (process,user,group) Umgebungsvariablen Verzeichnis Programmcode Register, Stack, Heap Dateideskriptoren, Signale message queues, pipes, shared memory
MehrÜbung 2 - Betriebssysteme I
Prof. Dr. Th. Letschert FB MNI 22. März 2002 Aufgabe 1 Übung 2 - Betriebssysteme I 1. Informieren Sie sich mit Hilfe der Manualseiten, der Online Unterlagen von Dr. Jäger oder anderer Unterlagen über Unix
MehrLösung zur Praktikumsaufgabe 1
Lösung zur Praktikumsaufgabe 1 Thema: Semaphore 1. Das Programm in Listing 1 zeigt eine beispielhafte Implementierung. Listing 1: Lösung der Aufgabe 1 (5children-unsync.c) #include #include
MehrKlausur Betriebssysteme I
Prof. Dr. Michael Jäger FB MNI Klausur Betriebssysteme I 14.3.2008 Bitte bearbeiten Sie die Aufgaben auf den Aufgabenblättern. Die Benutzung von Unterlagen oder Hilfsmitteln ist nicht erlaubt. Die Bearbeitungszeit
MehrÜbungen zu Systemprogrammierung 2 (SP2)
Übungen zu Systemprogrammierung 2 (SP2) Ü3 UNIX-Signale Christian Eichler, Andreas Ziegler, Jürgen Kleinöder Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität
Mehr2Binden 3. und Bibliotheken
3 Vom C-Programm zum laufenden Prozess 3.1 Übersetzen - Objektmodule 1Übersetzen 3. - Objektmodule (2) Teil III 3Vom C-Programm zum laufenden Prozess 2. Schritt: Compilieren übersetzt C-Code in Assembler
MehrDie Zustellung von Signalen 100
Die Zustellung von Signalen 100 Die vorangegangenen Beispiele werfen die Frage auf, wie UNIX bei der Zustellung von Signalen vorgeht, wenn der Prozess zur Zeit nicht aktiv ist, gerade ein Systemaufruf
MehrDas Signalkonzept (T) Signale und Signalbehandlung (P)
Systempraktikum im Wintersemester 2009/2010 (LMU): Vorlesung vom 10.12. Foliensatz 6 Das Signalkonzept (T) (P) Thomas Schaaf, Nils gentschen Felde Lehr- und Forschungseinheit für Kommunikationssysteme
MehrÜbung 1 - Betriebssysteme I
Prof. Dr. Th. Letschert FB MNI 13. März 2002 Aufgabe 0: Basiswissen Rechnerarchitektur: Übung 1 - Betriebssysteme I Aus welchen Komponenten besteht ein Rechner mit Von-Neumann Architektur? Was sind Bits
MehrAufgabenblatt 5 Musterlösung
Prof. Dr. rer. nat. Roland Wismüller Aufgabenblatt 5 Musterlösung Vorlesung Betriebssysteme I Wintersemester 2017/18 Aufgabe 1: Implementierung von Threads (Bearbeitung zu Hause) Der größte Vorteil ist
MehrLösung Übungszettel 6
Lösungen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik SS 03 AG Betriebssysteme FB3 Kirsten Berkenkötter Lösung Übungszettel 6 1 Aufgabe 1: Parallel-Server 1.1 Client #include
MehrGrundsätzliche Fragestellung. Grundsätzliche Fragestellung. Weitere Fallstricke. Bibliotheksfunktionen. ? Welche Art von Nebenläufigkeit liegt vor?
Übungen zu Systemprogrammierung (SP) Ü3 UNIX-Signale Christoph Erhardt, Jens Schedel, Jürgen Kleinöder Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg
MehrFallbeispiel Unix. Betriebssysteme. Hermann Härtig TU Dresden
Fallbeispiel Unix Betriebssysteme Hermann Härtig TU Dresden Wegweiser Geschichte und Struktur von Unix Vom Programm zum Prozess Unix-Grundkonzepte Dateien Prozesse Prozess-Kommunikation Signale Pipes Sockets
MehrSubprozesse in Python
Subprozesse in Python Felix Döring, Felix Wittwer 24. April 2017 Python-Kurs Gliederung 1. Grundlagen Eigenschaften 2. Konstanten File Descriptoren Exceptions 3. Popen Klasse Wichtige Argumente 4. Popen
MehrU23 - Shellcode. Twix Chaos Computer Club Cologne. Motivation Einstieg Der erste Shellcode Nullbytes, NOP Slides
Twix e.v. http://koeln.ccc.de 2016-11-28 Überblick 1 Motivation Was ist Shellcode? Beispiel 2 Einstieg Erzeugen, Testen von Shellcode 3 Der erste Shellcode Strings in Shellcode 4 Nullbytes, NOP Slides
Mehr2A Basistechniken: Lösungen 2A.1 Wissens- und Verständnisfragen
2A Basistechniken: Lösungen 2A.1 Wissens- und Verständnisfragen 1.a.) Application Programming Interface 1.b.) Multiprogramming 1.c.) Mehreren Prozessoren, die über einen Bus miteinander verbunden sind
MehrShell-Scripting Linux-Kurs der Unix-AG
Shell-Scripting Linux-Kurs der Unix-AG Benjamin Eberle 1. Februar 2016 Was ist ein Shell-Script? Aneinanderreihung von Befehlen, die ausgeführt werden Bedingte und wiederholende Ausführung möglich Nützlich
MehrShell-Scripting Linux-Kurs der Unix-AG
Shell-Scripting Linux-Kurs der Unix-AG Andreas Teuchert 8. Juli 2014 Was ist ein Shell-Script? Aneinanderreihung von Befehlen, die ausgeführt werden Bedingte und wiederholende Ausführung möglich Nützlich
MehrBash-Scripting Linux-Kurs der Unix-AG
Bash-Scripting Linux-Kurs der Unix-AG Zinching Dang 02. Juli 2013 Was ist ein Bash-Script? Aneinanderreihung von Befehlen, die ausgeführt werden Bedingte und wiederholende Ausführung möglich Nützlich bei
MehrMethoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom
Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon
MehrVariablen. Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes
Variablen Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes v ist Stück im Speicher, der 4 Bytes lang ist Speicherzugriff? Über Adressen!
MehrBetriebssysteme (BS) Prozesse. Olaf Spinczyk.
Betriebssysteme (BS) Prozesse http://ess.cs.tu-dortmund.de/de/teaching/ss2018/bs/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os AG Eingebettete Systemsoftware Informatik 12,
Mehrd) Welche Aussage zum Thema Adressräume ist richtig?
Aufgabe 1.1: Einfachauswahl-Fragen (18 Punkte) Bei den Multiple-Choice-Fragen in dieser Aufgabe ist jeweils nur eine richtige Antwort eindeutig anzukreuzen. Auf die richtige Antwort gibt es die angegebene
MehrProbeklausur zu Systemnahe Software II SS 2012 Dr. Andreas Borchert mit Markus Schnalke
Probeklausur zu Systemnahe Software II SS 2012 Dr. Andreas Borchert mit Markus Schnalke 1 Aufgabe 1 (15 Punkte) Prozesse, Signale und Interprozesskommunikation (a) 3 Punkte Was wird von dem folgenden Programm
MehrBeispiel Block 2 Stream I/O Parallele Prozesse: fork, exec und wait Interprozesskommunika>on mit Unnamed Pipes. Benedikt Huber WS 2011/2012
Beispiel Block 2 Stream I/O Parallele Prozesse: fork, exec und wait Interprozesskommunika>on mit Unnamed Pipes Benedikt Huber WS 2011/2012 1 Stream I/O Portable Ein/Ausgabe API (gepuffert) 2 Aufbau des
MehrBetriebssysteme (BS) Inhalt. Prozesse. Olaf Spinczyk.
Betriebssysteme (BS) Prozesse http://ess.cs.tu-dortmund.de/de/teaching/ss2017/bs/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os AG Eingebettete Systemsoftware Informatik 12,
MehrBetriebssysteme (BS)
Betriebssysteme (BS) Prozesse Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund Olaf.Spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/ http://ess.cs.tu-dortmund.de/de/teaching/ss2011/bs/
MehrSystemprogrammierung
Systemprogrammierung 3Vom C-Programm zum laufenden Prozess 6. November 2008 Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2008 SS 2006 SOS 1 (03-Pro.fm 2008-11-06 08.52) 3 Vom C-Programm
MehrFallbeispiel Unix. Betriebssysteme. Hermann Härtig TU Dresden
Fallbeispiel Unix Betriebssysteme Hermann Härtig TU Dresden Wegweiser Geschichte und Struktur von Unix Vom Programm zum Prozess Unix-Grundkonzepte Dateien Prozesse Prozess-Kommunikation Signale Pipes Sockets
MehrInstitut für Informatik der Ludwig-Maximilians-Universität München Systempraktikum Wintersemester 2009/2010 Prof. Dr. Dieter Kranzlmüller Dr. Thomas S
Institut für Informatik der Ludwig-Maximilians-Universität München Systempraktikum Wintersemester 2009/2010 Prof. Dr. Dieter Kranzlmüller Dr. Thomas Schaaf, Dr. Nils gentschen Felde Blatt 3 Grundlagen
MehrProzesse, Logs und Systemverwaltung
Prozesse, Logs und Systemverwaltung Linux-Kurs der Unix-AG Zinching Dang 31. Januar 2018 Übersicht Wiederholung & Vertiefung: Benutzer & Gruppen Prozesse Log-Dateien Befehle & Optionen Zusammenfassung
Mehr7. Foliensatz Betriebssysteme
Prof. Dr. Christian Baun 7. Foliensatz Betriebssysteme Frankfurt University of Applied Sciences SS2016 1/51 7. Foliensatz Betriebssysteme Prof. Dr. Christian Baun Frankfurt University of Applied Sciences
MehrGute Software erkennt Fehler, führt eine angebrachte Behandlung durch und gibt eine aussagekräftige Fehlermeldung aus
U7 POSIX-Prozesse und Signale U7 POSIX-Prozesse und Signale Besprechung Aufgaben 4 und 5 Fehlerbehandlung Prozesse POSIX-Prozess-Systemfunktionen POSIX-Signale Aufgabe 6 U7.1 U7-1 Fehlerbehandlung U7-1
MehrProgrammiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften
Programmiertechnik Teil 4 C++ Funktionen: Prototypen Overloading Parameter C++ Funktionen: Eigenschaften Funktionen (Unterprogramme, Prozeduren) fassen Folgen von Anweisungen zusammen, die immer wieder
MehrBetriebssysteme (BS)
Betriebssysteme (BS) Prozesse Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund Olaf.Spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/ http://ess.cs.tu-dortmund.de/de/teaching/ss2011/bs/
MehrGrundlagen der Programmierung
Übung 1: Unix Werkzeuge Robert Sombrutzki sombrutz@informatik.hu-berlin.de Unix Werkzeuge Warum? Diese Frage sollten Sie sich immer mal wieder stellen! Denkbare Antworten Weil Sie diese Werkzeuge immer
Mehr4. Foliensatz Betriebssysteme und Rechnernetze
Prof. Dr. Christian Baun 4. Foliensatz Betriebssysteme und Rechnernetze FRA-UAS SS2017 1/51 4. Foliensatz Betriebssysteme und Rechnernetze Prof. Dr. Christian Baun Frankfurt University of Applied Sciences
MehrKlausur Systemprogrammierung I Februar Klausur Systemprogrammierung I Februar 2001
Aufgabe 1: (20 Punkte) Bei den Multiple-Choice-Fragen ist jeweils nur eine richtige Antwort anzukreuzen. Falsche Beantwortung führt bei der einzelnen Frage zu Null Punkten. Lesen Sie die Frage genau, bevor
MehrKlausurdeckblatt. Name: Studiengang: Matrikelnummer:
Klausurdeckblatt Name der Prüfung: Systemnahe Software II Datum und Uhrzeit: 21. Juli 2016, 10-12 Uhr Prüfer: Dr. Andreas F. Borchert Bearbeitungszeit: 120 Min. Institut: Numerische Mathematik Vom Prüfungsteilnehmer
MehrFH Frankfurt am Main WS 2007/2008. Unix-Praktikum
FH Frankfurt am Main WS 2007/2008 Fachbereich 2 UNIX-Praktikum Studiengang Informatik Dr. Joachim Schneider Übungsblatt 5 Unix-Praktikum Lernziele: Betriebssystemkomponenten, Funktion und Benutzung von
MehrBetriebssysteme. Dipl.-Ing.(FH) Volker Schepper
1. Der Prozess beginnt im Zustand Erzeugt, nachdem sein Vaterprozess den Systemaufruf fork() (s.u.) abgesetzt hat. In diesem Zustand wird der Prozess-Kontext initialisiert. 2. Ist diese Aufbauphase abgeschlossen,
MehrInhalt. Übungen zu Systemnahe Programmierung in C (SPiC) Prozesshierarchie. Prozesse. UNIX-Prozesshierarchie
Übungen zu Systemnahe Programmierung in C (SPiC) Sebastian Maier (Lehrstuhl Informatik 4) Übung 9 Sommersemester 2017 Inhalt Prozesse System-Schnittstelle Minimale Shell Einlesen von der Standard-Eingabe
MehrSoftwaresysteme I Übungen Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2007 U9.fm
U9 9. Übung U9 9. Übung U9-1 Überblick Besprechung Aufgabe 6 (printdir) Posix-Threads U9.1 U9-2 Motivation von Threads U9-2 Motivation von Threads UNIX-Prozesskonzept: eine Ausführungsumgebung (virtueller
MehrPrüfung Betriebssysteme 1
Prüfung Betriebssysteme 1 Hinweise: Die Klausur umfasst 8 Aufgaben auf 5 Seiten. Die Arbeitszeit beträgt 90 Minuten. Bitte notieren Sie auf jedem abgegebenen Blatt Ihren Namen und Ihre Matrikelnummer!
MehrÜbung zu Grundlagen der Betriebssysteme. 6. Übung
Übung zu Grundlagen der Betriebssysteme 6. Übung 20.11.2012 Prozess & Programm Erläutern Sie den Begriff Prozess und unterscheiden Sie die Begriffe Prozess und Programm voneinander. Verwaltet ein in Ausführung
MehrAusgewählte Themen. In diesem Teil werden ausgewählte Themen vorgestellt: Fehlerbehandlung Dämonen Zombies. Inhalt. 1. Fehlerbehandlung...
Ausgewählte Themen In diesem Teil werden ausgewählte Themen vorgestellt: Fehlerbehandlung Dämonen Zombies Inhalt 1. Fehlerbehandlung... 2 2. Dämonen... 5 3. Zombies...16 Unix für Entwickler: AusgewaehlteThemen
MehrFH Ravensburg-Weingarten Schriftlich Prüfung Programmieren
FH Ravensburg-Weingarten Schriftlich Prüfung Programmieren Prof. Dr. M. Zeller Datum, Zeit Aufgabenblätter erreichbare Punktzahl zugelassene Hilfsmittel, 0800 1000 Uhr (120 min) 16 Seiten (einschl. Deckblatt)
MehrU9-1 Prozesse: Überblick. U9-1 UNIX-Prozesshierarchie. U9-2 POSIX Prozess-Systemfunktionen. Prozesse sind eine Ausführumgebung für Programme
U9 POSIX-Prozesse und Signale U9 POSIX-Prozesse und Signale U9-1 Prozesse: Überblick U9-1 Prozesse: Überblick Besprechung Aufgabe 6 Prozesse POSIX-Prozess-Systemfunktionen POSIX-Signale Prozesse sind eine
MehrUNIX/Linux Lösung. Mär 14, 17 20:40 Seite 1/6. Prozeßsynchronisation (was ist das?, wo kommt es vor?, Beispiel?):
Mär 14, 17 20:40 Seite 1/6 Aufgabe 1: Erklären Sie folgende Begriffe (25 Punkte): Prozeßsynchronisation (was ist das?, wo kommt es vor?, Beispiel?): Abstimmen von mehreren Prozessen, warten auf Ergebnisse,
Mehr