2. Prozesssynchronisation

Größe: px
Ab Seite anzeigen:

Download "2. Prozesssynchronisation"

Transkript

1 Tafelübung zu BSRvS1 2. Prozesssynchronisation Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund 1

2 Agenda Besprechung Aufgabe 1: Wecker Fortsetzung Grundlagen C-Programmierung Aufgabe 2: Prozesssynchronisation Semaphore (sem* Funktionen) Gemeinsamer Speicher (shm* Funktionen) Makefiles Signalhandler BSRvS1: Übung 02 Prozesssynchronisation 2

3 Besprechung Aufgabe 1 Foliensatz Besprechung BSRvS1: Übung 02 Prozesssynchronisation 3

4 Grundlagen C-Programmierung Foliensatz C-Einführung BSRvS1: Übung 02 Prozesssynchronisation 4

5 Semaphore, semget(2) int semget(schlüssel, Anzahl, Optionen); Abfragen oder Erzeugen von Semaphoren Schlüssel = Schlüssel, der mit einer Semaphormenge im System assoziiert ist Anzahl = Anzahl der Semaphore in der Menge Optionen = IPC_CREAT, IPC_EXCL, Zugriffsrechte; mit bitweisem ODER ( ) verknüpft Semaphore werden nicht automatisch initialisiert! Rückgabewert: -1: Fehler bei der Ausführung (z.b. eine gesuchte Semaphormenge nicht gefunden), Fehlercode in errno abgelegt id: Identifier, der von den weiteren sem* Funktionen verwendet wird benötigte Header: sys/types.h, sys/ipc.h, sys/sem.h BSRvS1: Übung 02 Prozesssynchronisation 5

6 Semaphore, semget(2), Beispiel #include <sys/types.h> #include <sys/sem.h> #include <sys/ipc.h> #include <stdio.h> #include <errno.h> #define KEY 0xcaffee /* ein Schlüssel zur Suche nach Sem.-Mengen */ #define RIGHTS 0600 /* volle Zugriffsrechte für den Besitzer*/ int main() { int semid = 0; /* gibt es schon eine Semaphorenmenge zu diesem Schlüssel? */ semid = semget(key, 0, 0); if (semid < 0) { /* nein, also erzeuge eine Menge mit einem Semaphor... */ printf( create new semaphore\n ); semid = semget(key, 1, IPC_EXCL IPC_CREAT RIGHTS); if (semid < 0) { perror( semget ); return -1; return 0; pohl@host:~/# ipcs -s Semaphore Arrays key semid owner perms nsems 0xcaffee pohl pohl@host:~/# BSRvS1: Übung 02 Prozesssynchronisation 6

7 Semaphore, semctl(2) int semctl(semid, SemNr, Kommando,...); Initialisieren, Abfragen von Semaphoren Kommandos (Auswahl): SETVAL/GETVAL Setzen/Abfragen des Semaphor SemNr SETALL/GETALL Setzen/Abfragen aller Semaphore in der Menge Id IPC_RMID Freigeben einer Semaphormenge Rückgabewerte: -1: Fehler während der Ausführung, errno enthält Fehlercode >=0: je nach Kommando erwarteter Rückgabewert BSRvS1: Übung 02 Prozesssynchronisation 7

8 Semaphore, semctl(2) Beispiel #include <sys/types.h> #include <sys/sem.h> #include <sys/ipc.h> #include <stdio.h> #include <errno.h> #define KEY 0xcaffee /* ein Schlüssel zur Suche nach Sem.-Mengen */ int main() { int semid = 0, retval = 0; /* gibt es schon eine Semaphorenmenge zu diesem Schlüssel? */ semid = semget(key, 0, 0); if (semid > 0) { /* ja, dann initialisieren wir mit 1*/ retval = semctl(semid, 0, SETVAL, (int) 1); if (retval < 0) { perror( semctl SET ); return -1; retval = semctl(semid, 0, GETVAL); if (retval < 0) { perror( semctl GET ); return -1; printf( Semaphore hat Wert %d\n, retval); semctl(semid, 0, IPC_RMID); /* Semaphormenge entfernen */ return 0; BSRvS1: Übung 02 Prozesssynchronisation 8

9 Semaphore, semop(2) int semop(semid, *Operationen, AnzahlOPs); Kann eine oder mehrere Operationen auf den Semaphoren einer Semaphormenge ausführen Atomar entweder alle Operationen, oder keine! Rückgabewerte: -1: Fehler während der Ausführung, errno enthält Fehlercode 0: Ausführung erfolgreich Zentrale Struktur: struct sembuf struct sembuf { unsigned short sem_num; /* Semaphor Nr. */ short sem_op; /* Operation auf Semaphor */ short sem_flg; /* optionale Flags */ BSRvS1: Übung 02 Prozesssynchronisation 9

10 Semaphore, semop(2), Beispiel 3 Arten von Operationen definiert: sem_op > 0: addiere Wert von sem_op auf den aktuellen Wert des Semaphors Operation wird immer durchgeführt sem_op = 0: sog. wait-for-zero Schlafen bis Semphor = 0 sem_op < 0: Semaphor >= sem_op Operation wird direkt fortgesetzt, und sem_op vom aktuellen Wert des Semaphors abgezogen Semaphor < sem_op Operation muss warten void p() { struct sembuf sop; sop.sem_num = 0; /* Semaphor 0 */ sop.sem_flg = 0; sop.sem_op = -1; /* Dekrement */ if(semop(semid, &sop, 1) == -1) { perror( semop p ); exit(-1); void v() { struct sembuf sop; /* Semaphor 0 */ sop.sem_num = 0; sop.sem_flg = 0; sop.sem_op = 1; /* Inkrement */ if(semop(semid, &sop, 1) == -1) { perror( semop v ); exit(-1); BSRvS1: Übung 02 Prozesssynchronisation 10

11 Gemeinsamer Speicher 0x Prozess 1 Prozess 2 0x x45a33b1c Shared Memory Segment 0x5516a388 0xffffffff 0xffffffff BSRvS1: Übung 02 Prozesssynchronisation 11

12 Gem. Speicher, shmget(2) int shmget(schlüssel, Größe, Optionen); Sehr ähnlich zu semget(2) Schlüssel = Schlüssel, der mit Shared-Memory-Segment assoziiert ist Größe = Größe des gemeinsamen Speicherbereiches Optionen = IPC_CREAT, IPC_EXCL, Zugriffsrechte; mit bitweisem ODER ( ) verknüpft Der Speicher wird nicht automatisch initialisiert! Rückgabewert: -1: Fehler bei der Ausführung (z.b. ein gesuchter gemeinsamer Speicher ist nicht verfügbar), Fehlercode in errno abgelegt id: Identifier, der von den weiteren shm* Funktionen verwendet wird benötigte Header: sys/ipc.h, sys/shm.h BSRvS1: Übung 02 Prozesssynchronisation 12

13 Gem. Speicher, shmget(2), Beispiel #include <sys/shm.h> #include <sys/ipc.h> #include <stdio.h> #include <errno.h> #define KEY 0xc0ffee /* ein Schlüssel für das Shared-Memory-Seg. */ #define RIGHTS 0600 /* volle Zugriffsrechte für den Besitzer*/ int main() { int shmid = 0; /* Größe, abhängig von den ausgetauschten Daten */ int size = sizeof(int[3]); /* gibt es schon den gemeinsamen Speicher? */ shmid = shmget(key, 0, 0); if (shmid < 0) { /* nein, also erzeugen wir uns einen... */ printf( create shared memory segment\n ); shmid = shmget(key, size, IPC_EXCL IPC_CREAT RIGHTS); if (shmid < 0) { perror( shmget ); return -1; return 0; pohl@host:~/# ipcs -m Shared Memory Segments key shmid owner perms nattach 0xc0ffee pohl pohl@host:~/# BSRvS1: Übung 02 Prozesssynchronisation 13

14 Gem. Speicher, shmctl(2) int shmctl(shmid, Operation, *Puffer); Operationen auf dem Gemeinsamen Speicher ausführen IPC_STAT: Abfrage von Statusinformationen (wird in den übergebenen Puffer vom Typ struct shmid_ds geschrieben) IPC_SET: Ändern von Nutzer/Gruppe, Berechtigungen (Daten aus Puffer) IPC_RMID: Freigeben des gemeinsamen Speichers Rückgabewerte: -1: Fehler bei der Ausführung, Fehlercode in errno >0: Abhängig von der jeweiligen Operation void shm_free() { if (shmctl(shmid, IPC_RMID, NULL) == -1) { perror( shmctl free ); exit (-1); BSRvS1: Übung 02 Prozesssynchronisation 14

15 Gem. Speicher, shmat(2) void *shmat(shmid, Adresse, Optionen); Gemeinsamen Speicher in den lokalen Adressraum einbinden ShmId = die von shmget zurückgelieferte Id Adresse = Adresse an der das Shared-Memory-Segment eingebunden werden soll, wenn NULL System wählt Adresse automatisch Optionen = optionale Flags benötigt zusätzlich sys/types.h Rückgabewerte: (void*) -1: Fehler bei der Ausführung, Fehlercode in errno >0: Adresse, an der das Segment eingebunden wurde BSRvS1: Übung 02 Prozesssynchronisation 15

16 Gem. Speicher, shmdt(2) int shmdt(adresse); Gemeinsamen Speicher aus dem lokalen Adressraum aushängen Adresse = Adresse, an der das Shared-Memory-Segment in den lokalen Adressraum eingebunden ist Rückgabewerte: -1: Fehler bei der Ausführung, Fehlercode in errno 0: Aushängen des gemeinsamen Speichers war erfolgreich BSRvS1: Übung 02 Prozesssynchronisation 16

17 Gem. Speicher, shm* Beispiel #include <sys/shm.h>... #define KEY 0xc0ffee /* ein Schlüssel für das Shared-Memory-Seg. */ #define RIGHTS 0600 /* volle Zugriffsrechte für den Besitzer*/ int main() { int shmid = 0, *data = NULL, size = sizeof(int[3]); shmid = shmget(key, 0, 0); if (shmid < 0) { perror( shmget ); return -1; data = (int*) shmat(shmid, NULL, 0); /* Gem. Speicher einhängen */ if (data == (void*) -1) { perror( shmat ); return -1; data[0] = 1; data[1] = 2; data[2] = 3; if (shmdt(data) == -1) { /* Gem. Speicher aushängen */ perror( shmdt ); return -1; return 0; BSRvS1: Übung 02 Prozesssynchronisation 17

18 Gem. Speicher, shm* Beispiel #include <sys/shm.h>... #define KEY 0xc0ffee /* ein Schlüssel für das Shared-Memory-Seg. */ #define RIGHTS 0600 /* volle Zugriffsrechte für den Besitzer*/ int main() { int shmid = 0, *data = NULL, size = sizeof(int[3]); shmid = shmget(key, 0, 0); if (shmid < 0) { perror( shmget ); return -1; data = (int*) shmat(shmid, NULL, 0); if (data == (void*) -1) { perror( shmat ); return -1; printf( data 1-3: %d, %d, %d\n, data[0], data[1], data[2]); if (shmdt(data) == -1) { perror( shmdt ); return -1; if (shmctl(shmid, 0, IPC_RMID) == -1) { /* Gem. Speicher freigeben */ perror( shmctl rm ); return -1; return 0; pohl@host:~/#./test data 1-3: 1, 2, 3 pohl@host:~/# BSRvS1: Übung 02 Prozesssynchronisation 18

19 Makefiles Bauen von Projekten mit mehreren Dateien Makefile Informationen wie eine Projektdatei beim Bauen des Projektes zu behandeln ist # -= Variablen =- # Name=Wert oder auch # Name+=Wert für Konkatenation CC=gcc CFLAGS=-Wall CFLAGS+=-Werror -ansi -pedantic -D_POSIX_SOURCE # -= Targets =- # Name: <benötigte Dateien und/oder andere Targets> # <TAB> Kommando # <TAB> Kommando... test_1: test_1.c test_1.h # erstes Target = Default Target $(CC) $(CFLAGS) -o test_1 test_1.c test_2: test_1 test_2.c test_2.h # test_2 braucht test_1! $(CC) $(CFLAGS) -o test_2 test_2.c clean: rm -f test_1 test_2 # Verwendung von Shell-Befehlen BSRvS1: Übung 02 Prozesssynchronisation 19

20 Targets & Abhängigkeiten test_1 test_2 test_1.c test_1.h test_2.c test_2.h # target test_1 test_1: test_1.c test_1.h... # target test_2 test_2: test_1 test_2.c test_2.h... Vergleich von Änderungsdatum der Quell- und Zieldateien Quelle jünger? Neu übersetzen! make durchläuft Abhängigkeitsgraph BSRvS1: Übung 02 Prozesssynchronisation 20

21 Makefiles und make(1) ls Makefile test_1.c test_1.h test_2.c test_2.h make gcc -Wall -Werror -ansi -pedantic -D_POSIX_SOURCE -o test_1 test_1.c make clean rm -f test_1 test_2 make test_2 gcc -Wall -Werror -ansi -pedantic -D_POSIX_SOURCE -o test_1 test_1.c gcc -Wall -Werror -ansi -pedantic -D_POSIX_SOURCE -o test_2 test_2.c Makefiles ausführen mit make <target> bei fehlendem <target> wird das Default-Target ausgeführt Optionen -f: Makefile angeben; make -f <makefile> -j: Anzahl der gleichzeitig gestarteten Jobs; make -j 3 BSRvS1: Übung 02 Prozesssynchronisation 21

22 Signalhandler, sigaction(2) int sigaction(signalnr, *neueakt, *alteakt); Im eigenen Prozess Signale verarbeiten (SIGINT, SIGSTOP, etc.) Parameter SignalNr = das Signal das behandelt werden soll *neueakt = Pointer auf struct sigaction mit den Informationen zum neuen Handler (Eingabe!) *alteakt = Pointer auf struct sigaction mit den Informationen zum vorherigen Handler (Ausgabe!), ignoriert bei Übergabe von NULL Benötigt <signal.h> Rückgabewerte: -1: Fehler bei der Ausführung, Fehlercode in errno 0: Erfolgreiche Ausführung BSRvS1: Übung 02 Prozesssynchronisation 22

23 Signalhandler struct sigaction { void (*sa_handler)(int); /* Zeiger auf die Handler-Funktion */ sigset_t sa_mask; /* Ignoriere Signale bei Behandlung */ int sa_flags; /* Optionen */ void (*sa_restorer)(void); /* veraltet -> IGNORIEREN */ #include <signal.h>... /* die Handler-Funktion für unser Signal */ void handle_abbruch(int sig) { printf("sigint gefangen: %d!\n", SIGINT==sig); exit(2); int main() { struct sigaction action; action.sa_handler = &handle_abbruch; /* die Adresse des Handlers angeben */ sigemptyset(&action.sa_mask); /* keinerlei Signale ignorieren */ if (sigaction(sigint, &action, NULL)) { /* SIGINT Handler registrieren */ perror( sigaction ); return -1; /* Rückgabewert!= 0 => Fehler! */ while(1); return 0; BSRvS1: Übung 02 Prozesssynchronisation 23

Tafelübung zu BSRvS 1 2. Prozesssynchronisation

Tafelübung zu BSRvS 1 2. Prozesssynchronisation Tafelübung zu BSRvS 1 2. Prozesssynchronisation Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/

Mehr

Tafelübung zu BSRvS 1 3. Kreuzung

Tafelübung zu BSRvS 1 3. Kreuzung Tafelübung zu BSRvS 1 3. Kreuzung Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/ http://ess.cs.tu-dortmund.de/de/teaching/ss2009/bsrvs1/

Mehr

Tafelübung zu BS 3. Die Bibliothek

Tafelübung zu BS 3. Die Bibliothek Tafelübung zu BS 3. Die Bibliothek 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/ss2010/bs/

Mehr

Besprechung 6. Aufgabe (timed) Semaphore. Prozess 1 Prozess 2 0x Schlüssel=IPC_PRIVATE: Segment ist prozesslokal

Besprechung 6. Aufgabe (timed) Semaphore. Prozess 1 Prozess 2 0x Schlüssel=IPC_PRIVATE: Segment ist prozesslokal Überblick über die 9. Übung Überblick über die 9. Übung. Anlegen des Segments: shmget Besprechung 6. Aufgabe (timed)... /* Schlüssel */ int shmflg; /* Flags */ int shmid; /* ID des Speichersegments */

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

J.1 Überblick. Prototyp. Besprechung 6. Aufgabe (timed) (die 5. Aufgabe wird erst in der nächsten Woche besprochen) select. Shared Memory.

J.1 Überblick. Prototyp. Besprechung 6. Aufgabe (timed) (die 5. Aufgabe wird erst in der nächsten Woche besprochen) select. Shared Memory. J 8. Übung J 8. Übung J. Überblick Besprechung 6. Aufgabe (timed) (die 5. Aufgabe wird erst in der nächsten Woche besprochen) Prototyp #include #include select Shared Memory Semaphore

Mehr

Tafelübung zu BSRvS1. 3. Philosophen. Fortsetzung Grundlagen C-Programmierung

Tafelübung zu BSRvS1. 3. Philosophen.  Fortsetzung Grundlagen C-Programmierung Tafelübung zu BSRvS1 3. Philosophen Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/teaching/ss2008/bsrvs1/exercises/

Mehr

3. Philosophen. Tafelübung zu BSRvS1. Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund

3. Philosophen. Tafelübung zu BSRvS1. Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund Tafelübung zu BSRvS1 3. Philosophen Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/teaching/ss2008/bsrvs1/exercises/

Mehr

Einführung in die Systemprogrammierung unter Linux

Einführung in die Systemprogrammierung unter Linux Einführung in die Systemprogrammierung unter Linux Systemsoftware Praktikum Inhalt Übersicht über benötigte Systemfunktionen Programmieren unter Linux Grundlegendes Message-Queue Shared Memory Semaphore

Mehr

Speicherbasierte Kommunikation (T) Realisierung von Semaphoren (T) Shared Memory (P) Synchronisation mittels Semaphoren (P)

Speicherbasierte Kommunikation (T) Realisierung von Semaphoren (T) Shared Memory (P) Synchronisation mittels Semaphoren (P) Systempraktikum im Wintersemester 2009/2010 (LMU): Vorlesung vom 26.11. Foliensatz 5 Speicherbasierte Kommunikation (T) Realisierung von Semaphoren (T) Shared Memory (P) Synchronisation mittels Semaphoren

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

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

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

PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN

PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN UNIX/Linux-Interprozesskommunikation 6. UNIX/Linux Shared Memory ( gemeinsame Speicherbereiche ) Wintersemester 2016/17 UNIX/Linux-IPC-Mechanismen Nachrichtenbasierter

Mehr

Programmierung in C. Grundlagen. Stefan Kallerhoff

Programmierung in C. Grundlagen. Stefan Kallerhoff Programmierung in C Grundlagen Stefan Kallerhoff Vorstellungsrunde Name Hobby/Beruf Schon mal was programmiert? Erwartungen an den Kurs Lieblingstier Für zu Hause C-Buch online: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte

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

Zählen von Objekten einer bestimmten Klasse

Zählen von Objekten einer bestimmten Klasse Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --

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/ss2015/bs/

Mehr

Systemprogrammierung I - Aufgaben zur Erlangung der Klausurzulassung für Informatiker und Wirtschaftsinformatiker

Systemprogrammierung I - Aufgaben zur Erlangung der Klausurzulassung für Informatiker und Wirtschaftsinformatiker Systemprogrammierung I - Aufgaben zur Erlangung der Klausurzulassung für Informatiker und Nachfolgend finden Sie die drei Aufgaben, die Sie als Zulassungsvoraussetzung für die Scheinklausur am 18.7.2001

Mehr

Einführung in die Systemprogrammierung unter Linux

Einführung in die Systemprogrammierung unter Linux Einführung in die Systemprogrammierung unter Linux - 1 - Einführung in die Systemprogrammierung unter Linux Einführung in die Systemprogrammierung unter Linux - 2 - Inhalt 1. Übersicht über benötigte Systemfunktionen...

Mehr

Die Programmiersprache C

Die Programmiersprache C Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,

Mehr

Betriebssysteme (BTS)

Betriebssysteme (BTS) 13.Vorlesung Betriebssysteme (BTS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Betriebssysteme 31.5.2007 Wiederholung vom letzten Mal Deadlocks und Verhungern

Mehr

Systemnahe Programmierung in C/C++

Systemnahe Programmierung in C/C++ Systemnahe Programmierung in C/C++ Interprozesskommunikation (IPC) Knut Stolze stolze@informatik.uni-jena.de Lehrstuhl für Datenbanken und Informationssysteme Fakultät für Mathematik und Informatik 2006

Mehr

Softwarepraktikum: Einführung in Makefiles

Softwarepraktikum: Einführung in Makefiles Softwarepraktikum: Einführung in Makefiles (Eingebettete Systeme und Robotik),, http://ai3.inf.uni-bayreuth.de /home/db_lehre/praktika/softwarepraktikum/vorbesprechung_und_einfuehrung/vortraege/makefile_tuto

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Name, Vorname Matrikelnummer Probeklausur zur Vorlesung Einführung in die Programmierung WS 2008/09 Dauer: 2 Stunden Hinweise: Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf dieses Deckblatt und

Mehr

Einführung in die C++ Programmierung für Ingenieure

Einführung in die C++ Programmierung für Ingenieure Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

Mehr

Lösungsvorschlag zum Übungsblatt 1 zur Vorlesung Informatik II / WS2001/02

Lösungsvorschlag zum Übungsblatt 1 zur Vorlesung Informatik II / WS2001/02 Lösungsvorschlag zum Übungsblatt 1 zur Vorlesung Informatik II / WS2001/02 Prof. Dr.-Ing. Holger Vogelsang (FH-Karlsruhe) Dipl.-Inform. (FH) Gudrun Keller (FH-Karlsruhe) Dipl.-Inform. Mathias Supp (.riess

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

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten

Mehr

Informationen zur Verwendung von Visual Studio und cmake

Informationen zur Verwendung von Visual Studio und cmake Inhaltsverzeichnis Informationen zur Verwendung von Visual Studio und cmake... 2 Erste Schritte mit Visual Studio... 2 Einstellungen für Visual Studio 2013... 2 Nutzung von cmake... 6 Installation von

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2010/11 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Wiederholungen - while - do-while - for

Mehr

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"

Mehr

Systemsoftware Praktikum Hochschule Ravensburg-Weingarten

Systemsoftware Praktikum Hochschule Ravensburg-Weingarten Systemsoftware Praktikum Hochschule Ravensburg-Weingarten Erste Schritte Systemkontrolle Bibliotheken Quelltext und Doku Erste Schritte - Übersicht ssh-zugang Anjuta CVS make / gcc Erste Schritte ssh-zugang

Mehr

Propädeutikum. Dipl.-Inf. Frank Güttler

Propädeutikum. Dipl.-Inf. Frank Güttler Propädeutikum 2015 Vorbereitungskurs Informatikstudium Erfolgreich Studieren Programmieren (C-Kurs) guettler@informatik.uni-leipzig.de Universität Leipzig Institut für Informatik Technische Informatik

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

C-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07)

C-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07) C-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07) 1. Aufgabe 6 Punkte Geben Sie Definitionen an für: float var; 1 a) eine float-variable var: b) einen Zeiger pvar, der float *pvar = &var; 1 auf die

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

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

7. Bewässerung: Mehrmals pro Woche

7. Bewässerung: Mehrmals pro Woche 7. Bewässerung: Mehrmals pro Woche Eine Kultur im Erdboden muss mehrmals wöchentlich bewässert werden. 1. Erstellen Sie ein Arbeitsblatt 2. Pumpe 3. Ventilgruppe 1 4. Kulturfachregelung 5. Wasser-Anschlüsse

Mehr

2. Semester, 2. Prüfung, Lösung

2. Semester, 2. Prüfung, Lösung 2. Semester, 2. Prüfung, Lösung Name Die gesamte Prüfung bezieht sich auf die Programmierung in C++! Prüfungsdauer: 90 Minuten Mit Kugelschreiber oder Tinte schreiben Lösungen können direkt auf die Aufgabenblätter

Mehr

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige

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

Klausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, 11.15-13.00 Uhr Bearbeitungszeit: 105 Minuten

Klausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, 11.15-13.00 Uhr Bearbeitungszeit: 105 Minuten Klausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, 11.15-13.00 Uhr Bearbeitungszeit: 105 Minuten Vorname: Nachname: Matrikelnummer: Legen Sie zu Beginn Ihren Studentenausweis

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

teamsync Kurzanleitung

teamsync Kurzanleitung 1 teamsync Kurzanleitung Version 4.0-19. November 2012 2 1 Einleitung Mit teamsync können Sie die Produkte teamspace und projectfacts mit Microsoft Outlook synchronisieren.laden Sie sich teamsync hier

Mehr

Umzug der abfallwirtschaftlichen Nummern /Kündigung

Umzug der abfallwirtschaftlichen Nummern /Kündigung Umzug der abfallwirtschaftlichen Nummern /Kündigung Um sich bei ebegleitschein abzumelden/ zu kündigen sind folgende Schritte notwendig: Schritt 1: Sie erteilen bifa Umweltinstitut GmbH den Auftrag, Ihre

Mehr

Betriebssysteme. Agenda. Tafelübung 3. Deadlock. Olaf Spinczyk.

Betriebssysteme. Agenda. Tafelübung 3. Deadlock. Olaf Spinczyk. Betriebssysteme Tafelübung 3. Deadlock 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

Mehr

Programmentwicklung mit C++ (unter Unix/Linux)

Programmentwicklung mit C++ (unter Unix/Linux) Programmentwicklung mit C++ (unter Unix/Linux) Erste Schritte Der gcc - Compiler & Linker Organisation des Source-Codes & Libraries Automatische Programmgenerierung: Make Birgit Möller & Denis Williams

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {

Mehr

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

Mehr

Netzwerkversion PVG.view

Netzwerkversion PVG.view Netzwerkversion PVG.view Installationshinweise Einführung Die Programm PVG.view kann zur Netzwerkversion erweitert werden. Die Erweiterung ermöglicht, bestehende oder neu erworbene Programmlizenzen im

Mehr

Ingenieurinformatik Diplom-FA (C-Programmierung)

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

Mehr

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert

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

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Enigmail Konfiguration

Enigmail Konfiguration Enigmail Konfiguration 11.06.2006 Steffen.Teubner@Arcor.de Enigmail ist in der Grundkonfiguration so eingestellt, dass alles funktioniert ohne weitere Einstellungen vornehmen zu müssen. Für alle, die es

Mehr

5.1.4.5 Übung - Datenmigration in Windows Vista

5.1.4.5 Übung - Datenmigration in Windows Vista 5.0 5.1.4.5 Übung - Datenmigration in Windows Vista Einführung Drucken Sie die Übung aus und führen Sie sie durch. In dieser Übung werden Sie Windows Vista verwenden. Empfohlene Ausstattung Die folgende

Mehr

5.3.2.16 Laborübung - Verwalten von virtuellem Speicher in Windows 7

5.3.2.16 Laborübung - Verwalten von virtuellem Speicher in Windows 7 5.0 5.3.2.16 Laborübung - Verwalten von virtuellem Speicher in Windows 7 Einführung Drucken Sie diese Übung aus und folgen Sie den Anweisungen. In dieser Übung werden Sie die Einstellungen des virtuellen

Mehr

Starten Sie Eclipse: Hier tragen sie Ihr Arbeitsverzeichnis ein. Zu Hause z.b. c:\workspace.

Starten Sie Eclipse: Hier tragen sie Ihr Arbeitsverzeichnis ein. Zu Hause z.b. c:\workspace. Starten Sie Eclipse: Abgesehen vom Kommandozeilenfenster, auf welches wir später eingehen, öffnet sich ein Dialog (in der FH vermutlich nicht, überspringen Sie in diesem Fall): Hier tragen sie Ihr Arbeitsverzeichnis

Mehr

Aufgaben zur C-Programmierung für die Praktikumsperiode des 1.Semesters

Aufgaben zur C-Programmierung für die Praktikumsperiode des 1.Semesters Prof. Dr. Ulrich Breitschuh Hochschule Anhalt(FH) Fachbereich Informatik Aufgaben zur C-Programmierung für die Praktikumsperiode des 1.Semesters Hinweis: Die Aufgaben 3, 6 und 8 sind testatpichtige Aufgaben.

Mehr

Die Programmiersprache C99: Zusammenfassung

Die Programmiersprache C99: Zusammenfassung Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach

Mehr

U6-1 Organisatories. U6-2 Motivation von Threads. U6-3 Vergleich von Thread-Konzepten. Organisatorisches

U6-1 Organisatories. U6-2 Motivation von Threads. U6-3 Vergleich von Thread-Konzepten. Organisatorisches U6 6. Übung U6 6. Übung U6-1 Organisatories U6-1 Organisatories Organisatorisches Zusätzliche Tafelübung zur S1-Klaurvorbereitung Besprechung Aufgabe 5 (crawl) OSIX-Threads Motivation Thread-Konzepte am

Mehr

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Java Kurs für Anfänger Einheit 4 Klassen und Objekte Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse

Mehr

Übungspaket 31 Entwicklung eines einfachen Kellerspeiches (Stacks)

Übungspaket 31 Entwicklung eines einfachen Kellerspeiches (Stacks) Übungspaket 31 Entwicklung eines einfachen Kellerspeiches (Stacks) Übungsziele: Skript: 1. Definieren einer dynamischen Datenstruktur 2. Dynamische Speicher Speicherallokation 3. Implementierung eines

Mehr

Felder, Rückblick Mehrdimensionale Felder. Programmieren in C

Felder, Rückblick Mehrdimensionale Felder. Programmieren in C Übersicht Felder, Rückblick Mehrdimensionale Felder Rückblick Vereinbarung von Feldern: typ name [anzahl]; typ name = {e1, e2, e3,..., en} Die Adressierung von Feldelementen beginnt bei 0 Die korrekte

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

Simplex-Umformung für Dummies

Simplex-Umformung für Dummies Simplex-Umformung für Dummies Enthält die Zielfunktion einen negativen Koeffizienten? NEIN Optimale Lösung bereits gefunden JA Finde die Optimale Lösung mit dem Simplex-Verfahren! Wähle die Spalte mit

Mehr

> Soft.ZIV. Maple Mathematisches Software System

> Soft.ZIV. Maple Mathematisches Software System > Soft.ZIV Maple Mathematisches Software System Inhaltsverzeichnis Organisation... 3 Hersteller... 3 Produkte... 3 Versionen... 3 Plattformen... 3 Lizenzierung... 3 Lizenzform... 3 Lizenzzeitraum... 3

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt

Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt AMPEL-Steuerung(en) Die Beschreibung und Programmierung der Ampel (vor allem Ampel_5) können sehr kompliziert

Mehr

Print2CAD 2017, 8th Generation. Netzwerkversionen

Print2CAD 2017, 8th Generation. Netzwerkversionen Installation der Netzwerkversion Kazmierczak Software Print2CAD 2017, 8th Generation Print2CAD 2017, 8th Generation Netzwerkversionen Einführung Installationshinweise Die Programme von Kazmierczak Software

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

GS-Buchhalter/GS-Office 2015 Saldovorträge in folgenden Wirtschaftsjahren erfassen

GS-Buchhalter/GS-Office 2015 Saldovorträge in folgenden Wirtschaftsjahren erfassen GS-Buchhalter/GS-Office 2015 Saldovorträge in folgenden Wirtschaftsjahren erfassen Impressum Business Software GmbH Primoschgasse 3 9020 Klagenfurt Copyright 2014 Business Software GmbH Die Inhalte und

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme Eines der am häufigsten auftretenden Standardprobleme der angewandten Mathematik ist das Lösen linearer Gleichungssysteme, etwa zur Netzwerkberechnung in der Elektrotechnik oder

Mehr

Win-Digipet V 9.2 Premium Edition Wie bastele ich mir steuerbare Kontakte. Wie bastele ich mir steuerbare Kontakte? -Quick-And-Dirty-Lösung-

Win-Digipet V 9.2 Premium Edition Wie bastele ich mir steuerbare Kontakte. Wie bastele ich mir steuerbare Kontakte? -Quick-And-Dirty-Lösung- ? -Quick-And-Dirty-Lösung- Vorwort Nach Anfragen aus dem Win-Digipet-Forum möchte ich folgende Quick-And-Dirty-Lösung vorstellen mit der man sich mal eben virtuelle Kontakte erstellen kann. Vorweg muß

Mehr

Tutorial. Bibliothek AutoGUITest V1.0. Windows-Benutzeroberflächen automatisiert testen. Ausgabe: 6.6.02. 06.06.02 / 13:51 Seite 1

Tutorial. Bibliothek AutoGUITest V1.0. Windows-Benutzeroberflächen automatisiert testen. Ausgabe: 6.6.02. 06.06.02 / 13:51 Seite 1 Bibliothek AutoGUITest V1.0 Windows-Benutzeroberflächen automatisiert testen Tutorial Ausgabe: 6.6.02 06.06.02 / 13:51 Seite 1 Inhalt 1 Übersicht...3 2 Funktionsweise...3 3 Funktionsumfang...3 4 Einsatz

Mehr

Erweiterung AE WWS Lite Win: AES Security Verschlüsselung

Erweiterung AE WWS Lite Win: AES Security Verschlüsselung Erweiterung AE WWS Lite Win: AES Security Verschlüsselung Handbuch und Dokumentation Beschreibung ab Vers. 1.13.5 Am Güterbahnhof 15 D-31303 Burgdorf Tel: +49 5136 802421 Fax: +49 5136 9776368 Seite 1

Mehr

Lokales Netzwerk Wie kann ich lokal installierte Drucker im Netzwerk für andere Nutzer freigeben? Frage:

Lokales Netzwerk Wie kann ich lokal installierte Drucker im Netzwerk für andere Nutzer freigeben? Frage: Wie kann ich lokal installierte Drucker im Netzwerk für andere Nutzer freigeben? Frage: Ich möchte, dass ein Drucker von verschiedenen Rechnern aus genutzt werden kann. Wie kann ich eine Druckerfreigabe

Mehr

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 13 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:

Mehr

I N S T A L L A T I O N S A N L E I T U N G

I N S T A L L A T I O N S A N L E I T U N G I N S T A L L A T I O N S A N L E I T U N G A O D B E D I E N U N G S A N L E I T U N G Diese Anleitung wird Ihnen Schritt für Schritt bei der Instalation vom Print Manager und beim Ausdruck Ihres ersten

Mehr

ejgp Webseite Kurzeinführung

ejgp Webseite Kurzeinführung ejgp Webseite Kurzeinführung Inhaltsverzeichnis 1.Einloggen...2 2.Beitrag bearbeiten...2 3.Beitrag hinzufügen...3 4.Bild hoch laden und einfügen...3 5.Link in Text einfügen...4 6.Bilder für die Galerie

Mehr

EMC SourceOne TM für Microsoft SharePoint 7.1 Archivsuche Kurzreferenz

EMC SourceOne TM für Microsoft SharePoint 7.1 Archivsuche Kurzreferenz EMC SourceOne TM für Microsoft SharePoint 7.1 Archivsuche Kurzreferenz Verwenden Sie die Archivsuche zur Suche nach und Wiederherstellung von SharePoint-Inhalten, die in EMC SourceOne archiviert wurden.

Mehr

Übung zur Vorlesung Programmieren in C

Übung zur Vorlesung Programmieren in C Übung zur Vorlesung Programmieren in C 6 Pointers Marvin Gülker Ruhruniversität Bochum Wintersemester 2015/2016 Marvin Gülker (Ruhruniversität Bochum) 6 Pointers Wintersemester 2015/2016 1 / 29 Gliederung

Mehr

Import und Export von Übergängern

Import und Export von Übergängern Import und Export von Übergängern SibankPLUS bietet Ihnen eine komfortable Schnittstelle, um den Wechsel der Schüler nach der Stufe 4 von der Grundschule auf eine weiterführende Schule zu verarbeiten.

Mehr

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 5 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:

Mehr

Anleitung zur Installation von PGP auf MacOSx

Anleitung zur Installation von PGP auf MacOSx Anleitung zur Installation von PGP auf MacOSx Download und Installation 1. Beginnen wir mit dem Download des Tools GPG Suite auf der Website: https://gpgtools.org/ 2. Die.dmg-Datei anschließend entpacken

Mehr

<script type="text/javascript"> <! <%= page(page.searchsuggestionsscript) %> // > </script>

<script type=text/javascript> <! <%= page(page.searchsuggestionsscript) %> // > </script> 1. Intelligente AutoComplete Funktion für die Volltextsuche 1.1. JQuery einbinden Falls Sie in Ihrem Shop bereits JQuery verwenden, so überprüfen Sie bitte, ob Sie alle notwendigen Dateien eingebunden

Mehr

Übung 9 - Lösungsvorschlag

Übung 9 - Lösungsvorschlag Universität Innsbruck - Institut für Informatik Datenbanken und Informationssysteme Prof. Günther Specht, Eva Zangerle Besprechung: 15.12.2008 Einführung in die Informatik Übung 9 - Lösungsvorschlag Aufgabe

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

Objektbasierte Entwicklung

Objektbasierte Entwicklung Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit

Mehr

WORKFLOW DESIGNDOKUMENT

WORKFLOW DESIGNDOKUMENT Architectural Design WORKFLOW DESIGNDOKUMENT Softwareentwicklung Praktikum, Übungsbeispiel 2 Gruppe 86 Andreas Hechenblaickner [0430217] Daniela Kejzar [0310129] Andreas Maller [0431289] Gruppe 86 Seite

Mehr

Informatik Grundlagen, WS04, Seminar 13

Informatik Grundlagen, WS04, Seminar 13 Informatik Grundlagen, WS04, Seminar 13 Informatik Informatik Grundlagen, Seminar 13 WS04 1 Was wir heute besprechen Nachbesprechen von Übungsblatt 11 Rekursion Grundprinzipien Übung Besprechung Übungsblatt

Mehr

Einrichten einer mehrsprachigen Webseite mit Joomla (3.3.6)

Einrichten einer mehrsprachigen Webseite mit Joomla (3.3.6) Einrichten einer mehrsprachigen Webseite mit Joomla (3.3.6) 1. Loggen Sie sich im Administratorbereich ein und gehen Sie auf Extension > Extension Manager 2. Wählen Sie Install languages 3. Klicken Sie

Mehr

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet C++ Grundlagen ++ bedeutet Erweiterung zum Ansi C Standard Hier wird eine Funktion eingeleitet Aufbau: In dieser Datei stehen die Befehle, die gestartet werden, wenn das Programm gestartet wird Int main()

Mehr

Übersicht Programmablaufsteuerung

Übersicht Programmablaufsteuerung Übersicht Programmablaufsteuerung Konditionale Verzweigung: if - else switch-anweisung Schleifenkonstrukte: while, do - while for Schleife Sprung-Anweisungen: break, continue, goto, return Anweisungen

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens SS2013 Inhalt Projekt Vorlesung: praktische Implementierung üben Ein und

Mehr

Mediator 9 - Lernprogramm

Mediator 9 - Lernprogramm Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop

Mehr