4.4 Prozesse. H. Weber, HS RM SS 2010 Systemprogrammierung Kap. 4.4 Seite 1 von 22

Größe: px
Ab Seite anzeigen:

Download "4.4 Prozesse. H. Weber, HS RM SS 2010 Systemprogrammierung Kap. 4.4 Seite 1 von 22"

Transkript

1 H. Weber, HS RM SS 2010 Systemprogrammierung Kap. 4.4 Seite 1 von 22

2 getpid Prozeß-Id ermitteln getppid Parent-Prozeß-Id ermitteln fork Duplizieren eines Prozesses exec-familie Prozeß-Überlagerung durch Laden eines Programms wait Warten, bis ein Kind-Prozeß beendet ist exit Beendigung eines Prozesses system Ausführung eines UNIX-Kommandos H. Weber, HS RM SS 2010 Systemprogrammierung Kap. 4.4 Seite 2 von 22

3 Der fork Systemaufruf (POSIX, SVID, BSD) int fork(); H. Weber, HS RM SS 2010 Systemprogrammierung Kap. 4.4 Seite 3 von 22

4 Der getpid Systemaufruf (POSIX, SVID, BSD) int getpid(); Der getppid Systemaufruf (POSIX, SVID, BSD) int getppid(); H. Weber, HS RM SS 2010 Systemprogrammierung Kap. 4.4 Seite 4 von 22

5 Der execl Systemaufruf (POSIX, SVID, BSD) int execl(char *pathname, char *arg0,..., char *argn, NULL); Der execlp Systemaufruf (POSIX, SVID, BSD) int execlp(char *filename, char *arg0,..., char *argn, NULL); H. Weber, HS RM SS 2010 Systemprogrammierung Kap. 4.4 Seite 5 von 22

6 Der execle Systemaufruf (POSIX, SVID, BSD) int execle(char *pathname, char *arg0,..., char *argn, NULL, char *envp[]); Der execv Systemaufruf (POSIX, SVID, BSD) int execv(char *pathname, char *argv[]); H. Weber, HS RM SS 2010 Systemprogrammierung Kap. 4.4 Seite 6 von 22

7 Der execvp Systemaufruf (POSIX, SVID, BSD) int execvp(char *filename, char *argv[]); Der execve Systemaufruf (POSIX, SVID, BSD) int execve(char *pathname, char *argv[], char *envp[]); H. Weber, HS RM SS 2010 Systemprogrammierung Kap. 4.4 Seite 7 von 22

8 H. Weber, HS RM SS 2010 Systemprogrammierung Kap. 4.4 Seite 8 von 22

9 Der exit Systemaufruf (POSIX, SVID, BSD) void exit(int status);. Der _exit Systemaufruf (POSIX, SVID, BSD) void _exit(int status); H. Weber, HS RM SS 2010 Systemprogrammierung Kap. 4.4 Seite 9 von 22

10 Der wait Systemaufruf (POSIX. SVID, BSD) int wait(int *status); /* Beispiel fuer fork, exec und wait */ #include <stdio.h> #define INULL (int *) 0 main() { int pid; H. Weber, HS RM SS 2010 Systemprogrammierung Kap. 4.4 Seite 10 von 22

11 } printf("ausfuehrung von sort\n"); pid = fork(); /* Parent-Prozeß */ if (pid > 0) { wait(inull); /* wartet, bis Child fertig */ printf("sort fertig\n"); exit(0); } /* Child-Prozess */ if (pid == 0) { execlp("sort", "sort", NULL); /* Fehlerfall */ perror("fehler bei execlp"); exit(1); } H. Weber, HS RM SS 2010 Systemprogrammierung Kap. 4.4 Seite 11 von 22

12 Die system Subroutine (POSIX, SVID, BSD) int system(char *comstring) Der dup Systemaufruf (POSIX, SVID, BSD) int dup(int filedescriptor) H. Weber, HS RM SS 2010 Systemprogrammierung Kap. 4.4 Seite 12 von 22

13 Prozess-Attribute Die getenv Subroutine (POSIX, SVID, BSD) char *getenv(char *name); Mit getenv können wir durch Eingabe des Strings name den Wert auf der rechten Seite des Environment-Strings name=irgendwas als Resultat erhalten. Falls ein mit name beginnender String im Environment nicht existiert, so wird NULL zurückgegeben. H. Weber, HS RM SS 2010 Systemprogrammierung Kap. 4.4 Seite 13 von 22

14 Die putenv Subroutine (SVID, BSD) int putenv(char *string); Diese Subroutine ermöglicht das Ändern oder Hinzufügen von Strings im Environment. Im Erfolgsfall ist das Resultat 0, im Fehlerfall -1. Ein Beispiel für den Aufruf putenv("hilfe=/usr/weber/hilfe"); H. Weber, HS RM SS 2010 Systemprogrammierung Kap. 4.4 Seite 14 von 22

15 Der getuid Systemaufruf (POSIX, SVID, BSD) int getuid(); Der geteuid Systemaufruf (POSIX, SVID, BSD) int geteuid(); Der getgid Systemaufruf (POSIX, SVID, BSD) int getgid(); H. Weber, HS RM SS 2010 Systemprogrammierung Kap. 4.4 Seite 15 von 22

16 Der getegid Systemaufruf (POSIX, SVID, BSD) int getegid(); Das Resultat ist jeweils die gefragte Größe. Die Namen sprechen für sich selbst; das e im Namen zeigt jeweils an, daß es sich um die effektive Angabe handelt. H. Weber, HS RM SS 2010 Systemprogrammierung Kap. 4.4 Seite 16 von 22

17 Der setuid Systemaufruf (POSIX, SVID, BSD) int setuid(int uid); Zugehöriges Kommando: su Der setgid Systemaufruf (POSIX, SVID, BSD) int setgid(int gid); Zugehöriges Kommando: newgrp H. Weber, HS RM SS 2010 Systemprogrammierung Kap. 4.4 Seite 17 von 22

18 Der nice Systemaufruf (BSD) int nice(int increment); H. Weber, HS RM SS 2010 Systemprogrammierung Kap. 4.4 Seite 18 von 22

19 Speicherverwaltung brk Datensegmentgröße definieren sbrk Vergrößern/Verkleinern des Datensegments Die Adresse unmittelbar nach dem Ende des verfügbaren Datenbereichs heißt Break-Wert. Mit Hilfe von brk verändert ein Prozeß seinen Break-Wert und damit die Größe seines Datensegments. H. Weber, HS RM SS 2010 Systemprogrammierung Kap. 4.4 Seite 19 von 22

20 Der brk Systemaufruf (SVID, BSD) int brk(char *endds); Der Pointer endds zeigt auf das neu zu definierende Ende des Datensegments. *Etwas handlicher als brk ist sbrk: Der sbrk Systemaufruf (SVID, BSD) char *sbrk(int increment); H. Weber, HS RM SS 2010 Systemprogrammierung Kap. 4.4 Seite 20 von 22

21 Das Argument increment gibt die Anzahl der Bytes an, um die das Datensegment zu vergrößern oder zu verkleinern ist (increment < 0). Das Resultat von sbrk ist der alte Break-Wert im Erfolgsfall und (char *) -1 im Fehlerfall, wobei die Fehlerursache dieselbe wie bei brk ist. Was tut breakvalue = sbrk(0)? H. Weber, HS RM SS 2010 Systemprogrammierung Kap. 4.4 Seite 21 von 22

22 #include <stdio.h> int main() { char *p, *oldp; char *sbrk(); for (;;) { oldp = p; p = sbrk(1024); printf("%lx\n", p); if (p == (char *) -1) break; } printf("%lx\n", oldp); } H. Weber, HS RM SS 2010 Systemprogrammierung Kap. 4.4 Seite 22 von 22

Linux Prinzipien und Programmierung

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

Mehr

PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN

PROGRAMMIEREN 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

Mehr

Beispiel Block 2 Stream I/O Parallele Prozesse: fork, exec und wait Interprozesskommunikation mit Unnamed Pipes

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

Mehr

Systemprogrammierung

Systemprogrammierung 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

Mehr

2Binden 3. und Bibliotheken

2Binden 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

Mehr

U23 - Shellcode. Twix Chaos Computer Club Cologne. Motivation Einstieg Der erste Shellcode Nullbytes, NOP Slides

U23 - 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

Mehr

PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN

PROGRAMMIEREN 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

Eine Mini-Shell als Literate Program

Eine 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?...................

Mehr

Programme und Prozesse

Programme 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,

Mehr

Was ist ein Prozess?

Was 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

Mehr

4.2 Autorisierung eines Prozesses

4.2 Autorisierung eines Prozesses 4.2 Autorisierung eines Prozesses - auch Sicherheitsprofil, Autorisierungsprofil, Privilegierung - (authorization, privileges, credentials)! Autorisierung nicht mit Authentisierung verwechseln! gehört

Mehr

Prozesse in Unix

Prozesse 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()..................

Mehr

Betriebssysteme (BS)

Betriebssysteme (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/

Mehr

4 Zugriffsschutz. soll unerwünschte Zugriffe von Subjekten auf Objekte verhindern. (access protection, access control) Beispiele:

4 Zugriffsschutz. soll unerwünschte Zugriffe von Subjekten auf Objekte verhindern. (access protection, access control) Beispiele: 4 Zugriffsschutz (access protection, access control) soll unerwünschte Zugriffe von Subjekten auf Objekte verhindern Beispiele: Prozessor überschreibt Speicherzelle: CLEAR 0 Benutzer erweitert Paßwortdatei:

Mehr

Betriebssysteme (BS) Inhalt. Prozesse. Olaf Spinczyk.

Betriebssysteme (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,

Mehr

Probeklausur 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 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

Mehr

fork () Hans-Georg Eßer, Hochschule München Betriebssysteme I, SS 2008 2. Prozesse (2/2) Folie 4

fork () 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)

Mehr

Betriebssysteme (BS)

Betriebssysteme (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/

Mehr

Netzwerk-Programmierung. Prozesse. Alexander Sczyrba Michael Beckstette.

Netzwerk-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

Mehr

3. Grundlagen der Systemprogrammierung

3. Grundlagen der Systemprogrammierung 3.1 Betriebssysteme Zum täglichen Umgang des Systemprogrammierers gehört in erster Linie das Betriebssystem des Rechners, mit dem er arbeitet. Es ist daher selbstverständlich, daß er sich einen guten Einblick

Mehr

Prozesse. Netzwerk - Programmierung. Alexander Sczyrba Madis Rumming

Prozesse. 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()

Mehr

Fortgeschrittene I/O

Fortgeschrittene 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)

Mehr

Tafelübung zu BS 1. Prozesse verwalten

Tafelü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/

Mehr

Beispiel 2. Verwandte Prozesse: fork, exec, wait Interprozesskommunikation mit Unnamed Pipes. Denise Ratasich. 11. April Verwandte Prozesse IPC

Beispiel 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

Mehr

Systemprogrammierung.: unter Linux :.

Systemprogrammierung.: 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

Mehr

Threads. Foliensatz 8: Threads Folie 1. Hans-Georg Eßer, TH Nürnberg Systemprogrammierung, Sommersemester 2015

Threads. 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

Tafelübung zu BS 1. Prozesse verwalten

Tafelü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/

Mehr

Interprozesskommunikation

Interprozesskommunikation 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

Mehr

Arithmetik in der tcsh

Arithmetik in der tcsh Arithmetik in der tcsh Variablen speichern Zeichenketten (also Strings/Wörter) @ statt set Interpretation als arithmetische Ausdrücke (aus Ziffern, (, ), +, -, *, /, % bestehend) Beispiele: @ var = (3

Mehr

Betriebssysteme (BS)

Betriebssysteme (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/

Mehr

Betriebssysteme (BS) Prozesse. Olaf Spinczyk.

Betriebssysteme (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,

Mehr

Kap. 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 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,

Mehr

4.5 Prozess-Kommunikation/Synchronisation

4.5 Prozess-Kommunikation/Synchronisation ÜBERBLICK Lock-Files Pipes FIFOS File- und Record-Locking Message-Queues Semaphore Shared Memory Memory-Mapping Unix-Domain-Sockets Internet-Domain-Sockets TLIs RPCs H. Weber, HS RM SS 2010 Systemprogrammierung

Mehr

PThreads. Pthreads. Jeder Hersteller hatte eine eigene Implementierung von Threads oder light weight processes

PThreads. 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

1. Aufgabenblatt Unix

1. 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

Mehr

1. Aufgabenblatt Unix

1. Aufgabenblatt Unix Fakultät Informatik Institut für Systemarchitektur, Professur für Betriebssysteme Betriebssysteme und Sicherheit, WS 2016/17 1. Aufgabenblatt Unix Geplante Bearbeitungszeit: drei Wochen TEIL A GRUNDLEGENDE

Mehr

U9-3 Vergleich von Thread-Konzepten. U9-2 Motivation von Threads. U9-3 Vergleich von Thread-Konzepten (2) U9-1 Überblick

U9-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

Mehr

Systemnahe Software (Systemnahe Software II)

Systemnahe 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

Mehr

4.6 Signale. Übersicht. 1. Signale unter ANSI-C 2. Signale unter UNIX 3. Zuverlässige Signale

4.6 Signale. Übersicht. 1. Signale unter ANSI-C 2. Signale unter UNIX 3. Zuverlässige Signale 4.6 Signale Übersicht 1. Signale unter ANSI-C 2. Signale unter UNIX 3. Zuverlässige Signale H. Weber, HS RM SS 2010 Systemprogrammierung Kap. 4.6 Seite 1 von 62 4.6 Signale 1. Signale unter ANSI-C ANSI-C

Mehr

Hardwarenahe Programmierung. Eine Einführung

Hardwarenahe Programmierung. Eine Einführung Hardwarenahe Programmierung Eine Einführung Jürgen Plate, 22. September 2012 Inhaltsverzeichnis 1 E/A-Programmierung unter Linux 5 1.1 Prozesse und Signale....................................... 6 1.1.1

Mehr

Softwaresysteme I Übungen Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2007 U9.fm

Softwaresysteme 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

Mehr

critical sections und Semaphore

critical sections und Semaphore Kapitel 4 critical sections und Semaphore Programme, die sich Resourcen teilen, müssen Codeabschnitte allein (exklusiv) ausführen, diese codeteile nennt man critical section. Um dies zu erreichen werden

Mehr

PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN

PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN 3. UNIX/Linux-Dateisysteme und zugehörige Systemaufrufe und Kommandos (Teil I) Wintersemester 206/7 UNIX/Linux-Dateisystem(e) Systemaufrufe zur Dateiarbeit:

Mehr

3. Unix Prozesse. Betriebssysteme Harald Kosch Seite 57

3. 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

Mehr

4.1 Fehler / Logging. H. Weber, HS RM SS 2010 Systemprogrammierung Kap. 4.1 Seite 1 von 29

4.1 Fehler / Logging. H. Weber, HS RM SS 2010 Systemprogrammierung Kap. 4.1 Seite 1 von 29 Bei allen Systemaufrufen unter UNIX können Fehlersituationen auftreten. Diese werden durch den universellen Funktionswert -1 der aufgerufenen C-Funktion angezeigt, in manchen Fällen auch durch einen Null-Pointer

Mehr

PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN

PROGRAMMIEREN 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!)

Mehr

Vorlesung Betriebssysteme I

Vorlesung 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

Mehr

Hochschule Für Angewandte Wissenschaften FH München Sommersemester Thomas Kolarz. Folie 1.

Hochschule Für Angewandte Wissenschaften FH München Sommersemester Thomas Kolarz. Folie 1. Praktikum Btib Betriebssysteme t I Hochschule Für Angewandte Wissenschaften FH München Sommersemester 2010 thomas.kolarz@hm.edu Folie 1 Vorbereitung Booten Sie den Rechner unter Linux und melden Sie sich

Mehr

Malware. Carlo U. Nicola 09. Dezember Die Struktur eines (harmlosen) aber echten Virus-Programmes analysieren;

Malware. 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

Mehr

Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free()

Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free() Übungspaket 29 Dynamische Speicherverwaltung malloc() und free() Übungsziele Skript In diesem Übungspaket üben wir das dynamische Alloziieren 1. und Freigeben von Speicherbereichen 2. von Zeichenketten

Mehr

Programmiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften

Programmiertechnik. 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

Mehr

Shared-Memory Programmiermodelle

Shared-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

Mehr

C/C++-Programmierung

C/C++-Programmierung 1 C/C++-Programmierung Speicherverwaltung, 0, const Sebastian Hack Christoph Mallon (hack mallon)@cs.uni-sb.de Fachbereich Informatik Universität des Saarlandes Wintersemester 2009/2010 2 Speicherverwaltung

Mehr

Ausgewä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... 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

Mehr

Lösung Übungszettel 6

Lö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

Mehr

U8-1 Motivation von Threads. U8-2 Vergleich von Thread-Konzepten. U8-2 Vergleich von Thread-Konzepten (2) Motivation

U8-1 Motivation von Threads. U8-2 Vergleich von Thread-Konzepten. U8-2 Vergleich von Thread-Konzepten (2) Motivation U8 POSIX-Threads U8 POSIX-Threads U8-1 Motivation von Threads U8-1 Motivation von Threads Motivation Thread-Konzepte UNIX-Prozesskonzept: eine Ausführungsumgebung (virtueller Adressraum, Rechte, Priorität,...)

Mehr

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind

Mehr

FILE *fp; char fname[100];... fp = fopen (fname, rb ); if( fp == NULL ) { perror( fopen );... } // Fehlernachricht auf letzten Fehler, der aufkam

FILE *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 // ==

Mehr

Übung zu Grundlagen der Betriebssysteme. 5. Übung

Ü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,

Mehr

wie Speicher und die CPU haben. UNIX unterstützt die Illusion 1. Menge von Befehlen und Daten einschließlich der aktuellen

wie Speicher und die CPU haben. UNIX unterstützt die Illusion 1. Menge von Befehlen und Daten einschließlich der aktuellen UNIX Schnittstelle ================== 1. Prozesse =========== j p bell Seite 1 Alle Beispiel Quellen mittels SVN unter: https://svn.informatik.hu berlin.de/svn/unix/prozesse 1.Vorbemerkungen Was ist ein

Mehr

Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming

Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming Task Wiederholung 1 System SysCalls (1) Wozu? Sicherheit Stabilität Erfordert verschiedene modes of execution: user mode privileged mode

Mehr

Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012

Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 WS 2011/2012 Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 Prof. Dr. Robert Lorenz Musterlösung zur Vorlesung Informatik I, Extrablatt zu komplexen Datenstrukturen Aufgabe 45 **

Mehr

Betriebssysteme. Betriebssysteme

Betriebssysteme. 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

Mehr

Ganze Arrays von Semaphoren können auf einmal angelegt werden. In einer Operation können mehrere Semaphore auf einmal modifiziert werden.

Ganze Arrays von Semaphoren können auf einmal angelegt werden. In einer Operation können mehrere Semaphore auf einmal modifiziert werden. Übungen zur Vorlesung Betriebssysteme I Studiengang Informatik SS 05 AG Betriebssysteme FB3 Kirsten Berkenkötter Allerlei Nützliches 1 Semaphore 1.1 Allgemein Semaphore sind unter System V IPC erweitert:

Mehr

2A Basistechniken: Weitere Aufgaben

2A Basistechniken: Weitere Aufgaben 2A Basistechniken: Weitere Aufgaben 2A.3 Programmierung unter UNIX/Linux 1. Gegeben sind einige Ausschnitte von C-Programmen, die unter UNIX/Linux ausgeführt werden sollen. Beantworten Sie die zugehörigen

Mehr

Kontextfreie Sprachen Kontextfreie Sprachen und Grammatiken. Satzformen sind die Wörter aus (N T ). Notation: Wir verwenden oft

Kontextfreie Sprachen Kontextfreie Sprachen und Grammatiken. Satzformen sind die Wörter aus (N T ). Notation: Wir verwenden oft und Grammatiken (Folie 119, eite 202 im kript) atzformen sind die Wörter aus (N T ). Notation: Wir verwenden oft a, b, c,... für Terminalsymbole A, B, C,... für Nonterminale u, v, w,... für Terminalwörter

Mehr

Verwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion. Programmieren in C

Verwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion. Programmieren in C Übersicht Funktionen Verwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion Sinn von Funktionen Wiederverwendung häufig verwendeter nicht banaler Programmteile Wiederverwendung

Mehr

Netzwerksicherheit. Teil 1: Organisatorisches und Einführung. Martin Mauve, Björn Scheuermann und Philipp Hagemeister

Netzwerksicherheit. Teil 1: Organisatorisches und Einführung. Martin Mauve, Björn Scheuermann und Philipp Hagemeister Netzwerksicherheit Teil 1: Organisatorisches und Einführung Martin Mauve, Björn Scheuermann und Philipp Hagemeister Sommersemester 2016 Heinrich-Heine-Universität Düsseldorf Netzwerksicherheit Organisatorisches,

Mehr

Beispiel für einen IPC-Server, der seinen Dienst über den Global Name Service im Netzwerk bekannt gibt. Header-Dateien einbinden

Beispiel 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,

Mehr

Lab 13: Multi Processor Systems II

Lab 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

Mehr

Prüfung Betriebssysteme 1

Prü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

Tafelübung zu BS 4. Speicherverwaltung

Tafelübung zu BS 4. Speicherverwaltung Tafelübung zu BS 4. Speicherverwaltung 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/

Mehr

Linux Prinzipien und Programmierung

Linux Prinzipien und Programmierung Linux Prinzipien und Programmierung Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2014 1 / 25 Benutzerkonzept Passende Shell-Befehle Dateisystem-Shellbefehle bash 2 / 25 Benutzerkonzept unter Linux

Mehr

Systemnahe Software WS 2006/2007

Systemnahe 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.

Mehr

Kommunikationsnetze. 2. Direkte TCP/IP-Verbindungen 2.1 Höhere Programmiersprachen

Kommunikationsnetze. 2. Direkte TCP/IP-Verbindungen 2.1 Höhere Programmiersprachen Kommunikationsnetze Gliederung 1. Socket-Programmierung unter C 2. Socket-Programmierung unter Java Gliederung Berkeley Sockets (Erste freie TCP/IP-Implementierung in Berkeley UNIX): SOCKET: Erzeugen eines

Mehr

Prozesse. Vorlesung Betriebssysteme I. Zustandsmodell eines Prozesses. Virtuelle vs. reale CPU. Zustandsübergänge cont d

Prozesse. 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

Mehr

Echtzeitbetriebssysteme (am Beispiel QNX) Dr. Stefan Enderle HS Esslingen

Echtzeitbetriebssysteme (am Beispiel QNX) Dr. Stefan Enderle HS Esslingen Echtzeitbetriebssysteme (am Beispiel QNX) Dr. Stefan Enderle HS Esslingen 3. QNX Neutrino Microkernel 3.1 Einführung Der Neutrino-Kernel (Betriebssystemkern) implementiert (nur) die wichtigsten Teile des

Mehr

Aufbau einer Pipeline 124

Aufbau 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

Mehr

PROGRAMMIEREN MIT UNIX/Linux-SYSTEMAUFRUFEN

PROGRAMMIEREN MIT UNIX/Linux-SYSTEMAUFRUFEN PROGRAMMIEREN MIT UNIX/Linux-SYSTEMAUFRUFEN UNIX/Linux-Interprozesskommunikation, zugehörige Systemaufrufe und Kommandos 7. UNIX/Linux-Shared Memory 8. (Benannte) Pipes UNIX/Linux-IPC-Mechanismen Nachrichtenbasierter

Mehr

Zusammenfassung des Handzettels für Programmieren in C

Zusammenfassung des Handzettels für Programmieren in C Zusammenfassung des Handzettels für Programmieren in C In der handschriftlichen Kopie werden mehr Abkürzungen verwendet. Alles Grün markierte dient zum lernen und wird nicht auf den Handzettel übertragen.

Mehr

Parallele Sitzungen 225

Parallele 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

Mehr

Ingenieurinformatik Diplom-FA (Teil 2, C-Programmierung)

Ingenieurinformatik Diplom-FA (Teil 2, C-Programmierung) Hochschule München, FK 03 SS 2014 Ingenieurinformatik Diplom-FA (Teil 2, C-Programmierung) Zulassung geprüft: (Grundlagenteil) Die Prüfung ist nur dann gültig, wenn Sie die erforderliche Zulassungsvoraussetzung

Mehr

Primitive Datentypen

Primitive Datentypen Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.

Mehr

Hochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller

Hochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller Hochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller Datum, Zeit, 08:00 09:30 Uhr (90 min) Aufgabenblätter 14 Seiten (einschl. Deckblatt) erreichbare Punktzahl 54 zugelassene

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 11 Dynamische Feldvereinbarung... 11-2 11.1 Dynamische Vereinbarung von Vektoren... 11-3 11.2 Dynamische Vereinbarung von Matrizen... 11-5 11.3 Die Kommandozeile... 11-8 Propädeutikum 11-1/8 11

Mehr

188.154 Einführung in die Programmierung für Wirtschaftsinformatik

188.154 Einführung in die Programmierung für Wirtschaftsinformatik Beispiel 1 Vererbung (Liste) Gegeben sind die beiden Klassen ListNode und PersonNode. 188.154 Einführung in die Programmierung für Wirtschaftsinformatik Wiederholung, Prüfungsvorbereitung Monika Lanzenberger

Mehr

Übungen zu Systemnahe Programmierung in C (SPiC)

Übungen zu Systemnahe Programmierung in C (SPiC) Übungen zu Systemnahe Programmierung in C (SPiC) Peter Wägemann, Sebastian Maier, Heiko Janker (Lehrstuhl Informatik 4) Übung 8 Sommersemester 2015 Inhalt POSIX Verzeichnisschnittstelle opendir, closedir,

Mehr

U9-1 Prozesse: Überblick. U9-1 UNIX-Prozesshierarchie. U9-2 POSIX Prozess-Systemfunktionen. Prozesse sind eine Ausführumgebung für Programme

U9-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

Mehr

Einführung in C. EDV1-04C-Einführung 1

Einführung in C. EDV1-04C-Einführung 1 Einführung in C 1 Helmut Erlenkötter C Programmieren von Anfang an Rowohlt Taschenbuch Verlag ISBN 3-4993 499-60074-9 19,90 DM http://www.erlenkoetter.de Walter Herglotz Das Einsteigerseminar C++ bhv Verlags

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert

Mehr

Lösungsvorschlag zur 10. Übung

Lösungsvorschlag zur 10. Übung Prof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 09/10 Lösungsvorschlag zur 10. Übung 1 Präsenzübungen 1.1 Wissensfragen Versuchen Sie diese Aufgabe erst

Mehr

Dämon-Prozesse ( deamon )

Dä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

Mehr

Organisatorisches. Übungsleiter: Karsten Otto Homepage: Aufgaben

Organisatorisches. Übungsleiter: Karsten Otto Homepage:  Aufgaben Organisatorisches Übungsleiter: Karsten Otto (otto@inf.fu-berlin.de) Homepage: http://www.inf.fu-berlin.de/lehre/ss04/sysi/ Aufgaben Montags im Netz Vorbesprechung Dienstag/Mittwoch in den Übungen Abgabe

Mehr

Fallbeispiel Unix. Betriebssysteme. Hermann Härtig TU Dresden

Fallbeispiel 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

Mehr

2. Unterprogramme und Methoden

2. Unterprogramme und Methoden 2. Unterprogramme und Methoden Durch Methoden wird ausführbarer Code unter einem Namen zusammengefasst. Dieser Code kann unter Verwendung von sogenannten Parametern formuliert sein, denen später beim Aufruf

Mehr

C allgemein. C wurde unter und für Unix entwickelt. Vorläufer sind BCPL und B.

C allgemein. C wurde unter und für Unix entwickelt. Vorläufer sind BCPL und B. C-Crash-Kurs Eine kurze, keinesfalls erschöpfende Einführung in die Sprache C für Studierende, die eine strukturierte imperative Programmiersprache beherrschen. Die Vorstellung erfolgt am Beispiel von

Mehr

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.3. Anweisungen und Kontrollstrukturen - 1 - Anweisung Anweisung Zuweisung Methodenaufruf

Mehr

Übersicht. Speichertypen. Speicherverwaltung und -nutzung. Programmieren in C

Übersicht. Speichertypen. Speicherverwaltung und -nutzung. Programmieren in C Übersicht Speichertypen Speicherverwaltung und -nutzung Speichertypen Beim Laden eines Programms in den Speicher (Programmausführung) kommen 3 verschiedene Speicherbereiche zum Einsatz: Text Segment (Code

Mehr

Inhalt. Übungen zu Systemnahe Programmierung in C (SPiC) Prozesse. U5-5 UNIX-Prozesshierarchie

Inhalt. Ü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

Mehr