Beispiel 3. Shared Memory und Explizite Synchronisation. Daniel Prokesch. 27. April Überblick. Shared Memory. Semaphore. Ressourcenverwaltung

Größe: px
Ab Seite anzeigen:

Download "Beispiel 3. Shared Memory und Explizite Synchronisation. Daniel Prokesch. 27. April 2015. Überblick. Shared Memory. Semaphore. Ressourcenverwaltung"

Transkript

1 3 e 3 und Explizite Synchronisation Daniel Prokesch Institut für Technische Informatik Technische Universität Wien 27. April

2 2 3 e Bisher betrachtet... Implizite Synchronisation Blockierende Lese- und Schreiboperationen Nicht-verwandte Prozesse mittels Sockets Verwandte Prozesse mittels Unnamed Pipes Heute... Datenaustasch über gemeinsamen Speicher Explizite Synchronisation von mehreren Prozessen

3 3 e Gemeinsamer Speicher: mehrere (verwandte sowie nicht-verwandte) Prozesse können auf selbe Region physikalischen Speichers zugreifen Gemeinsamer Speicher liegt im Adressraum der Prozesse, die den Speicher nutzen wollen Wird mit normalen Speicherzugriffsoperationen ausgelesen und verändert Schnelle Interprozesskommunikation: keine Intervention des Betriebssystemkernels 1 Explizite Synchronisation notwendig (gleichzeitiger Zugriff) 1 zero-copy, siehe 3

4 4 3 e Erinnerung: mmap(2) Mapped eine Datei (file descriptor) in den Adressraum des Programms Mehrere Prozesse können auf den zugrunde liegenden Speicher zugreifen Gemeinsamer Speicher basierend auf gemeinsamer Ressource (einer Datei) shared file mapping

5 3 e Mapping erzeugen Erzeugen eines : mmap(2) #include <sys/mman.h> void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset); addr Vorschlag für Startadresse, sollte NULL sein length Größe des in Bytes, oft Dateigröße (siehe fstat(2)) prot Bitmaske für Speicherschutz: PROT_NONE (kein Zugriff erlaubt), PROT_READ, PROT_WRITE flags Bitmaske, z.b. MAP_SHARED, MAP_ANONYMOUS fd Der zu mappende File Descriptor offset Offset im File (Vielfaches der Page-Größe), 0 Rückgabewert: Startadresse des (an Seitengrenze ausgerichtet), MAP_FAILED im Fehlerfall ( errno) 5

6 3 im virtuellen Adressraum e in unterschiedlichen Prozessen an verschiedenen Adressen erzeugt Vorsicht beim Speichern von Zeigern! (z.b. Verkettete Listen,... ) 6

7 7 3 Mapping Hinweise e Granularität sind Speicherseiten des Adressraums Nach Erzeugen des kann der File Descriptor geschlossen werden sind in Linux unter /proc/pid/maps gelistet Nachteil von File für gemeinsamen Speicher: Persistent Kosten für Disk I/O Für verwandte Prozesse: Gemeinsame, anonyme (MAP_SHARED MAP_ANONYMOUS) Keine zugrunde liegende Datei Mapping vor fork() erzeugt: für Kindprozess(e) im selben Adressbereich verfügbar

8 3 Mapping entfernen e Entfernen eines : munmap() #include <sys/mman.h> int munmap(void *addr, size_t length); Entfernt ganze Speicherseiten aus angegebenen Bereich, Startadresse muss page-aligned sein Rückgabewert: 0 bei Erfolg, sonst -1 ( errno) 8

9 9 3 Mapping e... char *addr = mmap(null, length, PROT_READ PROT_WRITE, MAP_SHARED, fd, 0); if (addr == MAP_FAILED) error_exit("mmap"); if (close(fd) == -1) error_exit("close"); /* Code for working with mapped region */... if (munmap(addr, length) == -1) error_exit("munmap");

10 3 e Ermöglicht gemeinsamen Speicher zwischen nicht-verwandten Prozessen, ohne Datei auf Festplatte zu erzeugen memory objects über Namen identifizierbar Auf dediziertem Filesystem für flüchtigen Speicher erzeugt: tmpfs Wird wie gewöhnliches File ge-mmap-ed Vorteil: Es verhält sich wie ein richtiges Filesystem (z.b. swapping, Zugriffsrechte) Lebensdauer auf Systemlaufzeit beschränkt Teil der.1b realtime extensions Linken mit -lrt man 7 shm_overview 10

11 3 e API Öffnen/Erzeugen Erzeugen und Öffnen eines neuen Objekts oder Öffnen eines existierenden Objekts: shm_open(3) #include <sys/mman.h> #include <fcntl.h> /* For O_* constants */ int shm_open(const char *name, int oflag, mode_t mode); name Name der Form "/somename" oflag Bitmaske: O_RDONLY oder O_RDWR und eventuell... O_CREAT: legt Objekt an falls es nicht existiert zusätzlich O_EXCL: Fehler falls schon existiert mode Zugriffsrechte beim Erzeugen, sonst 0 Rückgabewert: File descriptor bei Erfolg, -1 im Fehlerfall ( errno) Linux: Objekt unter /dev/shm/somename erzeugt 11

12 12 3 e API Größe festlegen Der erzeugende Prozess legt üblicherweise die Größe (in Bytes) anhand des File Descriptors fest: ftruncate(2) #include <unistd.h> #include <sys/types.h> int ftruncate(int fd, off_t length); Rückgabewert: 0 bei Erfolg, -1 im Fehlerfall ( errno) Danach kann über den File Descriptor ein gemeinsames Mapping erzeugt (mmap(2)) und der File Descriptor geschlossen (close(2)) werden

13 3 e API Entfernen Einen Objektnamen entfernen: shm_unlink(3) int shm_unlink(const char *name); Name, der beim Erzeugen angegeben wurde Rückgabewert: 0 bei Erfolg, -1 im Fehlerfall ( errno) Darauffolgende shm_open() mit diesem Namen schlagen fehl (oder erzeugen neues Objekt) Der Speicher wird freigegeben, sobald der letzte Prozess das Mapping mit munmap() entfernt hat Übliche Befehle (ls, rm) zum Auflisten und Aufräumen in /dev/shm/ (z.b. bei Programmabsturz) 13

14 14 3 e #include <fcntl.h> #include <stdio.h> #include <sys/mman.h> #include <sys/types.h> #include <unistd.h> #define SHM_NAME "/myshm" #define MAX_DATA (50) #define PERMISSION (0600) struct myshm { unsigned int state; unsigned int data[max_data]; };

15 3 e int main(int argc, char **argv) { struct myshm *shared; /* create and/or open shared memory object */ int shmfd = shm_open(shm_name, O_RDWR O_CREAT, PERMISSION); if (shmfd == -1)... /* error */ /* extend (set size) */ if (ftrunctate(shmfd, sizeof *shared) == -1)... /* error */ /* map shared memory object */ shared = mmap(null, sizeof *shared, PROT_READ PROT_WRITE, MAP_SHARED, shmfd, 0); if (shared == MAP_FAILED)... /* error */ if (close(shmfd)) == -1)... /* error */ 15

16 3 e /* critical section entry... */ shared->data[0] = 23; printf("%d\n", shared->data[0]); /* critical section exit... */ /* unmap shared memory */ if (munmap(shared, sizeof *shared) == -1)... /* error */ /* remove shared memory object */ if (shm_unlink(shm_name) == -1)... /* error */ return 0; } /* end of main */ 16

17 17 3 e Synchronisation Sicherstellung von Einschränkungen nebenläufiger Prozesse In welcher Reihenfolge wird ein kritischer Abschnitt betreten: A vor B? B vor A? (Bedingungssynchronisation) Sicherstellen, dass nur genau ein Prozess auf verteilte Ressource zugreift (Wechselseitiger Ausschluss, mutual exclusion). Nicht notwendigerweise fair/abwechselnd.

18 3 e (1) e Thread A: a1: print "yes" Thread B: b1: print "no" Keine deterministische Abfolge von yes und no. Abhängig z.b. vom Scheduler. Mehrere Aufrufe produzieren möglicherweise Unterschiedliche Ausgaben. Weitere Ausgaben möglich? 18

19 19 3 e (2) e Thread A: a1: x = 5 a2: print x Thread B: b1: x = 7 Pfad zu Ausgabe 5 und am Ende x = 5? Pfad zu Ausgabe 7 und am Ende x = 7? Pfad zu Ausgabe 5 und am Ende x = 7? Pfad zu Ausgabe 7 und am Ende x = 5?

20 3 e (3) e Thread A: Thread B: a1: x = x + 1 b1: x = x + 1 Annahme: x ist mit 1 initialisiert. Mögliche Werte für x nach der Ausführung? Ist x++ atomic (atomar)? 20

21 21 3 e Grundidee Gemeinsame Variable zur Synchronisation 3 grundlegende Operationen: S = Init(N) Semaphor S mit Wert N erzeugen P(S), Wait(S), Down(S) S dekrementieren und blockieren wenn S negativ wird V(S), Post(S), Signal(S), Up(S) S inkrementieren und eventuell wartenden Prozess aufwecken

22 22 3 e - Serialisierung Thread A: statement a1 Thread B: statement b1 e Wie garantiert man a1 < b1 (a1 vor b1)?

23 3 e - Serialisierung e Initialisierung: S = Init(0) Thread A: statement a1 V(S) Thread B: P(S) statement b1 23

24 24 3 e - Mutex Thread A: x = x + 1 Thread B: x = x + 1 e Wie garantiert man, dass nur ein Thread in den kritischen Abschnitt eintritt?

25 3 e - Mutex e Initialisierung: mutex = Init(1) Thread A: P(mutex) x = x + 1 V(mutex) Thread B: P(mutex) x = x + 1 V(mutex) Kritischer Abschnitt erscheint atomar 25

26 3 e - Abwechselndes Arbeiten Thread A: for(;;) { x = x + 1 } Thread B: for(;;) { x = x + 1 } e Wie erreicht man, dass A und B abwechselnd arbeiten? 26

27 27 3 e e - Abwechselndes Arbeiten Initialisierung: S1 = Init(1) S2 = Init(0) Thread A: for(;;) { P(S1) x = x + 1 V(S2) } Thread B: for(;;) { P(S2) x = x + 1 V(S1) } 2 notwendig! Wie sieht die Synchronisation aus, wenn sich 3 Threads abwechseln sollen? N Threads?

28 3 e Synchronisation von Prozessen Nicht-verwandte Prozesse: Named s (Verwandte Prozesse oder Threads innerhalb eines Prozesses: Unnamed s) Ähnlich wie... Über Namen identifizierbar Auf dediziertem Filesystem für flüchtigen Speicher erzeugt: tmpfs Lebensdauer auf Systemlaufzeit beschränkt Teil der.1b realtime extensions Linken mit -pthread man 7 sem_overview Linux: Objekt unter /dev/shm/sem.somename erzeugt 28

29 3 e API Öffnen/Erzeugen Erzeugen und Öffnen eines neuen Semaphors oder Öffnen eines existierenden Semaphors: sem_open(3) #include <semaphore.h> #include <fcntl.h> /* For O_* constants */ /* create a new named semaphore */ sem_t *sem_open(const char *name, int oflag, mode_t mode, unsigned int value); /* open an existing named semaphore */ sem_t *sem_open(const char *name, int oflag); name Name der Form "/somename" oflag Bitmaske: O_CREAT, O_EXCL mode Zugriffsrechte (nur beim Erzeugen) value Initialwert (nur beim Erzeugen) Rückgabewert: Semaphoradresse bei Erfolg, im Fehlerfall SEM_FAILED ( errno) 29

30 3 e API Schließen/Entfernen Schließen eines Semaphors: sem_close(3) int sem_close(sem_t *sem); Entfernen eines Semaphors: sem_unlink(3) int sem_unlink(const char *name); Wird freigegeben, sobald ihn alle Prozesse geschlossen haben. Rückgabewert: 0 bei Erfolg, -1 im Fehlerfall ( errno) 30

31 3 e API Warten, P() Dekrementieren eines Semaphors: sem_wait(3) int sem_wait(sem_t *sem); Bei Semaphorwert > 0 kehrt die Funktion sofort zurück Sonst blockiert die Funktion bis der Wert positiv wird Rückgabewert: 0 bei Erfolg, -1 im Fehlerfall ( errno) und der Wert des Semaphors wird nicht verändert Wichtig Funktion sem_wait() kann durch ein Signal unterbrochen werden (errno == EINTR)! siehe Signalbehandlung 31

32 3 e API Signalisieren, V() Inkrementieren eines Semaphors: sem_post(3) int sem_post(sem_t *sem); Wenn Semaphorwert positiv wird, wird ein blockierter Prozess fortgesetzt Falls mehrere Prozesse warten: Reihenfolge ist unbestimmt (= weak semaphore) Rückgabewert: 0 bei Erfolg, -1 im Fehlerfall ( errno) und der Wert des Semaphors wird nicht verändert 32

33 3 e Prozess A (Code ohne Error-Handling) #include <stdio.h> #include <unistd.h> #include <semaphore.h> #include <fcntl.h> #define SEM_1 #define SEM_2 "/sem_1" "/sem_2" int main(int argc, char **argv) { sem_t *s1 = sem_open(sem_1, O_CREAT O_EXCL, 0600, 1); sem_t *s2 = sem_open(sem_2, O_CREAT O_EXCL, 0600, 0); for(int i = 0; i < 3; ++i) { sem_wait(s1); printf("critical: %s: i = %d\n", argv[0], i); sleep(1); sem_post(s2); } sem_close(s1); sem_close(s2); } return 0; 33

34 3 e Prozess B (Code ohne Error-Handling) #include <stdio.h> #include <unistd.h> #include <semaphore.h> #include <fcntl.h> #define SEM_1 #define SEM_2 "/sem_1" "/sem_2" int main(int argc, char **argv) { sem_t *s1 = sem_open(sem_1, 0); sem_t *s2 = sem_open(sem_2, 0); } for(int i = 0; i < 3; ++i) { sem_wait(s2); printf("critical: %s: i = %d\n", argv[0], i); sleep(1); sem_post(s1); } sem_close(s1); sem_close(s2); sem_unlink(sem_1); sem_unlink(sem_2); return 0; 34

35 3 e Unterbrechung durch Signale volatile sig_atomic_t want_quit = 0; int main(void) { sem_t *sem; // signal handler setup (no transparent restart), // semaphore setup... while (!want_quit) { if (sem_wait(sem) == -1) { // interrupted by system call? if (errno == EINTR) continue; error_exit(); }... if (sem_post(sem) == -1) error_exit(); } }... 35

36 3 e Wer legt Ressourcen an? Aufrufreihenfolge der Prozesse: fixe Reihenfolge (z.b.: Client-Server Systeme) beliebig Wer löscht Ressourcen? Fehlerfreier Programmverlauf Fehlerfall Unsynchronisiertes Aufräumen: Fehlerhafter Prozess löscht Ressourcen Synchronisiertes Aufräumen: Eigener Kommunikationskanal nötig (aufwändig) 36

37 3 e Ressourcenallokation... bei beliebiger Aufrufreihenfolge Anlegen, falls noch nicht existiert O_CREAT Flag ohne O_EXCL Flag z.b. : shmfd = shm_open(shm_name, O_CREAT O_RDWR, PERM); if (shmfd == -1)... /* error */ 37

38 3 e Ressourcenfreigabe... bei fixer Zugriffsabfolge Beim Löschen soll die Synchronisation zwischen den Prozessen sicherstellen, dass kein anderer Prozess als der Löschende mehr auf gemeinsame Ressourcen zugreift! Freigabe der selbst angelegten Ressourcen Freigabe insb. Kernel-persistenter Ressourcen bei normaler Prozessbeendigung (auch im Fehlerfall) Hilfreich: atexit(3) Registriert eine Funktion, die bei normaler Prozessbeendigung aufgerufen wird Mehrere Funktionen: in umgekehrter Reihenfolge der Registrierung Nicht bei _exit() 38

39 3 e Ressourcenfreigabe static int shmfd = -1; void allocate_resources(void) { shmfd = shm_open(shm_name, O_CREAT...);... } void free_resources(void) {... if (shmfd!= -1) { if (shm_unlink(shm_name) == -1) /* print error message, DON T CALL EXIT */; } } void main(void) { if (atexit(free_resources)!= 0) /* error */ } allocate_resources();... 39

40 3 e als schnelle Methode der IPC Explizite Synchronisation mit n Strategien zur Ressourcenallokation und -freigabe 40

41 41 3 Material e Linux Implementierung von /tmpfs: Richard W. Stevens, UNIX Network Programming, Vol. 2: Interprocess Communications

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

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

Softwarelösungen: Versuch 4

Softwarelösungen: Versuch 4 Softwarelösungen: Versuch 4 Nichtstun in Schleife wird ersetzt durch zeitweilige Zurücknahme der Anforderung, um es anderen Prozessen zu erlauben, die Ressource zu belegen: /* Prozess 0 */ wiederhole flag[0]

Mehr

Tafelübung zu BS 5. Dateioperationen

Tafelübung zu BS 5. Dateioperationen Tafelübung zu BS 5. Dateioperationen Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/ http://ess.cs.tu-dortmund.de/de/teaching/ss2014/bs/

Mehr

Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen

Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen Seite 8 A UFGABE 11 INTERP ROZEßKOMMUNIKATION Das folgende Petrinetz zeigt zwei verkoppelte Prozesse P1 und P2. Die Transitionen a und b beschreiben Aktionen von P1, die Transitionen c und d Aktionen von

Mehr

Assignment #2. Virtueller Speicher Virtual Memory WS 2012/2013 IAIK 1

Assignment #2. Virtueller Speicher Virtual Memory WS 2012/2013 IAIK 1 Assignment #2 Virtueller Speicher Virtual Memory WS 2012/2013 IAIK 1 Organisatorisches:Termine Ab Montag Tutorien 10.12.-14.12. Designdiskussionen 18.12. Abgabe Designdokument 18.1. Abgabe Implementierung

Mehr

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! VO 182.711 Prüfung Betriebssysteme 8. November 2013 KNr. MNr. Zuname, Vorname Ges.)(100) 1.)(35) 2.)(20) 3.)(45) Zusatzblätter: Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! 1 Synchronisation

Mehr

Einführung in die Programmiersprache C

Einführung in die Programmiersprache C Einführung in die Programmiersprache C 9 I/O (2) Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät UNIX I/O UNIX I/O: ähnlich wie Standard-I/O, jedoch File-Deskriptoren

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

Monitore. Klicken bearbeiten

Monitore. Klicken bearbeiten Sascha Kretzschmann Institut für Informatik Monitore Formatvorlage und deren Umsetzung des Untertitelmasters durch Klicken bearbeiten Inhalt 1. Monitore und Concurrent Pascal 1.1 Warum Monitore? 1.2 Monitordefinition

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

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

Prof. Dr. Uwe Schmidt. 21. August 2007. Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)

Prof. Dr. Uwe Schmidt. 21. August 2007. Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252) Prof. Dr. Uwe Schmidt 21. August 2007 Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252) Zeit: 75 Minuten erlaubte Hilfsmittel: keine Bitte tragen Sie Ihre Antworten und fertigen

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

Grundlagen von Python

Grundlagen von Python Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren

Mehr

Linux Prinzipien und Programmierung

Linux Prinzipien und Programmierung Linux Prinzipien und Programmierung Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2014 1 / 28 Kritische Bereiche bei Threads Deadlocks Conditions/Semaphore 2 / 28 Beispiel aus der letzten Vorlesung

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

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

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

2. Hintergrundverarbeitung in Android: Services und Notifications

2. Hintergrundverarbeitung in Android: Services und Notifications 2. Hintergrundverarbeitung in Android: Services und Notifications Übersicht 2. Hintergrundverarbeitung in Android: Services und Notifications Übersicht: In Mobis 1: Threads; hier genauerer Blick auf Services

Mehr

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) 1 Einleitung... 2 2 Download und Installation... 3 2.1 Installation von WindowsXPMode_de-de.exe... 4 2.2 Installation von Windows6.1-KB958559-x64.msu...

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

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

Robotersteuerung. VL Mikrorechentechnik 2. SS 2013 Professur für Prozessleittechnik

Robotersteuerung. VL Mikrorechentechnik 2. SS 2013 Professur für Prozessleittechnik Robotersteuerung VL Mikrorechentechnik 2 SS 2013 Professur für Prozessleittechnik Übersicht Design eines endlichen Zustandsautomaten für die Steuerung eines Roboters C++ Konzepte: shared memory boost::interprocess

Mehr

Homogene Multi-Core-Prozessor-Architekturen

Homogene Multi-Core-Prozessor-Architekturen Homogene Multi-Core-Prozessor-Architekturen Praktikum Parallele Rechnerarchitekturen Stefan Potyra Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2009

Mehr

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) 6. Übung http://ess.cs.tu-.de/de/teaching/ws2013/bsb/ Olaf Spinczyk olaf.spinczyk@tu-.de http://ess.cs.tu-.de/~os AG Eingebettete System Informatik 12, TU Dortmund Agenda Vorstellung

Mehr

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Tutorial: Wie erfasse ich einen Termin? In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Neben den allgemeinen Angaben zu einem

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22 Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften

Mehr

Synchronisation in Java. Invisible Web

Synchronisation in Java. Invisible Web Synchronisation in Java Studienprojekt Invisible Web Tang Zhihong Synchronisation in Java Synchronisationsproblem Monitore Wait und notify PipedInputStream und PipedOutputStream Synchronisation von Collections

Mehr

Verteilte Systeme CS5001

Verteilte Systeme CS5001 Verteilte Systeme CS5001 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Client-Server-Anwendungen: Vom passiven (shared state) Monitor zum aktiven Monitor Monitor (Hoare, Brinch-Hansen,

Mehr

Outlook - CommuniGate Pro Schnittstelle installieren. Outlook - Elemente freigeben. Outlook - Freigegebene Elemente öffnen

Outlook - CommuniGate Pro Schnittstelle installieren. Outlook - Elemente freigeben. Outlook - Freigegebene Elemente öffnen Microsoft Outlook 1 Nutzung der Groupware mit Microsoft Outlook 1.1 Outlook - CommuniGate Pro Schnittstelle installieren 4 1.2 Outlook - Elemente freigeben 11 1.3 Outlook - Freigegebene Elemente öffnen

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

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

KURZANLEITUNG CLOUD OBJECT STORAGE

KURZANLEITUNG CLOUD OBJECT STORAGE KURZANLEITUNG CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung... Seite 03 2. Anmelden am Cloud&Heat Dashboard... Seite 04 3. Anlegen eines Containers... Seite 05

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

Second Steps in eport 2.0 So ordern Sie Credits und Berichte

Second Steps in eport 2.0 So ordern Sie Credits und Berichte Second Steps in eport 2.0 So ordern Sie Credits und Berichte Schritt 1: Credits kaufen, um Zugangscodes generieren zu können Wählen Sie Credits verwalten und klicken Sie auf Credits kaufen. Geben Sie nun

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

Java Kurs für Anfänger Einheit 5 Methoden Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden

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

Benutzerverwaltung Business- & Company-Paket

Benutzerverwaltung Business- & Company-Paket Benutzerverwaltung Business- & Company-Paket Gemeinsames Arbeiten mit der easyfeedback Umfragesoftware. Inhaltsübersicht Freischaltung des Business- oder Company-Paketes... 3 Benutzerverwaltung Business-Paket...

Mehr

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!. 040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl

Mehr

Große Übung Praktische Informatik 1

Große Übung Praktische Informatik 1 Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,

Mehr

leave: mov flag, 0 ; 0 in flag speichern: Lock freigeben ret

leave: mov flag, 0 ; 0 in flag speichern: Lock freigeben ret 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

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen

Mehr

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung: Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Wie kann ein PDF File angezeigt werden? kann mit Acrobat-Viewern angezeigt werden auf jeder Plattform!! (Unix,

Mehr

iphone-kontakte zu Exchange übertragen

iphone-kontakte zu Exchange übertragen iphone-kontakte zu Exchange übertragen Übertragen von iphone-kontakten in ein Exchange Postfach Zunächst muss das iphone an den Rechner, an dem es üblicherweise synchronisiert wird, angeschlossen werden.

Mehr

Virtual Private Network

Virtual Private Network Virtual Private Network Allgemeines zu VPN-Verbindungen WLAN und VPN-TUNNEL Der VPN-Tunnel ist ein Programm, das eine sichere Verbindung zur Universität herstellt. Dabei übernimmt der eigene Rechner eine

Mehr

KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE

KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung...Seite 03 2. Zugriff auf Cloud Object Storage mit Cyberduck...Seite 04 3. Neuen Container

Mehr

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr

RAID Software. 1. Beginn

RAID Software. 1. Beginn 1. Beginn RAID Software Die RAID Software ist ein auf Windows basierendes Programm mit einer grafischen Benutzerschnittstelle und bietet Ihnen ein leicht zu bedienendes Werkzeug zum Konfigurieren und Verwalten

Mehr

Dokumentenverwaltung. Copyright 2012 cobra computer s brainware GmbH

Dokumentenverwaltung. Copyright 2012 cobra computer s brainware GmbH Dokumentenverwaltung Copyright 2012 cobra computer s brainware GmbH cobra Adress PLUS ist eingetragenes Warenzeichen der cobra computer s brainware GmbH. Andere Begriffe können Warenzeichen oder anderweitig

Mehr

Über die Internetseite www.cadwork.de Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Über die Internetseite www.cadwork.de Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt. Internet, Codes und Update ab Version 13 Um Ihnen einen möglichst schnellen Zugang zu den aktuellsten Programmversionen zu ermöglichen liegen Update-Dateien für Sie im Internet bereit. Es gibt drei Möglichkeiten

Mehr

Tutorial: Wie kann ich Dokumente verwalten?

Tutorial: Wie kann ich Dokumente verwalten? Tutorial: Wie kann ich Dokumente verwalten? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory Dokumente verwalten können. Dafür steht Ihnen in myfactory eine Dokumenten-Verwaltung zur Verfügung.

Mehr

Tipps und Tricks zu Netop Vision und Vision Pro

Tipps und Tricks zu Netop Vision und Vision Pro Tipps und Tricks zu Netop Vision und Vision Pro Anwendungen auf Schülercomputer freigeben und starten Netop Vision ermöglicht Ihnen, Anwendungen und Dateien auf allen Schülercomputern gleichzeitig zu starten.

Mehr

Eine Anwendung mit InstantRails 1.7

Eine Anwendung mit InstantRails 1.7 Eine Anwung mit InstantRails 1.7 Beschrieben wird das Anlegen einer einfachen Rails-Anwung, die ohne Datenbank auskommt. Schwerpunktmäßig wird auf den Zusammenhang von Controllern, Views und der zugehörigen

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

E-Mail Adressen der BA Leipzig

E-Mail Adressen der BA Leipzig E-Mail Adressen der BA Jeder Student der BA bekommt mit Beginn des Studiums eine E-Mail Adresse zugeteilt. Diese wird zur internen Kommunikation im Kurs, von der Akademie und deren Dozenten zur Verteilung

Mehr

Benutzerverwaltung mit Zugriffsrechteverwaltung (optional)

Benutzerverwaltung mit Zugriffsrechteverwaltung (optional) Benutzerverwaltung mit Zugriffsrechteverwaltung (optional) Mit der Zugriffsrechteverwaltung können Sie einzelnen Personen Zugriffsrechte auf einzelne Bereiche und Verzeichnisse Ihrer Internetpräsenz gewähren.

Mehr

IntelliRestore Seedload und Notfallwiederherstellung

IntelliRestore Seedload und Notfallwiederherstellung IntelliRestore Datensicherung IntelliRestore Seedload und Notfallwiederherstellung Daten. Sichern. Online Vorwort Auch größere Datenmengen lassen sich für gewöhnlich schnell über den IntelliRestore SoftwareClient

Mehr

CA Übung 30.01.2006. Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder

CA Übung 30.01.2006. Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder CA Übung 30.01.2006 Hallo zusammen! Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder Adrian Schüpbach: scadrian@student.ethz.ch Christian Fischlin: cfischli@student.ethz.ch

Mehr

Speichern. Speichern unter

Speichern. Speichern unter Speichern Speichern unter Speichern Auf einem PC wird ständig gespeichert. Von der Festplatte in den Arbeitspeicher und zurück Beim Download Beim Kopieren Beim Aufruf eines Programms Beim Löschen Beim

Mehr

Bedienungsanleitung. Stand: 26.05.2011. Copyright 2011 by GEVITAS GmbH www.gevitas.de

Bedienungsanleitung. Stand: 26.05.2011. Copyright 2011 by GEVITAS GmbH www.gevitas.de GEVITAS-Sync Bedienungsanleitung Stand: 26.05.2011 Copyright 2011 by GEVITAS GmbH www.gevitas.de Inhalt 1. Einleitung... 3 1.1. Installation... 3 1.2. Zugriffsrechte... 3 1.3. Starten... 4 1.4. Die Menü-Leiste...

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Inkrementelles Backup

Inkrementelles Backup Inkrementelles Backup Im Gegensatz zu einer kompletten Sicherung aller Daten werden bei einer inkrementellen Sicherung immer nur die Dateien gesichert, die seit der letzten inkrementellen Sicherung neu

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

Dienstspezifikation nach RFC 2396 193

Dienstspezifikation nach RFC 2396 193 Dienstspezifikation nach RFC 2396 193 Für die Kombination aus Rechnernamen (oder alternativ einer IP-Adresse) und einer Portnummer gibt es mit RFC 2396 einen Standard: hostport host [ : port ] host hostname

Mehr

Dokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser

Dokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser Dokumentation Black- und Whitelists Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser Inhalt INHALT 1 Kategorie Black- und Whitelists... 2 1.1 Was sind Black- und Whitelists?...

Mehr

Outlook 2000 Thema - Archivierung

Outlook 2000 Thema - Archivierung interne Schulungsunterlagen Outlook 2000 Thema - Inhaltsverzeichnis 1. Allgemein... 3 2. Grundeinstellungen für die Auto in Outlook... 3 3. Auto für die Postfach-Ordner einstellen... 4 4. Manuelles Archivieren

Mehr

... ... Sicherheitseinstellungen... 2 Pop-up-Fenster erlauben... 3

... ... Sicherheitseinstellungen... 2 Pop-up-Fenster erlauben... 3 Browsereinstellungen Um die Know How! Lernprogramm nutzen zu können, sind bei Bedarf unterschiedliche Einstellungen in Ihren Browsern nötig. Im Folgenden finden Sie die Beschreibung für unterschiedliche

Mehr

Inhalt. meliarts. 1. Allgemeine Informationen... 2 2. Administration... 2 2.1 Aufruf... 2 2.2 Das Kontextmenü... 3 3. E-Mail Vorlagen...

Inhalt. meliarts. 1. Allgemeine Informationen... 2 2. Administration... 2 2.1 Aufruf... 2 2.2 Das Kontextmenü... 3 3. E-Mail Vorlagen... Inhalt 1. Allgemeine Informationen... 2 2. Administration... 2 2.1 Aufruf... 2 2.2 Das Kontextmenü... 3 3. E-Mail Vorlagen... 4 Seite 1 von 7 meliarts 1. Allgemeine Informationen meliarts ist eine Implementierung

Mehr

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen Um die maximale Sicherheit für das Betriebssystem und Ihre persönlichen Daten zu gewährleisten, können Sie Programme von Drittherstellern

Mehr

Anleitung Typo3-Extension - Raumbuchungssystem

Anleitung Typo3-Extension - Raumbuchungssystem Anleitung Typo3-Extension - Raumbuchungssystem t3m_calendar v 1.1 Stand 15.12.2011 Mehr Datails siehe: http://www.typo3-macher.de/typo3-ext-raumbuchungssystem.html 1 INHALT 1. Bedienungsanleitung der Anwendung...

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

Workshop: Eigenes Image ohne VMware-Programme erstellen

Workshop: Eigenes Image ohne VMware-Programme erstellen Workshop: Eigenes Image ohne VMware-Programme erstellen Normalerweise sind zum Erstellen neuer, kompatibler Images VMware-Programme wie die Workstation, der ESX-Server oder VMware ACE notwendig. Die Community

Mehr

Applet Firewall und Freigabe der Objekte

Applet Firewall und Freigabe der Objekte Hauptseminar Applet Firewall und Freigabe der Objekte Nachweis von Sicherheitseigenschaften für JavaCard Jin Zhou Ein Überblick über diesen Vortrag Applet Firewall Kontext JCRE Entry Point Objekt Shareable

Mehr

Leitfaden zur Installation von Bitbyters.WinShutdown

Leitfaden zur Installation von Bitbyters.WinShutdown Leitfaden zur Installation von Bitbyters.WinShutdown für Windows 32 Bit 98/NT/2000/XP/2003/2008 Der BitByters.WinShutDown ist ein Tool mit dem Sie Programme beim Herunterfahren Ihres Systems ausführen

Mehr

Software Engineering Interaktionsdiagramme

Software Engineering Interaktionsdiagramme Software Engineering Interaktionsdiagramme Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Nachrichtenaustausch Welche Nachrichten werden ausgetauscht? (Methodenaufrufe)

Mehr

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0 Anleitung zur Installation und Verwendung von eclipseuml 2.1.0 In dieser Anleitung wird die Installation und Verwendung von Omodo eclipseuml 2.1.0 beschrieben. eclipseuml ist eine Zusatzsoftware für Eclipse,

Mehr

Lehrer: Einschreibemethoden

Lehrer: Einschreibemethoden Lehrer: Einschreibemethoden Einschreibemethoden Für die Einschreibung in Ihren Kurs gibt es unterschiedliche Methoden. Sie können die Schüler über die Liste eingeschriebene Nutzer Ihrem Kurs zuweisen oder

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Loggen Sie sich in Ihrem teamspace Team ein, wechseln Sie bitte zur Verwaltung und klicken Sie dort auf den Punkt Synchronisation.

Loggen Sie sich in Ihrem teamspace Team ein, wechseln Sie bitte zur Verwaltung und klicken Sie dort auf den Punkt Synchronisation. Ihre Welt spricht teamspace! Anleitung zur Synchronisation 1. Schritt: Loggen Sie sich in Ihrem teamspace Team ein, wechseln Sie bitte zur Verwaltung und klicken Sie dort auf den Punkt Synchronisation.

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

Computerarithmetik ( )

Computerarithmetik ( ) Anhang A Computerarithmetik ( ) A.1 Zahlendarstellung im Rechner und Computerarithmetik Prinzipiell ist die Menge der im Computer darstellbaren Zahlen endlich. Wie groß diese Menge ist, hängt von der Rechnerarchitektur

Mehr

Leichte-Sprache-Bilder

Leichte-Sprache-Bilder Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen

Mehr

Praktikum IKT 3. Semester

Praktikum IKT 3. Semester Praktikum IKT 3. Semester Dr. Andreas Müller, TU Chemnitz, Fakultät für Informatik Inhaltsverzeichnis 1 1 Einführung in QT 1.1 Die QT-Bibliothek Informationen: http://www.trolltech.com Lehner, B: KDE-

Mehr

Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender 2010. FHNW, Services, ICT

Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender 2010. FHNW, Services, ICT Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender 2010 FHNW, Services, ICT Windisch, März 2013 Berechtigungen im Kalender 1 1 Gruppen 3 1.1 Die Gruppe/der Benutzer Standard

Mehr

Formular»Fragenkatalog BIM-Server«

Formular»Fragenkatalog BIM-Server« Formular»Fragenkatalog BIM-Server«Um Ihnen so schnell wie möglich zu helfen, benötigen wir Ihre Mithilfe. Nur Sie vor Ort kennen Ihr Problem, und Ihre Installationsumgebung. Bitte füllen Sie dieses Dokument

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)

Mehr

Daten am USB Stick mit TrueCrypt schützen

Daten am USB Stick mit TrueCrypt schützen Daten am USB Stick mit TrueCrypt schützen Das Programm installieren und einrichten ACHTUNG: In der nachfolgenden Anleitung wird der USB Stick immer mit USB-STICK (H:) angegeben! Diese Bezeichnung wurde

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

Video Unlimited -Nutzungsbeschränkungen

Video Unlimited -Nutzungsbeschränkungen Video Unlimited -Nutzungsbeschränkungen In diesem Dokument werden Beschränkungen erklärt, die für die Verwendung von Videos gelten, die Sie über Video Unlimited -Dienste gekauft oder ausgeliehen haben

Mehr

e-books aus der EBL-Datenbank

e-books aus der EBL-Datenbank e-books aus der EBL-Datenbank In dieser Anleitung wird erklärt, wie Sie ein ebook aus der EBL-Datenbank ausleihen und mit dem Programm Adobe Digital Edition öffnen. Folgende Vorraussetzungen sind eventuell

Mehr

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Was sind Berechtigungen? Unter Berechtigungen werden ganz allgemein die Zugriffsrechte auf Dateien und Verzeichnisse (Ordner) verstanden.

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

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

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

ICS-Addin. Benutzerhandbuch. Version: 1.0

ICS-Addin. Benutzerhandbuch. Version: 1.0 ICS-Addin Benutzerhandbuch Version: 1.0 SecureGUARD GmbH, 2011 Inhalt: 1. Was ist ICS?... 3 2. ICS-Addin im Dashboard... 3 3. ICS einrichten... 4 4. ICS deaktivieren... 5 5. Adapter-Details am Server speichern...

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

Mehr