Beispiel Block 2. Oliver Höftberger SS Parallele Prozesse: fork, exec und wait Interprozesskommunikation mit Unnamed Pipes
|
|
- Dominic Linden
- vor 6 Jahren
- Abrufe
Transkript
1 Beispiel Block 2 Parallele Prozesse: fork, exec und wait Interprozesskommunikation mit Unnamed Pipes Oliver Höftberger SS 2013 Slides by Benedikt Huber 1
2 fork, exec, exit und wait Prozess erzeugen Programmabbild ersetzen Programm beenden Auf Ende eines Prozesses warten 2
3 Prozesseigenschaften Linux (1) Zustand Scheduling Identifikation Speicherverwaltung Signale Running, Stopped, Priorität, CPU-Zeit, PID, Owner, Gruppe, Pointer auf MMU Info Mask, Pending Prozessverwandschaften Parents, Siblings 4/9/2013 3
4 Prozesseigenschaften Linux (2) Process Control Block Register, PC, Statuswort, Segmentregister, Page Table Info Kernelstack Dateideskriptorentabelle Berechtigungen, Accounting Information Timerverwaltung Interprozesskommunikation Siehe: sched.h / struct task_struct 4/9/2013 4
5 Prozesshierarchie Jeder Prozess hat Vaterprozess Ausnahme: init Jeder Prozess hat eine eindeutige ID (pid_t) init acpid ahc_dv_0 ahc_dv_1 bash clock-applet crond cups-config-dae cupsd 2*[dbus-daemon-1] dbus-launch dhcpd gdm-binary gdm-binary X gdmgreeter gdm-binary... 2*[sendmail] sesam_server sesam_server sesam_server... smbd 5*[smbd] sshd sshd sshd bash pine sshd sshd bash pine.. 5
6 Erstellen von Prozessen Prozesse werden üblicherweise mit fork(2) erzeugt. Weitere Möglichkeit: clone(2) In der Übung ist ausschließlich fork(2) zu verwenden exec(3) überschreibt den aktuellen Prozess durch ein anderes Programm. wait(3) wartet auf die Terminierung eines Kindes 6
7 fork() / exec() / wait() fork() erzeugt neuen Prozess exec*( program ) ersetzt image eines Prozesses durch neues Programm exit(status) beendet Prozess wait*(&status) wartet auf Beendigung des Kindprozesses fork parent wait initialize child context fork child exit exec 7
8 fork() Erzeugt einen neuen Prozess Neuer Prozess ist eine identische Kopie des aufrufenden Prozesses (bis auf PID, Locks,...) Erzeugender Prozess ist Vater des erzeugten Prozesses Beide Prozesse laufen parallel und führen dasselbe Programm aus fork parent wait initialize child context fork child exit exec 8
9 fork() Vaterprozess npid = fork() PC Vor dem fork Nach dem fork Vaterprozess Kindprozess npid = fork() PC npid = fork() PC 9
10 fork() Unterscheidung zwischen Vater- und Kindprozess durch den Rückgabewert von fork(): -1 0 >0 im Fehlerfall im Kindprozess (child) im aufrufenden Prozess (parent) 10
11 fork() Kindprozess erbt von Elternprozess offene Dateien (gemeinsamer Zugriff!) Dateipuffer Signaldefinitionen momentane Variablenwerte Jedoch gilt: Variablen sind lokal (keine Beeinflussung) Signale können lokal umgesetzt werden Kommunikation (IPC) via Pipes, Sockets, Shared Memory,... 11
12 C-Interface #include <sys/types.h> #include <unistd.h> pid_t fork(void); 12
13 Verwendung von fork() pid_t pid;... switch (pid= fork()) { case -1: bail_out( can t fork ); break; case 0: /* child: ChildProcess() */... exit(exit_success); break; default: /* parent: ParentProcess() */... break; } 13
14 clone(2), vfork(2) clone() wird von fork(2), vfork(2) aufgerufen. clone() erlaubt Kontrolle über die zu duplizierenden Eigenschaften (Linux spezifisch, nicht portabel!) vfork(): blockiert bis exec(), das Kind darf keine Variablen mehr ändern, und nur noch exec() ausführen. Veraltet, nicht mehr empfohlen clone(), vfork() ist kein Teil des Stoffes! 14
15 exec() fork parent fork child Erlaubt es einem Prozess, ein anderes Programm auszuführen Startet ein neues Programm innerhalb eines Prozesses PID bleibt gleich initialize child context exec wait exit 15
16 Die exec() Familie (1) int execl(const char *path, const char *arg,...); int execlp(const char *file, const char *arg,...); int execle(const char *path, const char *arg,..., char * const envp[]); int execv(const char *path, char *const argv[]); int execvp(const char *file, char *const argv[]); int fexecve(int fd, char *const argv[], char *const envp[]); 16
17 Die exec() Familie (2) Ersetzt aktuelles Programm durch das in der Datei path enthaltene exec*p - Variante sucht (wie Shell) in $PATH nach Programm mit dem spezifierten Namen Argumentübergabe beachten! Argumentliste muss mit NULL Zeiger enden Varianten mit variable Argumentanzahl (execl*) und Argumentarray (execv*) Variante execle: Environment kann verändert werden Variante fexecve: akzeptiert Dateideskriptor 17
18 execv(), execvp() #include <unistd.h> int execv(char *path, char *argv[] ); int execvp(char *filename, char *argv[] ); char *cmd[] = { "ls", "-l", (char *) 0 }; (void) execv ("/bin/ls", cmd); (void) execvp ("ls", cmd); bail_out ( can t exec ); 18
19 execl(), execlp() #include <unistd.h> int execl(char *path, char *arg0,..., char *arg_n,(char*)0); int execlp(char *filename, char *arg0,..., char *arg_n, (char*)0); (void) execl ( /bin/ls, ls, -l, (char*) 0 ); (void) execlp ( ls, ls, -l, (char*) 0 ); bail_out ( can t exec ); 19
20 exit() fork parent fork child Beendet den aktuellen Prozess Rückgabewert kann von Vaterprozess abgefragt werden Beim Beenden: Leeren der stdio Buffer Schließen offener Dateien Löschen von temporären Dateien (tmpfile(3)) Aufrufen von Exit-Handlern (atexit(3)) wait initialize child context exit exec 20
21 exit() void exit(int status); Status: 8-bit (0-255) Im C-Standard definierte Rückgabewerte exit(exit_success) exit(exit_failure) keine Fehler Fehler aufgetreten Weitere Rückgabewerte BSD: sysexits.h 21
22 wait() fork parent fork child Wartet bis Kindprozess terminiert Liefert PID und Status des beendeten Prozesses Wenn kein Kindprozess existiert, - 1 als Rückgabewert (auch bei EINTR) initialize child context exec wait exit 22
23 wait() Liefert PID und Status des terminierten Kindprozesses pid = wait(&status) Status beinhaltet Rückgabewert und Signalinformation WIFEXITED(status), WEXITSTATUS(status) WIFSIGNALED(status), WTERMSIG(status) See man 2 wait Nach dem Aufruf von wait wird der Kindprozess aus der Prozesstabelle entfernt 23
24 exit(): Zombies UNIX: Auch bereits terminierte Prozesse besetzen einen Eintrag in der Prozesstabelle falls kein Platz mehr frei ist, kann kein neuer Prozess mehr gestartet werden Der Kindprozess terminiert und der Vaterprozess hat noch nicht wait ausgeführt Der Kindprozess wird auf Zustand Zombie gesetzt Eintrag in der Prozesstabelle bleibt erhalten bis der Vaterprozess wait ausführt 24
25 exit(): Zombies #include <stdio.h> #include <stdlib.h> int main(int argc, char **argv) { unsigned i = 0; while(++i) { pid_t pid = fork(); if(pid < 0) { bail_out( fork() ); } if(pid == 0) { exit(exit_success); } printf( We now have %d zombies \n",i); } } 25
26 exit(): Orphans UNIX: Auch bereits terminierte Prozesse besetzen einen Eintrag in der Prozesstabelle falls kein Platz mehr frei ist, kann kein neuer Prozess mehr gestartet werden Der Vaterprozess terminiert und der Kindprozess wurde noch nicht beendet Kind Prozess verwaist (orphan) und wird dem init Prozess vererbt Nach der Beendigung eines Orphans entfernt init den Prozesseintrag 26
27 C-Interface Stoppt Prozessausführung bis entweder Kindprozess terminiert oder ein Fehler auftritt ( busy waiting). #include <sys/wait.h> pid_t wait ( int * status ); int status; pid_t child_pid, pid;... while ((pid = wait(&status))!= child_pid ) { if (pid!= -1) continue; /* other child */ if (errno == EINTR) continue; /* interrupted */ bail_out( can t wait, 1 ); } if (WEXITSTATUS(status) == EXIT_SUCCESS )... 27
28 waitpid(): verwandter Call to wait() Warten auf das Terminieren eines Prozesses mit einer bestimmten Prozess ID: pid_t waitpid (pid_t pid, int *status, int options); waitpid(-1,&status,0) äquivalent zu wait waitpid(pid, &status, 0) wartet auf Kind mit PID pid waitpid(-1, &status, WNOHANG) blockiert nicht. 28
29 Wurde ein Kind beendet? Synchron waitpid(-1,&status, WNOHANG) Blockiert nicht, holt Exit-Status falls ein Kind beendet wurde (Polling) Asynchron Wenn ein Kind beendet wurde wird das Signal SIGCHLD an den Elternprozess gesendet. Installieren eines Signalhandlers (sigaction) für SIGCHLD Aufruf von wait im Signal Handler 29
30 Rückblende Teil 1 fork() - Kindprozess erzeugen exec() - neues Programm innerhalb eines Prozesses starten exit() den aktuellen Prozess beenden wait() - im Vaterprozess auf die Terminierung des Kindprozesses warten 30
31 Fallstricke int main( ) { fprintf(stdout, Hallo ); fork(); return 0; } Ausgabe: HalloHallo Warum? 31
32 Fallstricke Stream IO Hallo IO int main( ) { fprintf(stdout, Hallo ); fork(); return 0; } Stream IO Hallo IO OS fork Stream IO Hallo IO Ausgabe: HalloHallo Warum? OS 32
33 Fallstricke Stream IO <empty> Hallo IO int main( ) { OS fprintf(stdout, Hallo ); fork fflush(stdout); Stream IO Stream IO fork(); <empty> Hallo <empty> Hallo } return 0; IO IO Ausgabe: Hallo OS 33
34 Unnamed Pipes pipe() und dup() 34
35 Pipes Kommunikationskanal zwischen verwandten Prozessen Eigenschaften: Unidirektional (2 Pipes für Übertragung in beide Richtungen) Stream von Daten Implizite Synchronisation 35
36 Verwendung von Pipes (1) Pipe wird mittels eines Feldes von zwei Integer- Elementen deklariert int fildes[2]; Deskriptor fildes[0] ist Leseende Deskriptor fildes[1] ist Schreibende Nicht verwendete Enden müssen geschlossen werden Schreibender Prozess schließt das Leseende Lesender Prozess schließt das Schreibende 36
37 Verwendung von Pipes (1) Prozess write() p[1] ohne geschlossene Enden read() p[0] Kindprozess Vaterprozess write() p[1] p[1] write() read() p[0] p[0] read() 37
38 Verwendung von Pipes (1) geschlossene Enden Kindprozess Vaterprozess write() p[1] write() read() p[0] read() 38
39 Verwendung von Pipes (2) Öffnen einer Pipe mittels Systemaufruf pipe() fdopen() erstellt einen mit dem gegebenen Filedeskriptor assozierten Stream (FILE *) Verwendung von Funktionen, die auf Streams operieren z.b. fopen(), fclose() dup2() kann zum Umlenken von Dateien verwendet werden 39
40 C-Interface #include <limits.h> /* for PIPE_BUF */ #include <unistd.h> /* prototype */ int fildes[2]; if (pipe(fildes)!= 0) { bail_out( can t create pipe, 1 ); } 40
41 dup(2), dup2(2) dup() dupliziert einen File-Deskriptor. Der neue Deskriptor erhält die niedrigste nicht verwendete ID Duplizierter Deskriptor zeigt auf dieselbe open file description (file offset, file status flags) man 2 open dup2(old, new) Schließt Filedeskriptor mit ID new Dupliziert old, der neue Deskriptor erhält ID new 41
42 Umleiten der Standardein-/ausgabe Anwendung: Kommunikation mit Kommandozeilen-Utility, welches über Standardeingabe / Standardausgabe kommuniziert Strategie: Umleiten der Standardeingabe (0) oder Standardausgabe (1) in neuem Prozess Schließen des Filedeskriptors (z.b. fileno(stdin)) für Standard I/O Duplizieren eines offenen FDs (z.b. file_descr[0]) auf eben geschlossenen (fileno(stdin)) Schließen des duplizierten FDs (file_descr[0]) 42
43 C-Interface #include <fcntl.h> #include <sys/types.h> #include <unistd.h> int fd; fd = open( log.txt,o_wronly O_CREAT); dup2(fd, /* old descriptor */ fileno(stdout)); /* new descriptor */ close(fd); /* close old desc. */ (void) execlp( grep, grep, max, (char *) 0); 43
44 Synchronisation Lesen von leerer Pipe ist blockierend Schreiben auf volle Pipe ebenso Achtung: Blockiert wenn vergessen Pipe zu schließen Lesen von Pipe ohne offene Schreibenden liefert EOF Schreiben auf Pipe ohne offene Leseenden liefert SIGPIPE Signal 44
45 Pipes: Pitfalls Pipes eignen sich gut für unidirektionale Kommunikation Bidirektional: Zwei Pipes Fehleranfällige Synchronisation (deadlock) Synchronisation & Puffer fflush() verwenden Puffer konfigurieren (setbuf(3), setvbuf(3)) 45
46 Rückblende Kommunikation zwischen verwandten Prozessen mittels Pipes. Implizite Synchronisation Nicht verwendete Enden schließen Filestream für Filedeskriptor der Pipe mittels fdopen() Umlenken von Pipes mittels dup2() 46
Beispiel 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
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
MehrWas ist ein Prozess?
Prozesse unter UNIX 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
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
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
MehrFortgeschrittene I/O
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)
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/
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?...................
MehrLinux 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
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/
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
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
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
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/
MehrInterprozesskommunikation
Interprozesskommunikation Inhalt 1. Überblick... 2 2. Pipes... 5 3. Fifo...22 3.1. Übung IPC-2...39 Unix für Entwickler: Interprozesskommunikation Prof Dr. Alois Schütte 1/40 1. Überblick Hier werden die
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)
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,
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
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
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
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/
MehrBetriebssysteme. Kommunikation von Prozessen und Threads. Sommersemester Prof. Dr. Peter Mandl. Seite 1. Prof. Dr. Peter Mandl.
Kommunikation von Prozessen und Threads Sommersemester 2014 Seite 1 Gesamtüberblick 1. Einführung in 2. Betriebssystemarchitekturen und Betriebsarten 3. Interruptverarbeitung in n 4. Prozesse und Threads
MehrDämon-Prozesse ( deamon )
Prozesse unter UNIX - Prozessarten Interaktive Prozesse Shell-Prozesse arbeiten mit stdin ( Tastatur ) und stdout ( Bildschirm ) Dämon-Prozesse ( deamon ) arbeiten im Hintergrund ohne stdin und stdout
MehrAufbau einer Pipeline 124
Pipelines 123 thales$ ypcat passwd cut -d: -f5 cut -d -f1 > sort uniq -c sort -rn head 97 Michael 89 Florian 82 Tobias 81 Alexander 80 Andreas 75 Thomas 75 Matthias 74 Daniel 62 Christian 61 Sebastian
MehrKommunikation von Prozessen und Threads
Kommunikation von Prozessen und Threads Sommersemester 2015 Prof. Dr. Peter Mandl Prof. Dr. Peter Mandl Seite 1 Gesamtüberblick 1. Einführung in Computersysteme 2. Entwicklung von Betriebssystemen 3. Architekturansätze
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
MehrParallele Sitzungen 225
Parallele Sitzungen 225 Es gibt vier Ansätze, um parallele Sitzungen zu ermöglichen: Für jede neue Sitzung wird mit Hilfe von fork() ein neuer Prozess erzeugt, der sich um die Verbindung zu genau einem
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
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
Mehr3. Unix Prozesse. Betriebssysteme Harald Kosch Seite 57
3. Unix Prozesse Ein Prozeß ist die Umgebung eines laufenden Programms. Ein bißchen Analogie. Wer kocht gerne? Papa möchte mit Hilfe eines Rezeptes eine Torte für seine Tochter backen. Das Rezept ist das
MehrBetriebssysteme (BS) Prozesse. Olaf Spinczyk.
Betriebssysteme (BS) Prozesse http://ess.cs.tu-dortmund.de/de/teaching/ss2015/bs/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os AG Eingebettete Systemsoftware Informatik 12,
MehrMalware. Carlo U. Nicola 09. Dezember Die Struktur eines (harmlosen) aber echten Virus-Programmes analysieren;
FHNW: Labor Netzwerkssicherheit Malware Carlo U. Nicola 09. Dezember 2012 Ziel Die Ziele dieser Aufgabe sind: 1. Anhand der printf(...) C-Funktion erkennen, dass die (Un)-Sicherheit bereits implizit in
MehrBetriebssysteme, WS 2015/16, Hans-Georg Eßer
BS-D Betriebssysteme WS 215/16 Hans-Georg Eßer Foliensatz D: Interrupts System Calls v1.2, 215/8/2 Folie D-1 Übersicht A B C Folien D Einführung System Calls Shell Software-Verwaltung E Dateiverwaltung
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
MehrTafelübung zu BS 5. Dateioperationen
Tafelübung zu BS 5. Dateioperationen 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/
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/ss2013/bs/
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
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
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
MehrUNIX Mechanismen Übung aus Systemprogrammierung & Systemnahe Programmierung. Armin Wasicek SS 2010
UNIX Mechanismen Übung aus Systemprogrammierung & Systemnahe Programmierung Armin Wasicek SS 2010 Inhalt Kernel Struktur Prozessverwaltung Interprozesskommunikation Speicherverwaltung 2 UNIX Kernel Structure
MehrProgramme und Prozesse
Kapitel 2 Programme und Prozesse Ein Prozess ist ein laufendes Programm. Dies ist die allererste kurze Definition. In diesem Kapitel soll dies genauer betrachtet werden. Dies ist nicht POSIX standardisiert,
MehrBetriebssysteme (BS) Prozesse. Olaf Spinczyk.
Betriebssysteme (BS) Prozesse 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,
MehrVorlesung Betriebssysteme I
1 / 34 Vorlesung Betriebssysteme I Thema 5: Aktivitäten Robert Baumgartl 29. November 2016 2 / 34 Prozesse Def. Ein Prozess ist ein in Ausführung befindliches Programm. Lebenszyklus: Erzeugung Abarbeitung
MehrUNIX Mechanismen Übung aus Systemprogrammierung & Systemnahe Programmierung. Armin Wasicek SS 2011
UNIX Mechanismen Übung aus Systemprogrammierung & Systemnahe Programmierung Armin Wasicek SS 2011 Inhalt Kernel Struktur Prozessverwaltung Interprozesskommunikation Speicherverwaltung 2 UNIX Kernel Structure
MehrBetriebssysteme - 2. Test
Betriebssysteme - 2. Test Einführung in Unix Wie ist ein UNIX System aufgebaut? Hardware (CPU, Speicher, ) Software (OS: Kernel + Treiber, Benutzerprogramme) Mehrbenutzer und Mehrprozessbetriebssystem
MehrTafelübung zu BS 4. Dateioperationen
Tafelübung zu BS 4. Dateioperationen 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/
MehrLab 13: Multi Processor Systems II
Lab 13: Multi Processor Systems II 1. Können Sie sich erklären warum die Summe nicht 200% ergibt? Warum entspricht die Auslastung nicht 100% pro Prozessor? 100% ist die gesamte Auslastung vom System alle
MehrSystemnahe Software (Systemnahe Software II)
Systemnahe Software (Systemnahe Software II) F. Schweiggert, A. Borchert, M. Grabert und J. Mayer 22. Mai 2006 Fakultät Mathematik u. Wirtschaftswissenschaften Abteilung Angewandte Informationsverarbeitung
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()
MehrFILE *fp; char fname[100];... fp = fopen (fname, rb ); if( fp == NULL ) { perror( fopen );... } // Fehlernachricht auf letzten Fehler, der aufkam
Aktuelle Fileposition ermitteln long pos; pos=ftell(fp); //aktuelle Bytenummer Filelaenge in Bytes fseek(fp,0,seek_end); pos=ftell(fp); Fileendeerkennung int rc; rc = feof (fp) //!= 0 bei Fileende // ==
MehrKap. 2. Prozesse. Version vom 05.10.2009. Kap. 2 - Inhalt. Definition Prozeßzustände Threads Scheduling Beispiele. Folie 2
Kap. 2 Prozesse Version vom 05.10.2009 Kap. 2 - Inhalt Definition Prozeßzustände Threads Scheduling Beispiele Folie 2 Definition I - Woraus bestehen Prozesse? Prozeß ist ein Programm in seiner Ausführung,
MehrVorlesung Betriebssysteme I
1 / 38 Vorlesung Betriebssysteme I Thema 6: Kommunikation Robert Baumgartl 14. Dezember 2015 2 / 38 Einige Gedanken Kommunikation = Übertragung von Informationen zwischen Aktivitäten meist mit Synchronisation
MehrKommunikationsmuster (T) Interprozesskommunikation (T) Kommunikation über Pipes (P) Parserspezifikation und -generierung (P)
Systempraktikum im Wintersemester 2009/2010 (LMU): Vorlesung vom 19.11. Foliensatz 4 Kommunikationsmuster (T) Interprozesskommunikation (T) Kommunikation über Pipes (P) Parserspezifikation und -generierung
Mehrf) Welcher UNIX-Systemaufruf wird bei der Verwendung von Sockets auf keinen Fall gebraucht? (1 Punkt) close() bind() listen() open()
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
Mehr3. Interrupts. Betriebssysteme I Hochschule München Hans-Georg Eßer SS Foliensatz 3 Interrupts
19 19 22 22 22 22 22 14::18 14:27:41 1::1 1::1 12:46:44 12:46:44 12:48:41 12:54:44 15:27:35 15:27:35 16:37:11 16:37:11 16:38:1 1::1 1::1 17:43:26 17:43:26 17:53:39 18:43:26 19:43:26 1::1 1::1 :: 1::1 1::1
MehrBeispiel 3. Shared Memory und Explizite Synchronisation. Daniel Prokesch. 27. April 2015. Überblick. Shared Memory. Semaphore. Ressourcenverwaltung
3 e 3 und Explizite Synchronisation Daniel Prokesch Institut für Technische Informatik Technische Universität Wien 27. April 2015 1 2 3 e Bisher betrachtet... Implizite Synchronisation Blockierende Lese-
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
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
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)
MehrThreads. Netzwerk - Programmierung. Alexander Sczyrba Jan Krüger
Netzwerk - Programmierung Threads Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Jan Krüger jkrueger@cebitec.uni-bielefeld.de Übersicht Probleme mit fork Threads Perl threads API Shared Data Mutexes
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!
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
MehrProgrammiertechnik 1. Unit 12: Programmiersprache C - Betriebssystemschnittstellen. Andreas Polze 1
Programmiertechnik 1 Unit 12: Programmiersprache C - Betriebssystemschnittstellen Andreas Polze 1 Ablauf Zugriff auf Betriebssystemdienste Dateideskriptoren low-level I/O read and write open, creat, close,
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,
MehrEin- und Ausgabe mit Dateien
Ein- und Ausgabe mit Dateien Edouard Lamboray Informatik I für D-ITET (2004) Ein- und Ausgabekonzepte in C und C++ fstream header Streamobjekt Files schreiben und lesen Argumente von main Vorbemerkungen
Mehrbereit (oder Zombie genannt). Normales Ende (exit) und synchrone und asynchrone Signal-Ereignisse, z.b.
Prof. Dr. Michael Jäger FB MNI Lösungsvorschlag zur Klausur Betriebssysteme vom 1.10.2014 Blau gekennzeichnete Textstellen sind beispielhafte Lösungen bzw. Antworten zu den Aufgaben. Rot gekennzeichnete
MehrEinführung Sprachfeatures Hinweise, Tipps und Styleguide Informationen. Einführung in C. Patrick Schulz
Patrick Schulz patrick.schulz@paec-media.de 29.04.2013 1 Einführung Einführung 2 3 4 Quellen 1 Einführung Einführung 2 3 4 Quellen Hello World in Java Einführung 1 public class hello_ world 2 { 3 public
MehrBeispiel für einen IPC-Server, der seinen Dienst über den Global Name Service im Netzwerk bekannt gibt. Header-Dateien einbinden
Dokument: gns_ipc_server.c, 1 - Seite 1 - - 1: 1 von 1 - Beispiel für einen IPC-Server, der seinen Dienst über den Global Name Service im Netzwerk bekannt gibt. Header-Dateien einbinden int main(int argc,
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
MehrEin- und Ausgabe mit Dateien
Ein- und Ausgabe mit Dateien Edouard Lamboray Informatik I für D-ITET (2004) Ein- und Ausgabekonzepte in C und C++ fstream header Streamobjekt Files schreiben und lesen Argumente von main 2 Vorbemerkungen
MehrBetriebssysteme Kapitel E : Prozesse
Betriebssysteme Kapitel E : Prozesse 1 Inhalt Prozesse Zustand eines Prozesses» Kontext» Kontextswitch Prozessbeschreibungsblock PCB Zustandsübergänge» Zustandsdiagramm 2 Hinweis Ein Programm(code) kann
MehrSystemnahe Software WS 2006/2007
Systemnahe Software WS 2006/2007 Andreas F. Borchert Universität Ulm 5. Februar 2007 Konkurrierende Zugriffe Prinzipiell erlaubt Unix den konkurrierenden Zugriff mehrerer Prozesse auf die gleiche Datei.
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
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
MehrA Kompilieren des Kernels... 247. B Lineare Listen in Linux... 251. C Glossar... 257. Interessante WWW-Adressen... 277. Literaturverzeichnis...
1 Einführung................................................ 1 1.1 Was ist ein Betriebssystem?............................... 1 1.1.1 Betriebssystemkern................................ 2 1.1.2 Systemmodule....................................
MehrÜbung zu Grundlagen der Betriebssysteme. 5. Übung
Übung zu Grundlagen der Betriebssysteme 5. Übung 13.11.2012 Aufgabe 1 Erläutern Sie den Begriff Prozess und unterscheiden Sie die Begriffe Prozess und Programm voneinander. Ein Prozess ist ein aufgerufenes,
MehrPROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN
PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN 10. UNIX/Linux: Reaktion auf Fehler Wintersemester 2016/17 Reaktion auf Fehler: Übersicht Systemaufrufe: 1. Rückkehrwert: in den meisten (aber nicht in allen!)
MehrSystemprogrammierung.: unter Linux :.
Systemprogrammierung.: unter Linux :. Einführung in Linux 1. Das Filesystem 2. Prozesse 3. Unix Tools 4. Die Shell 1. Das Filesystem 1.1 Dateien 1.2 Ordner 1.3 Links 1.1 Dateien Alles im Filesystem sind
MehrShared-Memory Programmiermodelle
Shared-Memory Programmiermodelle mehrere, unabhängige Programmsegmente greifen direkt auf gemeinsame Variablen ( shared variables ) zu Prozeßmodell gemäß fork/join Prinzip, z.b. in Unix: fork: Erzeugung
MehrU9-3 Vergleich von Thread-Konzepten. U9-2 Motivation von Threads. U9-3 Vergleich von Thread-Konzepten (2) U9-1 Überblick
U9 9. Übung U9 9. Übung U9-1 Überblick Besprechung Aufgabe 6 (printdir) Posix-Threads U9.1 User-Level Threads: Federgewichtige Prozesse Realisierung von Threads auf Anwendungsebene innerhalb eines Prozesses
MehrInhalt. Übungen zu Systemnahe Programmierung in C (SPiC) Prozesse. U5-5 UNIX-Prozesshierarchie
Übungen zu Systemnahe Programmierung in C (SPiC) Sebastian Maier, Heiko Janker (Lehrstuhl Informatik 4) Übung 8 Wintersemester 2015/2016 Inhalt Prozesse System-Schnittstelle Minimale Shell Einlesen von
MehrLinux. Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm. FB Automatisierung und Informatik.
Linux Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de http://www.miwilhelm.de Raum 2.202 Tel. 03943 / 659 338 FB Automatisierung und Informatik:
MehrLinux. Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm. Hochschule Harz. FB Automatisierung und Informatik.
Linux Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de http://www.miwilhelm.de Raum 2.202 Tel. 03943 / 659 338 FB Automatisierung und Informatik:
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
MehrFallstudie: Semaphore und das MXP-Protokoll 196
Fallstudie: Semaphore und das MXP-Protokoll 196 Semaphore als Instrument zur Synchronisierung von Prozessen gehen auf den niederländischen Informatiker Edsger Dijkstra zurück, der diese Kontrollstruktur
MehrLinux Prinzipien und Programmierung
Linux Prinzipien und Programmierung Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2014 1 / 25 2 / 25 Pipes Die Bash kennt drei Standard-Dateideskriptoren: Standard In (stdin) Standard-Eingabe,
MehrRechnerarchitektur und Betriebssysteme (CS201): Frühe Betriebssysteme, geschützte CPU-Befehle, CPU-Modus
Rechnerarchitektur und Betriebssysteme (CS201): Frühe Betriebssysteme, geschützte CPU-Befehle, CPU-Modus 2. November 2012 Prof. Dr. Christian Tschudin Departement Mathematik und Informatik, Universität
MehrConcurrent programming Prinzipien und Einführung in Prozesse
LinuxFocus article number 272 http://linuxfocus.org Concurrent programming Prinzipien und Einführung in Prozesse by Leonardo Giordani About the author: Student an der Fakultät
MehrProzesse in Unix
Prozesse in Unix Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 7--5 Inhaltsverzeichnis Überblick. Start und Ende.................................. Die Funktionen atexit() und on_exit()..................
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
MehrBetriebssysteme Teil 11: Interprozess-Kommunikation
Betriebssysteme Teil 11: Interprozess-Kommunikation 19.12.15 1 Übersicht Grundbegriffe Shared Memory Pipelines Messages Ports Sockets 2 Grundbegriffe Interprocess-Kommunikation = Austausch von Daten über
MehrTeil I Debuggen mit gdb
Teil I Debuggen mit gdb Wer kennt das nicht? $./a.out Segmentation fault Was tun dagegen? printf()s in den Code einfügen? Besser (und professioneller): Einen Debugger verwenden Wer kennt das nicht? $./a.out
MehrProzesse and Threads WS 09/10 IAIK 1
Prozesse and Threads WS 09/10 IAIK 1 Prozesse Programm in Ausführung Mit einem Prozess verbunden: Adressraum Folge von Speicherstellen auf die der Prozess zugreifen kann Enthält ausführbares Programm,
MehrPOSIX-Threads. Aufgabe 9 SP - Ü U10.1
U10 10. Übung U10 10. Übung POSIX-Threads Aufgabe 9 U10.1 U10-1 Motivation von Threads U10-1 Motivation von Threads UNIX-Prozesskonzept: eine Ausführungsumgebung (virtueller Adressraum, Rechte, Priorität,...)
MehrBetriebssysteme. Betriebssysteme
Betriebssysteme Systemschnittstelle Systemaufrufe System Calls Shell Commands - Kontrollsprache Literatur: R. Brause Silberschatz et al. SS2001 Prof. H. D. Clausen - unisal 1 Shell: an OS interface Interaktiver
MehrProzesse. Vorlesung Betriebssysteme I. Zustandsmodell eines Prozesses. Virtuelle vs. reale CPU. Zustandsübergänge cont d
Prozesse Vorlesung Betriebssysteme I Thema 5: Aktivitäten Robert Baumgartl 29. November 2016 Def. Ein Prozess ist ein in Ausführung befindliches Programm. Lebenszyklus: Erzeugung Abarbeitung Beendigung
MehrModul B-PRG Grundlagen der Programmierung 1
Modul B-PRG Grundlagen der Programmierung 1 Teil 3: Betriebssysteme, Dateisysteme,Sicherheit V20: Prozesse Prof. Dr. R. Brause Adaptive Systemarchitektur Institut für Informatik Fachbereich Informatik
MehrTafelübung zu BS 4. Interprozesskommunikation
Tafelübung zu BS 4. Interprozesskommunikation 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. Aufgabenblatt Unix
Faculty of Computer Science Institute for System Architecture, Operating Systems Group Betriebssysteme und Sicherheit, WS 2012/13 1. Aufgabenblatt Unix Geplante Bearbeitungszeit: drei Wochen TEIL A GRUNDLEGENDE
Mehr1. Aufgabenblatt Unix
Faculty of Computer Science Institute for System Architecture, Operating Systems Group Betriebssysteme und Sicherheit, WS 2013/14 1. Aufgabenblatt Unix Geplante Bearbeitungszeit: drei Wochen TEIL A GRUNDLEGENDE
Mehr