Netzwerk-Programmierung. Prozesse. Alexander Sczyrba Michael Beckstette.

Größe: px
Ab Seite anzeigen:

Download "Netzwerk-Programmierung. Prozesse. Alexander Sczyrba Michael Beckstette."

Transkript

1 Netzwerk-Programmierung Prozesse Alexander Sczyrba Michael Beckstette 1

2 Übersicht Prozesse fork() Parents und Childs system() und exec() 2

3 Prozesse moderne Betriebssysteme (UNIX, Windows NT/2000) sind multitasking-fähig: mehrere Programme können simultan ablaufen jedes in separatem Prozess bei Einzel-CPU Maschinen übernimmt das OS den Wechsel zwischen den einzelnen Prozessen 3

4 Multitasking in Perl Perl unterstützt zwei Arten von Multitasking: 1. fork() basiert auf traditionellem UNIX Multiprozess-Modell erlaubt dem aktuellen Prozess sich selbst zu klonen Ergebnis: zwei in fast jeder Hinsicht identische Prozesse 2. Multithreading modernes Konzept eines Threads Aufgaben werden in einem einzigen Prozess gehalten einzelnes Programm kann aus nebeneinander ausgeführten Threads bestehen, von denen jeder unabhängig von den anderen läuft 4

5 fork() Funktion fork() ist in allen UNIX Versionen von Perl verfügbar erzeugt ein exaktes Duplikat des aktuellen Prozesses: parent und child child-prozess übernimmt: aktuelle Werte aller Variablen Dateihandles (inkl. Daten in I/O-Puffern) weitere Datenstrukturen Voraussetzung: Parent und Child wissen, wer von ihnen wer ist jedem Prozess im System wird eine eindeutige pos. Zahl zugeordnet: Prozess-ID oder PID 5

6 Aufgabe Ermittle, wie viele Prozesse unter Deiner userid laufen. Verwende dazu den Befehl ps mit den entsprechenden Opionen (siehe man ps). Welche Informationen liefert ps? Der Befehl ptree gibt Informationen über Prozesse, ihre Kinder und Eltern in Baumstruktur aus. ptree -a USERID Welcher Prozess ist der Parent aller Prozesse? 6

7 fork() $pid = fork() verzweigt in einen neuen Prozess Rückgabewerte im Parent-Prozess: PID des Child-Prozesses im Child-Prozess: 0 im Falles eines Fehlers: undef 7

8 Hilfreiche Funktionen $pid = getppid() $$ gibt PID des Parent-Prozesses zurück enthält die PID des aktuellen Prozesses $pid = wait() wartet auf die Terminierung eines Child Prozesses und gibt die PID des terminierten Prozesses zurück 8

9 Beispiel fork() print "PID=$$\n"; my $child = fork(); die "cannot fork: $!" unless defined $child; if ($child == 0) { # child my $ppid = getppid(); print "Child-Process: PID=$$, Parent=$ppid\n"; exit(0); else { # Parent my $ppid = getppid(); print "Parent-Process: PID=$$, Child=$child, Parent=$ppid\n"; wait(); 9

10 Zombies terminiert der Parent vor dem Child, wird dieser zum Waisenkind und vom Init-Prozess adoptiert ein Prozess, der terminiert hat, dessen Parent aber nicht darauf gewartet hat, wird Zombie genannt 10

11 Aufgabe stelle mittels top fest, wieviele Zombies auf Deiner Maschine laufen ermittle mit ps weitere Informationen zu den Zombies ändere das fork()-beispiel so, dass 1. das Child vom init-prozess übernommen wird 2. das Child zu einem Zombie wird my $child = fork(); die "cannot fork: $!" unless defined $child; if ($child == 0) { # dieses child wird von init uebernommen my $ppid = getppid(); print "Child-Process: PID=$$, Parent=$ppid\n"; print "Child sleeping for 10 secs...\n"; sleep(10); print "Child exiting.\n"; exit(0); else { # Parent my $ppid = getppid(); print "Parent-Process: PID=$$, Child=$child, Parent=$ppid\n"; print "Parent exiting.\n"; 11

12 my $child = fork(); die "cannot fork: $!" unless defined $child; if ($child == 0) { # dieses child wird zu einem Zombie my $ppid = getppid(); print "Child-Process: PID=$$, Parent=$ppid\n"; print "Child sleeping for 10 secs...\n"; sleep(10); print "Child exiting.\n"; exit(0); else { # Parent my $ppid = getppid(); print "Parent-Process: PID=$$, Child=$child, Parent=$ppid\n"; print "Parent sleeping for 20 secs...\n"; sleep(20); print "Parent exiting.\n"; 12

13 system() und exec() system() führt ein anderes Programm als Unterprozess aus wartet auf dessen Beendigung exec() ersetzt den aktuellen Prozess durch angegeben Befehl bei Erfolg kehrt der Aufruf nie zurück neuer Prozess hat die gleiche PID wie alter Prozess verwendet dieselben STDIN-, STDOUT-, STDERR-Dateihandles 13

14 Aufgabe Schreibe ein Programm, das alle 5 Sekunden die aktuelle Uhrzeit ausgibt. Verwende dazu: exec() /vol/gnu/bin/date #!/usr/bin/env perl -w print "$$\n"; for($i=0;$i<5;$i++) { if (fork() == 0) { # child exec("date"); else { # Parent wait(); sleep(5); 14

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

Prozesse. Stefan Janssen. sjanssen@cebitec.uni-bielefeld.de. Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de

Prozesse. Stefan Janssen. sjanssen@cebitec.uni-bielefeld.de. Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Netzwerk - Programmierung Prozesse Stefan Janssen sjanssen@cebitec.uni-bielefeld.de Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Madis Rumming mrumming@cebitec.uni-bielefeld.de Übersicht Prozesse

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

Threads. Netzwerk - Programmierung. Alexander Sczyrba Jan Krüger

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

Mehr

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

Einführung in UNIX 1. Das Betriebssystem UNIX ist fähig, mehrere Aufgaben scheinbar gleichzeitig zu erledigen. Dies wird mit Multitasking bezeichnet.

Einführung in UNIX 1. Das Betriebssystem UNIX ist fähig, mehrere Aufgaben scheinbar gleichzeitig zu erledigen. Dies wird mit Multitasking bezeichnet. Einführung in UNIX 1 7 Prozesse Das Betriebssystem UNIX ist fähig, mehrere Aufgaben scheinbar gleichzeitig zu erledigen. Dies wird mit Multitasking bezeichnet. Auf einem UNIX-Rechner können hundert oder

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

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

Prozesse, Logs und Systemverwaltung

Prozesse, Logs und Systemverwaltung Prozesse, Logs und Systemverwaltung Linux-Kurs der Unix-AG Zinching Dang 31. Januar 2017 Übersicht Wiederholung & Vertiefung: Benutzer & Gruppen Prozesse Log-Dateien Befehle & Optionen Zusammenfassung

Mehr

Okt 02, 17 12:28 UNIX/Linux Lösung

Okt 02, 17 12:28 UNIX/Linux Lösung Okt 02, 17 12:28 UNIX/Linux Lösung Seite 1/6 GEORG SIMON OHM Hochschule Nürnberg Name:... Schriftliche Prüfung im Fach Vorname:... "Betriebssystem Linux/UNIX" Matrikel Nr.:... Prüfungstermin: 13.10.2017

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

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

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

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

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

Logging, Threaded Server

Logging, Threaded Server Netzwerk-Programmierung Logging, Threaded Server Alexander Sczyrba Michael Beckstette {asczyrba,mbeckste@techfak.uni-bielefeld.de 1 Übersicht Logging Varianten für concurrent server 2 current working directory

Mehr

UNIX/Linux Lösung. Mär 14, 17 20:40 Seite 1/6. Prozeßsynchronisation (was ist das?, wo kommt es vor?, Beispiel?):

UNIX/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

Prozesse and Threads WS 09/10 IAIK 1

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

Mehr

Prozesse und Logs Linux-Kurs der Unix-AG

Prozesse und Logs Linux-Kurs der Unix-AG Prozesse und Logs Linux-Kurs der Unix-AG Benjamin Eberle 22. Januar 2015 Prozesse unter Linux gestartete Programme laufen unter Linux als Prozesse jeder Prozess hat eine eindeutige Prozess-ID (PID) jeder

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

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

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

Mehr

Prozesse und Logs Linux-Kurs der Unix-AG

Prozesse und Logs Linux-Kurs der Unix-AG Prozesse und Logs Linux-Kurs der Unix-AG Andreas Teuchert 27./28. Juni 2012 Prozesse unter Linux gestartete Programme laufen unter Linux als Prozesse jeder Prozess hat eine eindeutige Prozess-ID (PID)

Mehr

Subprozesse in Python

Subprozesse 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

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

Einführung: Zustandsdiagramme Stand:

Einführung: Zustandsdiagramme Stand: Einführung: Zustandsdiagramme Stand: 01.06.2006 Josef Hübl (Triple-S GmbH) 1. Grundlagen Zustandsdiagramme Zustände, Ereignisse, Bedingungen, Aktionen 2. Verkürzte Darstellungen Pseudozustände 3. Hierarchische

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

Bash-Skripting Linux-Kurs der Unix-AG

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

Mehr

Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden )

Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden ) Threads Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden ) Ein thread bearbeitet eine sequentielle Teilaufgabe innerhalb eines Prozesses Mehrere nebenläufige

Mehr

Rechnernutzung in der Physik. Betriebssysteme

Rechnernutzung in der Physik. Betriebssysteme Rechnernutzung in der Physik Betriebssysteme 1 Betriebssysteme Anwendungsprogramme Betriebssystem Treiber BIOS Direkter Zugriff von Anwenderprogrammen auf Hardware nur in Ausnahmefällen sinnvoll / möglich:

Mehr

UNIX - LINUX. Prozesse. Überblick. Prozesse: Start. Prozesszustände. Prozesskontrollblock (Prozesssteuerblock) Prozesszustände

UNIX - LINUX. Prozesse. Überblick. Prozesse: Start. Prozesszustände. Prozesskontrollblock (Prozesssteuerblock) Prozesszustände Überblick UNIX - LINUX Prozesse Prozesse sind neben Dateien das zweite wichtige Grundkonzept von UNIX Definition: Ein Prozess ist ein Programm in Ausführung Prozesse und Dateien Prozesse werden aus Programm-Dateien

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 21.11.2012 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Testat nach Weihnachten Mittwoch

Mehr

1.5 Anwendung/Prozesse

1.5 Anwendung/Prozesse 1.5 Anwendung/Prozesse 1.5.1 Prozesse und Multitasking Ein Prozess (englisch task) ist ein im Lauf bendliches Programm. Auf einem Linux-System erhält man mit den Befehlen ps (process list), top (table

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

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 13.11.2013 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard Systeme I: Betriebssysteme Kapitel 4 Prozesse Wolfram Burgard Version 18.11.2015 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

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

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

Shell-Scripting Linux-Kurs der Unix-AG

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

Mehr

Shell-Scripting Linux-Kurs der Unix-AG

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

Mehr

Perl-Praxis. Dateien und Daten. Jörn Clausen, Jan Krüger Jens Reeder, Alex Sczyrba. AG Praktische Informatik Technische Fakultät Universität Bielefeld

Perl-Praxis. Dateien und Daten. Jörn Clausen, Jan Krüger Jens Reeder, Alex Sczyrba. AG Praktische Informatik Technische Fakultät Universität Bielefeld Perl-Praxis Dateien und Daten Jörn Clausen, Jan Krüger Jens Reeder, Alex Sczyrba AG Praktische Informatik Technische Fakultät Universität Bielefeld {asczyrba,jkrueger@techfak.uni-bielefeld.de 1 Übersicht

Mehr

Musterlösung Prüfung SS 2002

Musterlösung Prüfung SS 2002 Musterlösung Prüfung SS 2002 Fach: I4neu (SEE, KOS, GRS, BTS) Teilprüfung: Betriebssystem Tag: 2.7.2002 8:15 12:15 Raum 1006 Bearbeitungszeit: 72 Minuten Name:... Matr.Nr.:... Punkte:... Note:... Hilfsmittel:

Mehr

Perl-Praxis. Subroutinen. Jörn Clausen, Jan Krüger Jens Reeder, Alex Sczyrba. AG Praktische Informatik Technische Fakultät Universität Bielefeld

Perl-Praxis. Subroutinen. Jörn Clausen, Jan Krüger Jens Reeder, Alex Sczyrba. AG Praktische Informatik Technische Fakultät Universität Bielefeld Perl-Praxis Subroutinen Jörn Clausen, Jan Krüger Jens Reeder, Alex Sczyrba AG Praktische Informatik Technische Fakultät Universität Bielefeld {asczyrba,jkrueger@techfak.uni-bielefeld.de Übersicht Subroutinen

Mehr

Übung zu Grundlagen der Betriebssysteme. 6. Übung

Ü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

Mehr

Prozesse erzeugen, überwachen, killen und Prozessprioritäten ändern

Prozesse erzeugen, überwachen, killen und Prozessprioritäten ändern LPI Zertifizierung 1.103.5 6 Prozesse erzeugen, überwachen, killen und Prozessprioritäten ändern Copyright ( ) 2006-2009 by Dr. Walter Kicherer. This work is licensed under the Creative Commons Attribution-Noncommercial-Share

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

Perl-Praxis. Dateien und Daten. Jörn Clausen, Jan Krüger Jens Reeder, Alex Sczyrba. AG Praktische Informatik Technische Fakultät Universität Bielefeld

Perl-Praxis. Dateien und Daten. Jörn Clausen, Jan Krüger Jens Reeder, Alex Sczyrba. AG Praktische Informatik Technische Fakultät Universität Bielefeld Perl-Praxis Dateien und Daten Jörn Clausen, Jan Krüger Jens Reeder, Alex Sczyrba AG Praktische Informatik Technische Fakultät Universität Bielefeld {asczyrba,jkrueger}@techfak.uni-bielefeld.de Übersicht

Mehr

Bash-Scripting Linux-Kurs der Unix-AG

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

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

Einführung in Perl. O'REILLY Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo. Randal L. Schwartz, Tom Phoenix & brian dfoy

Einführung in Perl. O'REILLY Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo. Randal L. Schwartz, Tom Phoenix & brian dfoy Einführung in Perl Randal L. Schwartz, Tom Phoenix & brian dfoy Deutsche Übersetzung von Jörgen W. Lang O'REILLY Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo Inhalt Vorwort XI 1 Einleitung 1

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

Bash-Skripting Linux-Kurs der Unix-AG

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

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

Perl-Praxis. Dateien und Daten. Jörn Clausen Jens Reeder, Jan Krüger

Perl-Praxis. Dateien und Daten. Jörn Clausen Jens Reeder, Jan Krüger Perl-Praxis Dateien und Daten Jörn Clausen Jens Reeder, Jan Krüger {jreeder,jkrueger}@techfak.uni-bielefeld.de Übersicht Informationen über Dateien Daten aus Dateien lesen Daten in Dateien schreiben mit

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

Parallelverarbeitung mit Ruby

Parallelverarbeitung mit Ruby Fachhochschule Wiesbaden - Fachbereich DCSM Parallelverarbeitung mit Ruby Prozess-Ebene Multithreading 04.12.2008 2003, 2008 H. Werntges, FB Design Informatik Medien (DCSM), FH Wiesbaden 1 Fachhochschule

Mehr

Perl-Praxis. Dateien und Daten. Jörn Clausen Daniel Hagemeier, Jan Krüger

Perl-Praxis. Dateien und Daten. Jörn Clausen Daniel Hagemeier, Jan Krüger Perl-Praxis Dateien und Daten Jörn Clausen Daniel Hagemeier, Jan Krüger {dhagemei,jkrueger}@cebitec.uni-bielefeld.de Übersicht Informationen über Dateien Daten aus Dateien lesen Daten in Dateien schreiben

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

2 Funktionen für die Verwaltung von Kontexten

2 Funktionen für die Verwaltung von Kontexten Übungen zur Vorlesung Betriebssysteme Projekt 2 Nicht-präemptive User-Level-Thread-Bibliothek (Version 1.10) 1 Einführung In diesem Projekt sollen Sie eine einfache, nicht-präemptive User-Level-Thread-Bibliothek

Mehr

In diesem Teil wird das Prozesskonzept von Unix beschrieben und elementare Kommandos zum Auflisten und Unterbrechen von Prozessen.

In diesem Teil wird das Prozesskonzept von Unix beschrieben und elementare Kommandos zum Auflisten und Unterbrechen von Prozessen. Das Prozesskonzept In diesem Teil wird das Prozesskonzept von Unix beschrieben und elementare Kommandos zum Auflisten und Unterbrechen von Prozessen. Inhalt 1. Das Prozesssystem... 2 2. Prozessgenerierung

Mehr

X Anmelden am System. X System herunterfahren. X Grundlegendes zur Shell. X Das Hilfesystem. X Dateioperationen. X Bewegen im Verzeichnisbaum

X Anmelden am System. X System herunterfahren. X Grundlegendes zur Shell. X Das Hilfesystem. X Dateioperationen. X Bewegen im Verzeichnisbaum /LQX[*UXQGODJHQ, (LQI KUXQJLQGLH6KHOO 'DWHLHQXQG 9HU]HLFKQLVVH :DVLVW]XWXQ" X Anmelden am System X System herunterfahren X Grundlegendes zur Shell X Das Hilfesystem X Dateioperationen X Bewegen im Verzeichnisbaum

Mehr

Shell-Scripting Linux-Kurs der Unix-AG

Shell-Scripting Linux-Kurs der Unix-AG Shell-Scripting Linux-Kurs der Unix-AG Benjamin Eberle 6. Juli 2016 Was ist ein Shell-Script? Aneinanderreihung von Befehlen, die ausgeführt werden Bedingte und wiederholende Ausführung möglich Nützlich

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

Fallbeispiel Unix. Betriebssysteme WS 14/15. Hermann Härtig TU Dresden

Fallbeispiel Unix. Betriebssysteme WS 14/15. Hermann Härtig TU Dresden Fallbeispiel Unix Betriebssysteme WS 14/15 Hermann Härtig TU Dresden Wegweiser Geschichte und Struktur von Unix Vom Programm zum Prozess Unix-Grundkonzepte Dateien Prozesse Prozess-Kommunikation Signale

Mehr

Praktikum aus Softwareentwicklung 2, Stunde 5

Praktikum aus Softwareentwicklung 2, Stunde 5 Praktikum aus Softwareentwicklung 2, Stunde 5 Lehrziele/Inhalt 1. Threads Threads Threads sind parallele, oder auf Rechnern mit nur einer CPU quasi-parallele, Programmabläufe in Java. Sie können beispielsweise

Mehr

Allgemeines zu Unix (Solaris, Linux, MAC OS X, FreeBSD,Open BSD usw.)

Allgemeines zu Unix (Solaris, Linux, MAC OS X, FreeBSD,Open BSD usw.) Allgemeines zu Unix (Solaris, Linux, MAC OS X, FreeBSD,Open BSD usw.) Multiuser- Multitasking Betrieb offenes System - unabhängig von den verschiedensten Hardwarekomponenten - Benutzeroberflächen folgen

Mehr

Okt 10, 16 17:29 UNIX/Linux Lösung

Okt 10, 16 17:29 UNIX/Linux Lösung Okt 10, 16 17:29 UNIX/Linux Lösung Seite 1/6 Technische Hochschule Nürnberg Name:... GEORG SIMON OHM Schriftliche Prüfung im Fach Vorname:... "Betriebssystem UNIX/Linux" Matrikel Nr.:... Prüfungstermin:

Mehr

Prozesse und Threads. Prozess. Trace. Einfachstes Prozessmodell. Traces

Prozesse und Threads. Prozess. Trace. Einfachstes Prozessmodell. Traces Prozesse und s Begriffe und Konzepte Prozesszustände Kontrollstrukturen des BS Prozesse BS s Peter Puschner 1 Vorlesung Betriebssysteme, Prozesse; WS 05/06 2 Prozess Animated Spirit of a program ausführbares

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

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

Betriebssysteme WS Betriebssysteme. Prof. Hannelore Frank. Einführung. Prozesse und Threads. Scheduling. Synchronisation

Betriebssysteme WS Betriebssysteme. Prof. Hannelore Frank. Einführung. Prozesse und Threads. Scheduling. Synchronisation WS 2007 Überblick 1 2 3 CPU- 4 nebenläufiger Prozesse 5 Hauptspeicherverwaltung 6 Dateisystem 7 Ein-/Ausgabe Literatur Eduard Glatz:. Grundlagen, Konzepte, Systemprogrammierung dpunkt.verlag, 2006, ISBN

Mehr

C und Linux HANSER. Martin Gräfe. Die Möglichkeiten des Betriebssystems mit eigenen Programmen nutzen. Z., erweiterte Auflage

C und Linux HANSER. Martin Gräfe. Die Möglichkeiten des Betriebssystems mit eigenen Programmen nutzen. Z., erweiterte Auflage 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Martin Gräfe C und Linux Die Möglichkeiten des Betriebssystems mit

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

LINUX Gesamtmitschrift

LINUX Gesamtmitschrift LINUX Gesamtmitschrift Martin Rabensteiner, 22.11.2015 Filesystem unter Linux - Keine Laufwerksbuchstaben - ~ Home-Verzeichnis User - Versteckte Dateien.filename Pfade 1. Absoluter Pfad eindeutiger Weg

Mehr

EiP Übung

EiP Übung 1. Verwenden Sie folgenden UNIX Befehl um aus der Datei artikel.txt der Aufgabe 3 eine Liste aller vorkommenden Wörter, zusammen mit Ihrer Frequenz zu erstellen. Tippen Sie folgenden UNIX Befehl ab und

Mehr

Shell-Scripting Linux-Kurs der Unix-AG

Shell-Scripting Linux-Kurs der Unix-AG Shell-Scripting Linux-Kurs der Unix-AG Andreas Teuchert 31. Januar 2014 Was ist ein Shell-Script? Aneinanderreihung von Befehlen, die ausgeführt werden Bedingte und wiederholende Ausführung möglich Nützlich

Mehr

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Architektur Verteilter Systeme Teil 2: Prozesse und Threads Architektur Verteilter Systeme Teil 2: Prozesse und Threads 21.10.15 1 Übersicht Prozess Thread Scheduler Time Sharing 2 Begriff Prozess und Thread I Prozess = Sequentiell ablaufendes Programm Thread =

Mehr

Parallele Prozesse Prozeß Parallele Prozesse verzahnte Prozesse Nebenläufige Prozesse: Threads Vorlesung Software-Entwicklung / Folie 131 Ziele:

Parallele Prozesse Prozeß Parallele Prozesse verzahnte Prozesse Nebenläufige Prozesse: Threads Vorlesung Software-Entwicklung / Folie 131 Ziele: Parallele Prozesse SWE-131 Prozeß: Ausführung eines sequentiellen Programmstückes in dem zugeordneten Speicher (Adressraum). Veränderlicher Zustand: Speicherinhalt und Programmposition. Parallele Prozesse:

Mehr

Mini-Projekt: miniirc

Mini-Projekt: miniirc Netzwerk-Programmierung Mini-Projekt: miniirc Alexander Sczyrba Michael Beckstette {asczyrba,mbeckste}@techfak.uni-bielefeld.de Übersicht Design des Servers mit Perl/Tk Kommunikations-Protokoll Netzwerk-Programmierung

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

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

Abschlussklausur. Betriebssysteme. Bewertung: 22. November Name: Vorname: Matrikelnummer:

Abschlussklausur. Betriebssysteme. Bewertung: 22. November Name: Vorname: Matrikelnummer: Abschlussklausur Betriebssysteme 22. November 2016 Name: Vorname: Matrikelnummer: Mit meiner Unterschrift bestätige ich, dass ich die Klausur selbständig bearbeite und dass ich mich gesund und prüfungsfähig

Mehr

Netzwerk-Programmierung. Netzwerke.

Netzwerk-Programmierung. Netzwerke. Netzwerk-Programmierung Netzwerke Alexander Sczyrba Michael Beckstette {asczyrba,mbeckste}@techfak.uni-bielefeld.de Übersicht Netzwerk-Protokolle Protkollfamilie TCP/IP Transmission Control Protocol (TCP)

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

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

Embedded-Linux-Seminare. Linux als Betriebssystem

Embedded-Linux-Seminare. Linux als Betriebssystem Embedded-Linux-Seminare Linux als Betriebssystem http://www.embedded-linux-seminare.de Diplom-Physiker Peter Börner Spandauer Weg 4 37085 Göttingen Tel.: 0551-7703465 Mail: info@embedded-linux-seminare.de

Mehr

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Programmieren I Dr. Werner Struckmann 7. September 2015 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr

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

Vorsemesterkurs Informatik Übungsaufgaben. Tag 4a - Python

Vorsemesterkurs Informatik Übungsaufgaben. Tag 4a - Python Vorsemesterkurs Informatik Übungsaufgaben Tag 4a - Python Aufgabe 1: Listen Mache dich im Python-Interpreter mit dem Umgang mit Listen vertraut. Kapitel 2.6 im Skript (s.40) enthält nützliche Informationen.

Mehr

Einige Eigenschaften der Bourne-Shell und der bash

Einige Eigenschaften der Bourne-Shell und der bash Einige Eigenschaften der Bourne-Shell und der bash 1. Startup-Skripte/spezielle Dateien: ~/.[bashrc ]profile von Login-Shell abgearbeitet ~/.bashrc bei jedem Aufruf einer bash abgearbeitet ~/.bash logout

Mehr

Netzwerk-Programmierung. Netzwerke. Alexander Sczyrba Michael Beckstette.

Netzwerk-Programmierung. Netzwerke. Alexander Sczyrba Michael Beckstette. Netzwerk-Programmierung Netzwerke Alexander Sczyrba Michael Beckstette {asczyrba,mbeckste}@techfak.uni-bielefeld.de 1 Übersicht Netzwerk-Protokolle Protkollfamilie TCP/IP Transmission Control Protocol

Mehr

Praktikum Power Management. Performance Counters. Philipp Kern, Michael Nagel Universität Karlsruhe und Rechtsnachfolger

Praktikum Power Management. Performance Counters. Philipp Kern, Michael Nagel Universität Karlsruhe und Rechtsnachfolger Praktikum Power Management Performance Counters Philipp Kern, Michael Nagel Universität Karlsruhe und Rechtsnachfolger Endergebnis I Anzeige analog zu "top" root@i30pm6:~$ python./watchpower.py --------------------------------

Mehr

System Monitoring in Windows-Netzwerken mit Open Source Tools

System Monitoring in Windows-Netzwerken mit Open Source Tools System Monitoring in Windows-Netzwerken mit Open Source Tools DECUS 2002 Michael Wrzesinski Consulting IBEX Digitale Systeme AG Einsatzmöglichkeiten des Monitorings Netzwerk Erreichbarkeit Auslastung usw.

Mehr

Concurrent programming Prinzipien und Einführung in Prozesse

Concurrent 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

Mehr

Linux Prinzipien und Programmierung

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

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

Hans-Georg Eßer Betriebssysteme, WS 2006/07. Fachbereich Informatik/Mathematik Übungsblatt 1, Seite 1/5 Fachhochschule München 08.11.

Hans-Georg Eßer Betriebssysteme, WS 2006/07. Fachbereich Informatik/Mathematik Übungsblatt 1, Seite 1/5 Fachhochschule München 08.11. Fachbereich Informatik/Mathematik Übungsblatt 1, Seite 1/5 Vorbereitung Booten Sie den Rechner unter Linux. Melden Sie sich mit Ihrem ifw... - oder ibw... -Account an (Passwort ist evtl. die Matrikelnummer).

Mehr

AN025. Application Note 025 zu MODULAR-4 (ML3 und ML5) Messen der CPU-Auslastung im Echtzeitbetrieb

AN025. Application Note 025 zu MODULAR-4 (ML3 und ML5) Messen der CPU-Auslastung im Echtzeitbetrieb AN025 Application Note 025 zu MODULAR-4 (ML3 und ML5) Messen der Autor: HB AN025.DOC (6 Seiten) 1. Definition Im folgenden wie auch in allen anderen Sorcus Schriften werden folgende Kurzbezeichnungen verwendet:

Mehr

bereit (oder Zombie genannt). Normales Ende (exit) und synchrone und asynchrone Signal-Ereignisse, z.b.

bereit (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

Mehr

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik-

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik- Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VII Einstieg in Java I Michael Roth (h_da) Informatik

Mehr