Interprozess- Kommunikation

Größe: px
Ab Seite anzeigen:

Download "Interprozess- Kommunikation"

Transkript

1 Interprozess-Kommunikation Interprozess- Kommunikation Tanenbaum Kap Stallings Kap. 5.5 Glatz Kap , 5.5,

2 Inhalt Lehrziele Interprozesskommunikation (IPC) Message Passing Shared Memory IPC Mechanismen in Unix/Linux IPC Ressourcen Shared Memory Message Queues Signale Pipes Sockets Shared Files / Memory Mapped Files Semaphore IPC Mechanismen in Windows 2 2

3 Lehrziele Sie können den Begriff Interprozesskommunikation erklären und diskutieren Message Passing erklären und diskutieren Shared Memory erklären und diskutieren Unix/Linux IPC Mechanismen aufzählen, erklären, diskutieren Implementationsaspekte anhand der Unix/Linux IPC Mechanismen erklären und diskutieren 3 3

4 Interprozesskommunikation Prozesse arbeiten zusammen, um gemeinsam eine Aufgabe zu lösen Datenaustausch notwendig gemeinsam Ressourcen zu nutzen Gründe für Zusammenarbeit Parallelverarbeitung - Leistungssteigerung - Benutzerfreundlichkeit vereinfachte Strukturierung von Anwendungen - mehrere kooperierende, aber kleine Prozesse Daten- und Informationsaustausch - einfacher Zugriff auf gemeinsame Daten Echtzeitsysteme - Aufgaben mit unterschiedlichen Repetitionsraten P 1 P 2 P 3 4 Parallelverarbeitung - Leistungssteigerung Rechenlast kann auf mehrere CPUs verteilt werden blockierende Anfragen parallel ausführen - Benutzerfreundlichkeit mehrere Aufgaben gleichzeitig ausführen z.b. Drucken und Editieren Strukturierung von Anwendungen - Anwendungen lassen sich in kleine Einheiten unterteilen - einfachere Struktur übersichtlich geringere Fehleranfälligkeit - Beispiel: Bash Informationsaustausch - gemeinsame Datenhaltung - Client/Server Anwendungen - z.b. zentrale Datenbank für Authentifizierung (Samba), etc. Echtzeitsysteme - verschiedene Aufgaben müssen verschieden oft ausgeführt werden, aber gemeinsames Resultat notwendig - z.b. Flugdatenerfassung Frage. Wieso nicht über globale Daten (Variablen) lösen? 4

5 Interprozesskommunikation: IPC Beispiel zwei Prozesse möchten File drucken nur ein Prozess darf gleichzeitig drucken Lösung 1: Synchronisation Prozesssynchronisation - nur ein Prozess darf drucken - die anderen warten Lösung 2: IPC Druckprozess P p - nimmmt Daten entgegen - druckt sie dann selbständig aus Prozesse - dürfen selbst nicht drucken - können dafür weiterarbeiten P 1 P 2 Drucker P 1 P 2 IPC P P Drucker 5 Unterschied der Lösungen - Lösung 1 beide Prozesse werden synchronisiert, d.h. es wird nur Kontrollinformation ausgetauscht Streit um Ressourcen (Competition) Mutual Exclusion - Lösung 2 expliziter Datenaustausch jeder Prozess ist für Lösung "seines" Problems zuständig, Aufgabenteilung implizite Synchronisation der Prozesse verschiedene Möglichkeiten für Datenaustausch Was ist bei beiden Lösungen gleich? - in beiden Fällen werden Daten ausgetauscht - Datenmenge ist verschieden: 1 Bit bzw. 1 File - auch der Datenaustausch erfordert Synchronisation (mutual exclusion) Fragen resp. Problemstellungen in Zusammenhang mit IPC - Wie greifen Prozesse auf gemeinsame Daten zu? - Wie kommunizieren Prozesse? - Wie wird Datenkonsistenz garantiert? 5

6 Interprozesskommunikation Innerhalb eines Systems - im Anwenderbereich - BS Unterstützung In verteilten Systemen (zwischen Systemen) - Kommunikation über Netzwerk - BS Unterstützung 6 Zwei Varianten von Interprozesskommunikation - innerhalb eines Systems Kommunikation zwischen Prozessräumen im gleichen Speicher - zwischen verschiedenen Systemen Kommunikation zwischen Prozessen über ein Netzwerk In beiden Fällen muss Betriebssystem Mechanismen anbieten für - Datenaustausch - Synchronisation (Datenkonsistenz) 6

7 Kommunikationsmodelle Versuch einer Klassifizierung Message Passing - Austausch von Nachrichten P 1 P 2 Shared Objects - gemeinsamer Zugriff auf Objekte P 1 P 2 Object Streams - serieller Strom von Objekten - Objekte: ein oder mehrere Bytes P 1 P 2 7 Anmerkung: gilt nicht nur für zwei Prozesse Messages - Austausch von Nachrichten - innerhalb eines Systems oder in verteilten Systemen - Betriebssystem stellt Zugriffsfunktionen (send, receive) zur Verfügung, oft auch Mailbox Synchronisation durch Zugriffsfunktionen - Anwender verantwortlich für verpacken der Daten in Nachrichten - Beispiel: Message Queues, etc. Shared Objects (shared memeory) - shared memory, (shared) files, etc. - meist innerhalb eines Systems (Ausnahme: distributed shared memory)) - Betriebssystem: stellt gemeinsamen Speicherbereich zu Verfügung - Anwender verantwortlich für Datenstrukturierung und Synchronisation - Beispiel: shared memory, memory mapped files, etc. Object Streams - oft Sequenz von Bytes (ein bis mehrere Bytes lesen und/oder schreiben) - innerhalb eines Systems oder zwischen verteilten Systemen - Betriebssystem: stellt FIFO Queue zur Verfügung synchronisierter Zugriff auf "beide Enden" - Anwender verantwortlich für Datenstrukturierung - Beispiele: Pipes, Sockets, etc. Behandeln Messages vertieft, Shared Objects und Object Stream an Beispielen 7

8 slide Message Passing Sehr häufig verwendetes Verfahren zwischen Prozessen auf einem Rechner in verteilten Rechnersystemen Synchronisation implizit Grundfunktionen send(dest, message) receive(src, message) beide Funktionen können blockieren Auch geeignet für reine Prozess-Synchronisation Implementation eines Mutex Prozess P 1 do {... send(dest,msg);... } while (!finished); Prozess P 2 do {... receive(src,msg);... } while (!finished); 8 Zwei Verbindungsarten bei Message Passing - synchrone resp. verbindungsorientierte Kommunikation beide Prozess müssen der Verbindung zustimmen P1: openconnection(adr) send(msg); closeconnection(adr); P2: openconnection(adr) receive(msg); closeconnection(adr); - asynchrone resp. verbindungslose Kommunikation Sender schickt Nachricht einfach los ev. Quittierung notwendig Sache der Applikation siehe oben Übertragungssicherheit: Aufgabe der Anwendung - Verlust von Nachrichten - Authentifizierung der Destination in verteilten Systemen 8

9 ... Message passing Asynchrone / Synchrone Kommunikation asynchron synchron 9 Nonblocking Send, blocking Receive - Sender: send() blockiert nicht kann mehrere Nachrichten nach verschiedenen Destinationen abschicken benötigt Mailbox für Zwischenspeicherung der Nachrichten erwartet oft Quittung (falls Fehler beim Empfänger) - Empfänger: receive() blockiert, wenn er auf eine Nachricht wartet normalerweise braucht der Empfänger die Nachricht, damit er weiterfahren kann kann unendlich lang blockiert bleiben...p - Gefahren wegen Fehler dauerndes Erzeugen von Nachrichten niemand überwacht den Prozess belegt Systemressourcen Anwender verantwortlich, dass Message ankommt bei Nachrichteverlust oder wenn Sender stirbt unendlich lang Warten Nonblocking Send, Non Blocking Receive Probleme mit Synchronisation erwartete und gesendete Nachricht müssen übereinstimmen Blocking Send, Blocking Receive - beide bleiben blockiert bis die Nachricht angelangt ist - strikte Synchronisation, wird auch Rendez-Vous genannt (z.b. in ADA, CSP) 9

10 slide Message Passing: Adressierung Direkte Adressierung P S send(procr, msg) P R receive(procs, msg) receive(msg) Indirekte Adressierung P S P R send(mbox, msg) send(port, msg) mailbox port receive(mbox, msg) receive(port, msg) 10 Direkte Adressierung - Nachricht wird direkt in den Adressraum (Speicher) des Empfängers kopiert - Adressierung explizite Adressierung die Quellenadresse wird beim Empfangen einer Nachricht angegeben z.b. Kommunikation zwischen zwei "zusammengehörigen" Prozessen implizite Adressierung die Quellenadresse kann nicht angegeben werden z.b. Druckserver: erhält von verschiedenen Prozessen Druckaufträge - Sender und Empfänger sind eng gekoppelt - Vorteil: geschützter Datenverkehr Indirekte Adressierung - die Nachricht wird nicht direkt an den Empfänger gesendet - die Nachricht wird an eine Mailbox (resp. Port) gesendet Mailbox, Port: im wesentlichen eine Queue - Sender und Empfänger sind entkoppelt - Vorteil: verschiedenste Verbindungstopologien möglich 10

11 Message Passing: indirekte Adressierung port mailbox one to one one to many port mailbox many to one many to many 11 Port Mailbox - one to one / Punkt zu Punkt (privates) Port zwischen einem Sender und einem Empfänger geschützter Datenaustausch -> keine fehlerhafte Interaktion durch andere Prozesse Nachrichten können direkt in den Speicherbereich des Empfänger kopiert werden - many to one Client/Server Konfiguration - one to many multicast - many to many Unix/Linux Message Queues verschiedene Nachrichtentypen möglich beim Lesen kann Typ angegeben werden 11

12 Message Passing: Mailbox Wem gehört das Port resp. die Mailbox? Port gehört normalerweise dem Empfänger-Prozess wird von ihm erzeugt wenn Prozess stirbt, wird Port zerstört Mailbox Mailboxen werden i.a. beim Betriebssystem angefordert - Mailbox gehört meist dem Betriebssystem - z.b. Unix Message Queues Mailbox kann aber auch Prozess gehören - wird zerstört wenn Prozess stirbt 12 12

13 Message Passing: Nachrichten Aufbau von Nachrichten (Datenstruktur) Header 1) - Nachrichtentyp - Ziel- und Quellenadresse - Länge - Steuerinformation Aktion bei voller Mailbox Sequenznummer Priorität Body - Daten Header Body Message Type Destination ID Source ID Message Length Control Information Message Data 1) einige Felder können optional sein 13 13

14 Beispiel: Mutex Beteiligte Prozesse gemeinsame Mailbox Lesen blockiert maximal eine Nachricht abgelegt Hauptprogramm initialisiert Mailbox Mailbox heisst mutex Prozess Px while (true) {... receive(mutex, msg); // lock crticalsection(); send(mutex, msg); // unlock... } 14 Funktionsweise - bei der Initialisierung wird eine Nachricht in der Mailbox abgelegt - der erste Prozess der die Meldung liest darf in den kritischen Abschnitt eintreten blockiert die Mailbox solange, bis er die Nachricht wieder zurückgeschrieben hat: blocking read für andere Prozesse 14

15 Beispiel: Producer-Consumer Problem Gemeinsamer endlicher Ring-Buffer outptr inptr Array buf[n] Lösung mit Message Passing Mailbox mit Namen buf Buffergrösse ist Betriebssystem Parameter Synchronisation implizit Erzeuger while (true) { item = produceitem(); send(buf, item); } Verbraucher while (true) { item = receive(buf); consumitem(item); } 15 15

16 Shared Memory Shared Memory Bereich des physikalischen Speichers wird in den (virtuellen) Addressraum der Prozesse abgebildet Prozess 2 virtual Address space Prozess 1 virtual address space physical memory 16 Der physikalische Bereich kann an verschiedene Orte im virtuellen Adressraum eingebunden werden. 16

17 Shared Memory vs. Message Passing Shared Memory muss bei Betriebssystem angefordert werden keine implizite Synchronisation - Synchronisation z.b. mit Semaphoren Zugriff sehr schnell: Speicherzugriff nur in Shared Memory Systemen verfügbar Message Passing Mailbox muss bei Betriebssystem angefordert werden implizite Synchronisation - einfach zu handhaben langsamer als Shared Memory auch in verteilten Umgebungen verfügbar - MPI: Message Passing Interface 17 Hinweis - Shared Memory bei SMP Maschinen und in Distributed Shared Memory Systemen verfügbar - Distributed Shared Memory Zugriff auf lokalen Speicher i.a. schneller als auf entfernten Speicher NUMA: non uniform memory access 17

18 IPC Mechanismen in Unix/Linux (POSIX 1) ) Interprozesskommunikation 18 IPC Ressourcen Shared Memory Message Queues - Funktionalität - Implementation Signale Pipes Sockets Shared Files / Memory Mapped Files Synchronisation Semaphore (Lock Files) 1) Portable Operating System Interface Im folgenden verschiedene IPC Mechanismen anhand Unix/Linux erklärt Bei Shared Memory und Message Queues wird kurz auf Implementationsaspekte (Kernel) eingegangen - Verwaltung der IPC Ressourcen in entsprechenden Tabellen 18

19 Unix/Linux: Shared Memory, Semaphore, Messages Posix IPC Ressourcen erzeugen und/oder öffnen shm_open(), mq_open(), sem_open() speziell für nicht verwandte Prozesse "Zugriff" über Name, z.b. fd = shm_open("/tmp_shmr1", O_CREAT O_RDWR, 0700); unterschiedliche Rückgabewerte - Shared Memory: File Deskriptor - Semaphor: Semaphor Objekt, Pointer - Message Queue: Message Queue Objekt, kein Pointer 19 POSIX IPC Ressourcen: Shared Memory, Semaphor, Message Queues Weiter Informationen sind in den man-pages zu finden - man shm_overview, man shm_open, etc - man sem_overview, man sem_open, etc. - man mq_overview, man mq_open, etc. Die neuen POSIX IPC Ressourcen sind a.a. einfacher zu benutzen als die älteren System V IPC Ressource (werden aber immer noch unterstützt) 19

20 Shared Memory (Posix) slide Gemeinsamer Speicherbereich kann von mehreren Prozessen gleichzeitig genutzt werden Synchronisation explizit bei Anwendungen schnellste Form der Interprozesskommunikation Neue Shared Memory Region erzeugen auf benötigte Grösse setzen in Speicherbereich abbilden void *shmr; int fd, len;... fd = shm_open("/tmp_shmr1", O_CREAT O_RDWR, 0700); rv = ftruncate(fd, len); shmr = mmap(null, len, PROT_READ PROT_WRITE, MAP_SHARED, fd, 0); 20 shm_open() - Name: "/tmp/shmr1" (muss mit / beginnen) - oflag: O_CREAT erzeugen, falls noch nicht existiert - mode: hier user = rwx, group = kein Zugriff, others = kein Zugriff ftruncate() - Filedeskriptor: fd - Länge des "Files" exakt festlagen (nach Bedarf verkleinern oder vegrössern) mmap() Rückgabewert: Pointer auf gemeinsamen Speicherbereich - addr = NULL Kernel wählt Adresse des Speicherbereichs - len Länge des Speicherbereichs - Protection kann gelesen und geschrieben werden - flags kann zwischen mehreren Prozessen "geshared" werden - Filedeskriptor fd - offset Bereich beginnt bei offset im File 20

21 ... Shared Memory (Linux) Kernel Strukturen Shared Memory Tabelle 0 Shared Region Beschreibung Prozess RegionTabelle Prozess RegionTabelle attachregion attachregion Kerneltabelle pro Shared Region pro Prozess 21 Kernel unterhält Tabelle mit Einträgen zu jeder Shared Memory Region - zu jedem dieser Einträge wird pro Prozess eine Verwaltungsstruktur beigefügt Shared Memory Tabelle - Tabelle mit Referenzen auf die einzelnen Segment Beschreibungen Segment Beschreibung - Beschreibung zu einer Shared Memory Region - Datenstruktur: shmid_ds Zugriffsrechte, Grösse, etc. Array von Page Tabelleneinträgen Anzahl der "Attaches" (von wie vielen Prozessen attched) Referenz auf die Attach Descriptors etc. Attach Deskriptoren - Datenstruktur: shm_desc - Prozess ID (Prozess der Region angehängt hat) - virtuelle Adresse der Shared Memory Region - etc. 21

22 ... Shared Memory Memory Mapped IO z.b. ARM Prozessoren IO-Adressebereich in Speicher abbilden Code vereinfacht void *map_io(unsigned baseaddr, unsigned bsize) { // 1... mfd = open("/dev/mem", O_RDWR O_SYNC); // 2 iomem = malloc(bsize + (PAGE_SIZE-1)); // 3 pagealign = (unsigned)iomem % PAGE_SIZE; // 4 if (pagealign > 0 ) iomem += PAGE_SIZE - pagealign; } ioaddr = mmap(iomem, bsize, // 5 PROT_READ PROT_WRITE, MAP_SHARED MAP_FIXED, mfd, baseaddr ); close (mfd); // 6 return ioaddr; Funktion map_io() Parameter: Basisadresse und Länge des IO-Bereichs!!! Basisadresse muss Vielfaches der Pagegrösse sein Rückgabewert: Zeiger auf IO-Bereich (auf Speicher abgebildet) 2. File Descriptor: Handle auf physikalischen Speicher, "File", so gross wie Speicher 3. Speicherbereich allozieren, in den der IO-Bereich abgebildet werden kann 4. Adresse im Speichernbereich so bestimmen, dass sie auf Pageanfang zu liegen komm. Pagegrösse kann mit sysconf(_sc_page_size) abgefragt werden 5. Abbildden des IO-Speicherbereich ab baseaddr in allozierten Speicherbereich Parameter: Zeiger in allozierten Speicherbereich Pages können gelesen, geschrieb werden MAP_SHARED: andere Prozesse, sehen Änderungen an diesem Mapping MAP_FIXED: iomem muss exact verwendet werden physikalischer Speicher Offset im phys. Speicher: hier startet phys. IO-Bereich Rückgabewert: Zeiger auf abgebildeten IO-Bereich 6. Speicher "File" schliessen Hinweis: es ist gefährlich, IO-Bereiche für mehrere Prozesse bzw. Anwender freizugeben: /dev/mem kann deshalb nur mit root-privilegien geöffnet werden 22

23 slide Message Queues (Posix) Message Queue erzeugen mqd_t q1; q1 = mq_open("/tmp_que1", O_CREAT O_RDWR, 0700, NULL); System Calls send Message rv = mq_send(q1, buf, len_s, prio); receive Message älteste Message mit höchster Priorität rv = mq_receive(q1, buf, len_r, NULL); 23 mq_open() - NULL default attributes mq_send() - len_s Länge der Meldung, muss <= als Meldungslänge sein Meldungslänge kann mit mq_getattr() gelesen werden mq_receive() - len_r gibt Gröss des Buffers buf, muss > als Meldungslänge sein 23

24 ... Message Queues (Linux) Message Queues Organisation der Datenstrukturen im Kernel Message Queue Tabelle Messages 0 1 H 1 H 2 "Text" "Text" 2 H 3 "Text" 3 Message Header 24 Der Kernel unterhält eine Tabelle mit Einträgen für jede Message Queue - allgemein Information zu den einzelnen Message Queues - Datenstruktur: msquid_ds (Details siehe z.b. Herold) Die einzelnen Message Queues bestehen wiederum aus einer "verlinkten" Listen von Message Einträgen - Informationen zu jeder Message - Datenstruktur: msg (Details siehe z.b. Herold) - Zeiger auf den Inhalt der Meldung Der Kernel unterhält zwei weitere Queues - Queue: wwait Warteschlange für Prozesse, die in eine volle Queue schreiben möchten - Queue: rwait Warteschlange für Prozesse die von einer leeren Queue lesen möchten 24

25 Signale (POSIX) slide CTRL-C SIGINT Ähnlich wie HW-Interrupts keine Priorisierung Signalverarbeitung sobald Prozess in den Zustand Running geht Signal ruft entweder - Defaultaktion (meist Prozess terminieren, z.t. ignorieren) - oder Signal Handler (Benutzer-Prozedur) blockierte Signale - mehrfaches Eintreffen der Signale nur einmal gespeichert Rückkehr aus Handler Beispiel - für Prozess wie normale Rückkehr aus Prozedur Shell Befehl kill PID sendet SIGKILL an Prozess mit Prozessidentifikation PID Prozess terminiert 25 Jedes Signal wird durch einen numerischen Wert dargestellt - traditionell 16 Signale - heute abhängig von Prozessorwortbreite: 32 oder 64 Signale - jedes Signal entspricht einem Bit Beispiele POSIX.1 Signale Default Aktion SIGINT Interrupt Taste gedrückt terminiert SIGQUIT Quit Taste gedrückt terminiert mit core SIGTERM Terminieren gewünscht terminiert SIGKILL Terminieren erzwungen terminiert SIGHUP Terminalsession beendet terminiert SIGCHDL Terminierung eines Kindes ignorieren SIGALRM Ablauf eines Timers terminiert SIGPIPE write() auf Pipe ohne Reader terminiert SIGUSR1 frei definierbar terminiter SIGUSR2 frei definierbar terminiert Für weitere Informationen: siehe Literatur 25

26 ... Signale Beispiel int flag = 2; void SignalHandler(int sig) { printf("handler called by signal %d\n", sig); flag--; } int main(void) { struct sigaction sig; sig.sa_handler = SignalHandler; sig.sa_flags = SA_RESTART; sigemptyset(&sig.sa_mask); sigaction(sigusr1, &sig, NULL); } while (flag > 0) printf("main terminates, flag = %d\n", flag); 26 sigemptyset(&sig.sa_mask); - in der sa_mask aufgeführte (gesetzte) Signale werden während der Ausführung des aktuellen Handlers blockiert - setzen von Signalen in der Maske, z.b. SIGUSR2 und SIGALRM: sig.sa_mask = sig.sa_mask SIGUSR2 SIGALRM; 26

27 Pipes (Posix) Pipe FIFO-Buffer mit fester Grösse vom Kernel verwaltet Datenaustausch zwischen verwandten Prozessen halbduplex Zugriff synchronisiert Reihenfolge nicht garantiert write() read() P P 1 1 Pipe P 2 fd[1] fd[0] P 4 P 3 27 Funktionalität - blocking write schreiben auf volle Pipe blockiert den schreibenden Prozess, bis ein anderer Prozess Daten gelesen hat - blocking read lesen von einer leeren Piepe blockiert Prozess, bis ein anderer Prozess in die Pipe geschrieben hat - Fehlerbehandlung falls kein Prozess die Pipe zum Lesen geöffnet hat, erhält der schreibende Prozess das Signal SIGPIPE falls kein Prozess die Pipe zum Schreiben geöffnet hat, wird eine 0 zurückgegeben - das Schreiben kann nicht unterbrochen werden Ausnahme: Pipe ist voll - Pipes arbeiten verbindungslos lesen resp. schreiben wer gerade an der Reihe ist Schreiben und Lesen der Pipe mit den System Calls write() und read() - write(fd, *buffer, num_bytes) schreibt num_bytes aus dem Buffer buffer in das File fd (hier Filedeskriptor der Pipe fd[1]) - int read(fd, *buffer, num_bytes) liest num_bytes vom File fd (hier Filedeskriptor der Pipe fd[1]) in den Buffer buffer, Rückgabewert gibt Anzahl effektiv gelesener Bytes an - die Anzahl Bytes, die geschrieben und gelesen werden müssen nicht gleich sein PIPE arbeitet wie FIFO auf Byteebene 27

28 slide... Pipes Einrichten einer Pipe Prozess P A fd[0] fd[1] int fd[2]; pipe(fd); Prozess P A fd[0] fd[1] pipe fork() pipe fd[0] fd[1] Kindprozess P C 28 Zwei Typen von Pipes - Pipes und Named Pipes resp. Ffos nnnamed Pipes - ein Paar von Fildeskriptoren: einer zum Lesen, einer zum Schreiben - kann nur von verwandten Prozessen verwendet werden named Pipes - ein File vom Typ FIFO wird erzeugt - Zugriff für beliebige Prozesse, weil File 28

29 ... Pipes Beispiel (vereinfacht) 29 int main(void) { char *msg1 = "A first message"; char *msg2 = "Let's try a second time"; int fd[2]; char buffer[32]; pipe(fd); pid_t pid = fork(); if (pid > 0) { close(fd[0]); write(fd[1], msg1, strlen(msg1)+1); write(fd[1], msg2, strlen(msg2)+1); wait(null); } if (pid == 0) { close(fd[1]); read(fd[0], buffer, strlen(msg1)+1); printf("%s\n", buffer); read(fd[0], buffer, 1); while (buffer[0]!= '\0') { printf("%c", buffer[0]); read(fd[0], buffer, 1); } printf("\n"); } } Beispiel: Einrichten einer Pipe Zugriff: FIFO - synchronisiert - keine strukturierte Daten Datenstrukturierung beim Anwender Bytestrom (ganzer Block oder einzelne Bytes) schreiben und lesen können unterschiedlich sein nur Byte-Buffer: 1 bis N Bytes - Schrieben und Lesen blocking read und blocking write 29

30 ... Named Pipe / Fifo (auch für nicht verwandte Priozesse) Beispiel (vereinfacht) int main(void) { char *msg1 = "A first message"; char *msg2 = "Let's try a second time"; char *fifo = "/tmp/myfifo"; char buffer[32]; mkfifo(fifo, 0770); int fd = open(fifo, O_RDWR); pid_t pid = fork(); if (pid > 0) { write(fd, msg1, strlen(msg1)+1); write(fd, msg2, strlen(msg2)+1); wait(null); close(fd); unlink(fifo); } if (pid == 0) { int fd = open(fifo, O_RDWR); read(fd, buffer, strlen(msg1)+1); printf("%s\n", buffer); read(fd, buffer, 1); while (buffer[0]!= '\0') { printf("%c", buffer[0]); read(fd, buffer, 1); } printf("\n"); } } 30 Einrichten eines Fifos resp. einer named Pipe Zugriff: FIFO - synchronisiert - keine strukturierte Daten Datenstrukturierung beim Anwender Bytestrom (ganzer Block oder einzelne Bytes) schreiben und lesen können unterschiedlich sein nur Byte-Buffer: 1 bis N Bytes - Schrieben und Lesen blocking read und blocking write 30

31 TCP/IP - Sockets Server Netzwerk host: Romeo, IP: Client Romeo Client host: Julia, IP-Nr Server-Prozess 1 Port 5243 host: Caesar, IP: Client Caesar Server-Prozess 2 Port 5555 host: Willi, IP: Client Willi Tell 31 Sockets (Steckdosen) - Typen TCP/IP Sockets:Netzwerk Unix Domain Sockets. lokal - vor allem Client-Server Kommunikation - vielfältig und flexibel (dafür auch komplizierter) - verbindungsorientierte und verbindungslose Kommunikation Socketverbindung 4 Parameter: Server und Client IP-Adresse und Port-Nummer Protokolle - Datagramme Pakete: ohne Fehler- und Sequenzkontrolle, z.b. UDP - Streams einzelne Bytes: mit Fehler-und Sequenzkontrolle z.b. TCP/IP, grössere Bytefolgen oft zu Blöcken gruppiert - Protokolle: z.b. TCP/IP, Novell IPX, AppleTalk DDS, AX.25, NetROM IPC grundsätzlich zwischen nicht verwandten Prozessen, schliesst aber auch verwandte Prozesse ein TCP / IP Sockets: Kommunikation zwischen Prozessen auf vernetzten Rechnern - Adresse besteht aus IP Adresse und Port Nummer - Server: falls INADDR_ANY spezifiziert, nur Port Nummer von Bedeutung - Client: muss IP Adresse und Port Nummer spezifizieren Unix Domain Sockets: Kommunikation innerhalb eines (Unix) Rechners - Adresse mit Pfadname assoziiert (ähnlich wie bei Named Pipe) - Client und Server müssen auf das "File" Zugriff haben - bind() bindet den Socket an diese Adresse 31

32 Unix/Linux: TCP/IP-Sockets int sfd, fd, addrlen; struct sockaddr_in addr; sfd = socket(pf_inet, SOCK_STREAM, 0); j = 1; setsockopt(sfd,sol_socket,so_reuseaddr,&j,sizeof(j)); addr.sin_family = AF_INET; addr.sin_port = htons(port_number); addr.sin_addr.s_addr = INADDR_ANY; bind(sfd, (struct sockaddr *)&addr, sizeof(addr)); listen(sfd, 5); fd = accept(sfd, (struct sockaddr *) &addr, (unsigned *) &addrlen)) >= 0); write(fd, buf, LEN); read(fd, buf, LEN) int sfd, addrlen, j; struct sockaddr_in addr; struct in_addr iaddr; struct hostent *compi; compi = gethostbyname("diva.zhwin.ch"); sfd = socket(pf_inet, SOCK_STREAM, 0); write(sfd, buf, LEN); read(sfd, buf, LEN) addr.sin_family = AF_INET; addr.sin_port = htons(port_number); memcpy(&addr.sin_addr, compi->h_addr_list[0], sizeof(addr.sin_addr)); connect(sfd, (struct sockaddr *) &addr, sizeof(addr)); 32 Systems Calls für das Aufsetzen von Sockets - socket() erzeugt Socket, nicht intialisiert - bind() Socket wird an Adresse (IP Adresse, Port Nummer) gebunden INADDR_ANY: nur Port Nummer von Bedeutung - listen() Initialisiert Queue für Server, für Zwischenspeicherung von Verbindungswünsche durch Clients - accept() baut Verbindung mit Client aus Queue auf - connect() Client fordert Verbindung zu Server an resp. baut auf System Calls für den Datenaustausch - read() lesen von verbindungsorientiertem Socket recv() dito - write() schreiben auf verbindungsorientierten Socket send() dito - recvfrom() Daten von verbindungslosem Socket empfangen - sendto() Daten über verbindungslosen Socket senden Port Nummern reserviert: wohlbekannt, für Standardanwendungen privilegiert: Superuser Prozesse für unixspezifische Anwendungen kurzlebig: automatische Vergabe an Benzuterprozesse, die nicht auf bestimmte Nummer angewiesen sind benutzerdefiniert: können von nichtprivilegierten Serverprozessen beansprucht werden und an Clients weitergegeben werden 32

33 Verbindungsorientierter TCP/IP Socket Server Client socket() bind() listen() Programmstruktur für verbindungsorientierten Socket parent accept() fork() child Verbindungsaufbau socket() bind() connect() read() write() Datenaustausch read() write() close() exit() close() exit() 33 Verbindungsorientierter Socket - Server - Client oft wird nach Verbindungsaufbau ein Kindprozess erzeugt, der den Datenaustausch wahrnimmt der Elternprozess wartet auf die nächste Anfrage bind() fakultativ, meist nicht von Bedeutung über welche Adresse die Anfrage geht Verbindungsloser Socket - es muss keine Verbindung aufgebaut werden 33

34 Shared Files (Unix/Linux) Shared Files Kommunikation über gemeinsame Files sehr einfach eher langsam keine Synchronisation Memory Mapped Files Files in Speicherbereich abbilden schneller als Shared Files keine Synchronisation Konsistenzsemantik - Anwender verantwortlich für das Rückschreiben der Daten - keine Kontrolle, wann Daten für andere verfügbar 34 34

35 Semaphore (Posix) Semaphor erzeugen und initialisieren named Semaphor sem_t s1; s1 = sem_open("/tmp_sem1", O_CREAT O_RDWR, 0700, value); unnamed Semaphor sem_t s1; rv = sem_open(&s1, pshared, 0700, value); System Calls Semaphor schliessen Semaphor öffnen rv = sem_wait(&s1); rv = sem_post(&s1); 35 Posix Semaphore sind im Gegensatz zu System V sehr einfach zu benutzen, dafür aber auch weniger mächtig sem_open() - setzt Semaphorwert auf Value sem_init() - pshared = 0 Semaphore in einem Prozess global definiert genutzt durch mehrere Threads - pshared >= Semaphore in Shared Memory, genutzt durch mehrere Prozesse sem_trywait() wenn Semaphore gschlossen nicht warten errno = EAGAIN sem_timedwait() nur für bestimmte Zeit warten, falls geschlossen 35

36 IPC Mechanismen in Windows IPC ähnliche Verfahren oft andere Namen Zugriff über Handle verschiedene Prozesse mehrere Handles auf gleiche Kernel Objekte Windows IPC Pipes, named Pipes, anonymous Pipes Shared Memory / File Mapping Mailslots (Message Queues) Winsock Sockets Remote Procedure Calls (RPC) WM_COPYDATA (Messages) 36 36

37 IPC: Zusammenfassung Interprozesskommunikation Message Queues Pipes - unnamed: verwandte Prozesse - named (auch) nicht verwandte Prozesse Sockets - flexibel und vielfältig (auch andere BS) - TCP / IP über Netzwerk - Unix Domain innerhalb eines Rechners (ähnlich wie Pipes) Signale Synchronisation unter Unix Semaphore Counting Semaphores Lock-Files mutex über File (z.b. bei Daemonen) 37 37

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

Transmission Control Protocol (TCP)

Transmission Control Protocol (TCP) Transmission Control Protocol (TCP) Verbindungsorientiertes Protokoll, zuverlässig, paketvermittelt stream-orientiert bidirektional gehört zur Transportschicht, OSI-Layer 4 spezifiziert in RFC 793 Mobile

Mehr

Anwendungsprotokolle: HTTP, POP, SMTP

Anwendungsprotokolle: HTTP, POP, SMTP Anwendungsprotokolle: HTTP, POP, SMTP TCP? UDP? Socket? eingesetzt, um Webseiten zu übertragen Zustandslos Nutzt TCP Client schickt Anfrage ( HTTP-Request ) an Server, Server schickt daraufhin Antwort

Mehr

Domänenmodell: Fadenkommunikation und -synchronisation

Domänenmodell: Fadenkommunikation und -synchronisation Domänenmodell: Fadenkommunikation und -synchronisation Alexander Humphreys, Reinhard Rösch, Fabian Scheler 15. Mai 2003 Inhaltsverzeichnis 1 Domänendefinition 1 2 Domänenlexikon 1 3 Konzeptmodelle 4 4

Mehr

15 Transportschicht (Schicht 4)

15 Transportschicht (Schicht 4) Netzwerktechnik Aachen, den 16.06.03 Stephan Zielinski Dipl.Ing Elektrotechnik Horbacher Str. 116c 52072 Aachen Tel.: 0241 / 174173 zielinski@fh-aachen.de zielinski.isdrin.de 15 Transportschicht (Schicht

Mehr

1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells.

1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells. Übung 7 1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells. 2.) Charakterisieren Sie kurz das User Datagram Protokoll (UDP) aus der Internetprotokollfamilie

Mehr

TCP SYN Flood - Attack. Beschreibung Auswirkungen Zuordnung zu Gefährdungskategorie und Attacken-Art Gegenmaßnahmen Quellen

TCP SYN Flood - Attack. Beschreibung Auswirkungen Zuordnung zu Gefährdungskategorie und Attacken-Art Gegenmaßnahmen Quellen TCP SYN Flood - Attack Beschreibung Auswirkungen Zuordnung zu Gefährdungskategorie und Attacken-Art Gegenmaßnahmen Quellen TCP SYN Flood - Beschreibung TCP SYN Flood Denial of Service Attacke Attacke nutzt

Mehr

Tafelübung zu BS 4. Interprozesskommunikation

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

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

Zugriff auf die Modul-EEPROMs

Zugriff auf die Modul-EEPROMs MAX-P- und P-Bibliotheken EEPROM-Zugriff 1 Zugriff auf die Modul-EEPROMs Jedes X-Bus-Modul verfügt über ein EEPROM, in dem modulspezifische Daten gespeichert werden. Neben einigen Bereichen, die vom Betriebssystem

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

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über

Mehr

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler - www.neo-one.de 13. Oktober 2008 Version 1.0.

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler - www.neo-one.de 13. Oktober 2008 Version 1.0. Konfigurationsanleitung Access Control Lists (ACL) Funkwerk Copyright Stefan Dahler - www.neo-one.de 13. Oktober 2008 Version 1.0 Seite - 1 - 1. Konfiguration der Access Listen 1.1 Einleitung Im Folgenden

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 3 12.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: a)

Mehr

Kommunikations-Parameter

Kommunikations-Parameter KNX App knxpresso für Android Tablets/Phones Kommunikations-Parameter Ausgabe Dokumentation: Mai. 2015 Doku Version V1.0.0 - Seite 1/8 Inhaltsverzeichnis 1.1 Nützliche Links... 3 1.2 Beschreibung der Kommunikations-Datei...

Mehr

Lizenzen auschecken. Was ist zu tun?

Lizenzen auschecken. Was ist zu tun? Use case Lizenzen auschecken Ihr Unternehmen hat eine Netzwerk-Commuterlizenz mit beispielsweise 4 Lizenzen. Am Freitag wollen Sie Ihren Laptop mit nach Hause nehmen, um dort am Wochenende weiter zu arbeiten.

Mehr

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version 7.4.4. - Optional einen DHCP Server.

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version 7.4.4. - Optional einen DHCP Server. 1. Dynamic Host Configuration Protocol 1.1 Einleitung Im Folgenden wird die Konfiguration von DHCP beschrieben. Sie setzen den Bintec Router entweder als DHCP Server, DHCP Client oder als DHCP Relay Agent

Mehr

Anleitung zur Nutzung des SharePort Utility

Anleitung zur Nutzung des SharePort Utility Anleitung zur Nutzung des SharePort Utility Um die am USB Port des Routers angeschlossenen Geräte wie Drucker, Speicherstick oder Festplatte am Rechner zu nutzen, muss das SharePort Utility auf jedem Rechner

Mehr

Powermanager Server- Client- Installation

Powermanager Server- Client- Installation Client A Server Client B Die Server- Client- Funktion ermöglicht es ein zentrales Powermanager Projekt von verschiedenen Client Rechnern aus zu bedienen. 1.0 Benötigte Voraussetzungen 1.1 Sowohl am Server

Mehr

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

Proxy. Krishna Tateneni Übersetzer: Stefan Winter Krishna Tateneni Übersetzer: Stefan Winter 2 Inhaltsverzeichnis 1 Proxy-Server 4 1.1 Einführung.......................................... 4 1.2 Benutzung.......................................... 4 3 1

Mehr

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert: Firewall für Lexware professional konfigurieren Inhaltsverzeichnis: 1. Allgemein... 1 2. Einstellungen... 1 3. Windows XP SP2 und Windows 2003 Server SP1 Firewall...1 4. Bitdefender 9... 5 5. Norton Personal

Mehr

Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2

Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2 Kurzanleitung zur Softwareverteilung von Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2 I. BitDefender Management Agenten Verteilung...2 1.1. Allgemeine Bedingungen:... 2 1.2. Erste

Mehr

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

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

Mehr

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

EasyWk DAS Schwimmwettkampfprogramm

EasyWk DAS Schwimmwettkampfprogramm EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage

Mehr

Prozessarchitektur einer Oracle-Instanz

Prozessarchitektur einer Oracle-Instanz 6. Juni 2008 Inhaltsverzeichnis Oracle Instanz 1 Oracle Instanz 2 3 Redo Log Buffer Shared Pool Java Pool & Large Pool Oracle Instanz Eine Oracle-Instanz ist Hauptbestandteil des Oracle Datenbank Management

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

MailUtilities: Remote Deployment - Einführung

MailUtilities: Remote Deployment - Einführung MailUtilities: Remote Deployment - Einführung Zielsetzung Die Aufgabe von Remote Deployment adressiert zwei Szenarien: 1. Konfiguration der MailUtilities von einer Workstation aus, damit man das Control

Mehr

4. Network Interfaces Welches verwenden? 5. Anwendung : Laden einer einfachen Internetseite 6. Kapselung von Paketen

4. Network Interfaces Welches verwenden? 5. Anwendung : Laden einer einfachen Internetseite 6. Kapselung von Paketen Gliederung 1. Was ist Wireshark? 2. Wie arbeitet Wireshark? 3. User Interface 4. Network Interfaces Welches verwenden? 5. Anwendung : Laden einer einfachen Internetseite 6. Kapselung von Paketen 1 1. Was

Mehr

Synchronisierung. Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73

Synchronisierung. Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73 Synchronisierung Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73 Übertragungsprozeduren Die Übertragung einer Nachricht zwischen Sender und Empfänger erfordert die Übertragung des Nutzsignals

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

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

Security. Stefan Dahler. 4. Internet Verbindung. 4.1 Einleitung

Security. Stefan Dahler. 4. Internet Verbindung. 4.1 Einleitung 4. Internet Verbindung 4.1 Einleitung Im Folgenden wird die Konfiguration der DFL-800 Firewall gezeigt. Sie konfigurieren einen Internet Zugang zum Provider mit dem Protokoll PPPoE. In der Firewallrichtlinie

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

Im Folgenden wird die Konfiguration der DIME Tools erläutert. Dazu zählen die Dienste TFTP Server, Time Server, Syslog Daemon und BootP Server.

Im Folgenden wird die Konfiguration der DIME Tools erläutert. Dazu zählen die Dienste TFTP Server, Time Server, Syslog Daemon und BootP Server. 1. DIME Tools 1.1 Einleitung Im Folgenden wird die Konfiguration der DIME Tools erläutert. Dazu zählen die Dienste TFTP Server, Time Server, Syslog Daemon und BootP Server. 1.2 Voraussetzungen Folgende

Mehr

How-to: Webserver NAT. Securepoint Security System Version 2007nx

How-to: Webserver NAT. Securepoint Security System Version 2007nx Securepoint Security System Inhaltsverzeichnis Webserver NAT... 3 1 Konfiguration einer Webserver NAT... 4 1.1 Einrichten von Netzwerkobjekten... 4 1.2 Erstellen von Firewall-Regeln... 6 Seite 2 Webserver

Mehr

Kurzanleitung So geht s

Kurzanleitung So geht s Kurzanleitung So geht s MDT IP Interface SCN IP000.01 MDT IP Router SCN IP100.01 IP Interface IP Router einrichten Es wurden keine Einträge für das Inhaltsverzeichnis gefunden.falls Sie Basis Informationen

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

Installation und Inbetriebnahme von SolidWorks

Installation und Inbetriebnahme von SolidWorks Inhaltsverzeichnis FAKULTÄT FÜR INGENIEURWISSENSCHAFTEN I Prof. Dr.-Ing. Frank Lobeck Installation und Inbetriebnahme von SolidWorks Inhaltsverzeichnis Inhaltsverzeichnis... I 1. Einleitung... 1 2. Installation...

Mehr

Da es sich in meinem Fall um einen USB-Scanner handelt, sollte dieser mittels

Da es sich in meinem Fall um einen USB-Scanner handelt, sollte dieser mittels Scan - Server Nach der Einrichtung von Samba - Freigaben und eines Druckservers soll der Homeserver darüber hinaus noch einen, per USB angeschlossenen, Scanner im Netzwerk zur Verfügung stellen. Der Scanner

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

Verwendung des IDS Backup Systems unter Windows 2000

Verwendung des IDS Backup Systems unter Windows 2000 Verwendung des IDS Backup Systems unter Windows 2000 1. Download der Software Netbackup2000 Unter der Adresse http://www.ids-mannheim.de/zdv/lokal/dienste/backup finden Sie die Software Netbackup2000.

Mehr

Dämon-Prozesse ( deamon )

Dämon-Prozesse ( deamon ) Prozesse unter UNIX - Prozessarten Interaktive Prozesse Shell-Prozesse arbeiten mit stdin ( Tastatur ) und stdout ( Bildschirm ) Dämon-Prozesse ( deamon ) arbeiten im Hintergrund ohne stdin und stdout

Mehr

Installation eblvd (Fernwartung)

Installation eblvd (Fernwartung) Installation eblvd (Fernwartung) Anleitung zur Installation des eblvd Remote Desktop für die Fernwartung Die bisher eingesetzte Fernwartungssoftware Netviewer wird bei der Firma Cardis Reynolds in Kürze

Mehr

IMAP Backup. Das Programm zum Sichern, Synchronisieren, Rücksichern und ansehen von gesicherten Mails. Hersteller: malu-soft

IMAP Backup. Das Programm zum Sichern, Synchronisieren, Rücksichern und ansehen von gesicherten Mails. Hersteller: malu-soft IMAP Backup Das Programm zum Sichern, Synchronisieren, Rücksichern und ansehen von gesicherten Mails Hersteller: malu-soft WEB Adresse: http://www.malu-soft.de email: info@malu-soft.de support@malu-soft.de

Mehr

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1)

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1) 1 FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1) In dieser Kurseinheit geht es um verteilte Anwendungen, bei denen wir sowohl ein Client- als auch ein

Mehr

Guide DynDNS und Portforwarding

Guide DynDNS und Portforwarding Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

Multicast Security Group Key Management Architecture (MSEC GKMArch)

Multicast Security Group Key Management Architecture (MSEC GKMArch) Multicast Security Group Key Management Architecture (MSEC GKMArch) draft-ietf-msec-gkmarch-07.txt Internet Security Tobias Engelbrecht Einführung Bei diversen Internetanwendungen, wie zum Beispiel Telefonkonferenzen

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

Lexware professional und premium setzen bis einschließlich Version 2012 den Sybase SQL-Datenbankserver

Lexware professional und premium setzen bis einschließlich Version 2012 den Sybase SQL-Datenbankserver Eine Firewall für Lexware professional oder premium konfigurieren Inhaltsverzeichnis: 1. Allgemein... 1 2. Einstellungen... 1 3. Die Firewall von Windows 7 und Windows 2008 Server... 2 4. Die Firewall

Mehr

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: 7. Intrusion Prevention System 7.1 Einleitung Sie konfigurieren das Intrusion Prevention System um das Netzwerk vor Angriffen zu schützen. Grundsätzlich soll nicht jeder TFTP Datenverkehr blockiert werden,

Mehr

TCP/UDP. Transport Layer

TCP/UDP. Transport Layer TCP/UDP Transport Layer Lernziele 1. Wozu dient die Transportschicht? 2. Was passiert in der Transportschicht? 3. Was sind die wichtigsten Protkolle der Transportschicht? 4. Wofür wird TCP eingesetzt?

Mehr

Adami CRM - Outlook Replikation User Dokumentation

Adami CRM - Outlook Replikation User Dokumentation Adami CRM - Outlook Replikation User Dokumentation Die neue Eigenschaft der Adami CRM Applikation macht den Information Austausch mit Microsoft Outlook auf vier Ebenen möglich: Kontakte, Aufgaben, Termine

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

Betriebssystem Windows - SSH Secure Shell Client

Betriebssystem Windows - SSH Secure Shell Client Betriebssystem Windows - SSH Secure Shell Client Betriebssystem Windows - SSH Secure Shell Client... 1 Download... 2 Installation... 2 Funktionen... 3 Verbindung aufbauen... 3 Verbindung trennen... 4 Profile...

Mehr

Authentication Policy. Konfigurationsbeispiel ZyXEL ZyWALL USG-Serie. Juni 2010 / HAL

Authentication Policy. Konfigurationsbeispiel ZyXEL ZyWALL USG-Serie. Juni 2010 / HAL Authentication Policy Konfigurationsbeispiel ZyXEL ZyWALL USG-Serie Juni 2010 / HAL LOKALE USER DATENBANK Über Authentication Policy verknüpft man ZyWALL-Dienste und Benutzer so, dass die Nutzung der Dienste

Mehr

Protokollbeschreibung Modbus TCP für EMU TCP/IP Modul

Protokollbeschreibung Modbus TCP für EMU TCP/IP Modul Protokollbeschreibung Modbus TCP für EMU TCP/IP Modul Zweck: Dieses Protokollbeschreibung beschreibt den Aufbau des Modbus TCP Protokolls. Datei: EMU Professional Modbus TCP d Seite 1 von 15 Version 1.0

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

C.M.I. Control and Monitoring Interface. Zusatzanleitung: Datentransfer mit CAN over Ethernet (COE) Version 1.08

C.M.I. Control and Monitoring Interface. Zusatzanleitung: Datentransfer mit CAN over Ethernet (COE) Version 1.08 C.M.I. Version 1.08 Control and Monitoring Interface Zusatzanleitung: Datentransfer mit CAN over Ethernet (COE) de LAN LAN Beschreibung der Datentransfermethode Mit dieser Methode ist es möglich, analoge

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

3. Stored Procedures und PL/SQL

3. Stored Procedures und PL/SQL 3. Stored Procedures und PL/SQL Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln

Mehr

Root-Server für anspruchsvolle Lösungen

Root-Server für anspruchsvolle Lösungen Root-Server für anspruchsvolle Lösungen I Produktbeschreibung serverloft Internes Netzwerk / VPN Internes Netzwerk Mit dem Produkt Internes Netzwerk bietet serverloft seinen Kunden eine Möglichkeit, beliebig

Mehr

Qt-Projekte mit Visual Studio 2005

Qt-Projekte mit Visual Studio 2005 Qt-Projekte mit Visual Studio 2005 Benötigte Programme: Visual Studio 2005 Vollversion, Microsoft Qt 4 Open Source s. Qt 4-Installationsanleitung Tabelle 1: Benötigte Programme für die Qt-Programmierung

Mehr

System-Update Addendum

System-Update Addendum System-Update Addendum System-Update ist ein Druckserverdienst, der die Systemsoftware auf dem Druckserver mit den neuesten Sicherheitsupdates von Microsoft aktuell hält. Er wird auf dem Druckserver im

Mehr

Anbindung des eibport an das Internet

Anbindung des eibport an das Internet Anbindung des eibport an das Internet Ein eibport wird mit einem lokalen Router mit dem Internet verbunden. Um den eibport über diesen Router zu erreichen, muss die externe IP-Adresse des Routers bekannt

Mehr

Datenaustausch mit Datenbanken

Datenaustausch mit Datenbanken Datenaustausch mit Datenbanken Datenbanken Einführung Mit dem optionalen Erweiterungspaket "Datenbank" können Sie einen Datenaustausch mit einer beliebigen Datenbank vornehmen. Der Datenaustausch wird

Mehr

Switching. Übung 7 Spanning Tree. 7.1 Szenario

Switching. Übung 7 Spanning Tree. 7.1 Szenario Übung 7 Spanning Tree 7.1 Szenario In der folgenden Übung konfigurieren Sie Spanning Tree. An jeweils einem Switch schließen Sie Ihre Rechner über Port 24 an. Beide Switche sind direkt über 2 Patchkabel

Mehr

LOG-FT BAG Filetransfer zum Austausch mit dem Bundesamt für Güterverkehr (BAG) Kurzanleitung

LOG-FT BAG Filetransfer zum Austausch mit dem Bundesamt für Güterverkehr (BAG) Kurzanleitung Filetransfer zum Austausch mit dem Bundesamt für Güterverkehr (BAG) Kurzanleitung VERSION 8.0 FEBRUAR 2013 Logics Software GmbH Schwanthalerstr. 9 80336 München Tel.: +49 (89) 55 24 04-0 Fax +49 (89) 55

Mehr

Installation / Aktualisierung von Druckertreibern unter Windows 7

Installation / Aktualisierung von Druckertreibern unter Windows 7 Rechenzentrum Installation / Aktualisierung von Druckertreibern unter Windows 7 Es gibt drei verschiedene Wege, um HP-Druckertreiber unter Windows7 zu installieren: (Seite) 1. Automatische Installation...

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

Whitepaper. Produkt: combit Relationship Manager / address manager. Dateiabgleich im Netzwerk über Offlinedateien

Whitepaper. Produkt: combit Relationship Manager / address manager. Dateiabgleich im Netzwerk über Offlinedateien combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager / address manager Dateiabgleich im Netzwerk über Offlinedateien Dateiabgleich im Netzwerk über Offlinedateien

Mehr

FastViewer Remote Edition 2.X

FastViewer Remote Edition 2.X FastViewer Remote Edition 2.X Mit der FastViewer Remote Edition ist es möglich beliebige Rechner, unabhängig vom Standort, fernzusteuern. Die Eingabe einer Sessionnummer entfällt. Dazu muß auf dem zu steuernden

Mehr

Konfiguration Firewall (Zyxel Zywall 10) (von Gruppe Schraubenmeier)

Konfiguration Firewall (Zyxel Zywall 10) (von Gruppe Schraubenmeier) Konfiguration Firewall (Zyxel Zywall 10) (von Gruppe Schraubenmeier) Firewall über Seriellen Anschluss mit Computer verbinden und Netzteil anschliessen. Programm Hyper Terminal (Windows unter Start Programme

Mehr

Lokale Installation von DotNetNuke 4 ohne IIS

Lokale Installation von DotNetNuke 4 ohne IIS Lokale Installation von DotNetNuke 4 ohne IIS ITM GmbH Wankelstr. 14 70563 Stuttgart http://www.itm-consulting.de Benjamin Hermann hermann@itm-consulting.de 12.12.2006 Agenda Benötigte Komponenten Installation

Mehr

Lizenzierung von System Center 2012

Lizenzierung von System Center 2012 Lizenzierung von System Center 2012 Mit den Microsoft System Center-Produkten lassen sich Endgeräte wie Server, Clients und mobile Geräte mit unterschiedlichen Betriebssystemen verwalten. Verwalten im

Mehr

ANYWHERE Zugriff von externen Arbeitsplätzen

ANYWHERE Zugriff von externen Arbeitsplätzen ANYWHERE Zugriff von externen Arbeitsplätzen Inhaltsverzeichnis 1 Leistungsbeschreibung... 3 2 Integration Agenda ANYWHERE... 4 3 Highlights... 5 3.1 Sofort einsatzbereit ohne Installationsaufwand... 5

Mehr

Installation eines BM-33k6/ISDN pro USB an einem Windows XP-Rechner

Installation eines BM-33k6/ISDN pro USB an einem Windows XP-Rechner Installation eines BM-33k6/ISDN pro USB an einem Windows XP-Rechner Falls Sie den Treiber für das Modem BM-33k6/ISDN pro USB updaten wollen, sollten Sie zunächst den alten Treiber entfernen. Danach können

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

Man liest sich: POP3/IMAP

Man liest sich: POP3/IMAP Man liest sich: POP3/IMAP Gliederung 1. Einführung 1.1 Allgemeiner Nachrichtenfluss beim Versenden von E-Mails 1.2 Client und Server 1.2.1 Client 1.2.2 Server 2. POP3 2.1 Definition 2.2 Geschichte und

Mehr

AUTOMATISCHE E-MAIL-ARCHIVIERUNG. 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

AUTOMATISCHE E-MAIL-ARCHIVIERUNG. 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD! AUTOMATISCHE E-MAIL-ARCHIVIERUNG 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD! INHALT AUTOMATISCHE E-MAIL-ARCHIVIERUNG... 4 Eingehende E-Mails können

Mehr

EDI Connect goes BusinessContact V2.1

EDI Connect goes BusinessContact V2.1 EDI Connect goes BusinessContact V2.1 Allgemeine Informationen Ziel dieser Konfiguration ist die Kommunikation von EDI Connect mit dem neuen BusinessContact V2.1 Service herzustellen Dazu sind im wesentlichen

Mehr

(Hinweis: Dieses ist eine Beispielanleitung anhand vom T-Sinus 154 Komfort, T-Sinus 154 DSL/DSL Basic (SE) ist identisch)

(Hinweis: Dieses ist eine Beispielanleitung anhand vom T-Sinus 154 Komfort, T-Sinus 154 DSL/DSL Basic (SE) ist identisch) T-Sinus 154 DSL/DSL Basic (SE)/Komfort Portweiterleitung (Hinweis: Dieses ist eine Beispielanleitung anhand vom T-Sinus 154 Komfort, T-Sinus 154 DSL/DSL Basic (SE) ist identisch) Wenn Sie auf Ihrem PC

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

DOKUMENTATION VOGELZUCHT 2015 PLUS

DOKUMENTATION VOGELZUCHT 2015 PLUS DOKUMENTATION VOGELZUCHT 2015 PLUS Vogelzucht2015 App für Geräte mit Android Betriebssystemen Läuft nur in Zusammenhang mit einer Vollversion vogelzucht2015 auf einem PC. Zusammenfassung: a. Mit der APP

Mehr

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten Der Konfigurations-Assistent wurde entwickelt, um die unterschiedlichen ANTLOG-Anwendungen auf den verschiedensten Umgebungen automatisiert

Mehr

Local Control Network Technische Dokumentation

Local Control Network Technische Dokumentation Steuerung von Hifi-Anlagen mit der LCN-GVS Häufig wird der Wunsch geäußert, eine Hi-Fi-Anlage in die Steuerung der LCN-GVS einzubinden. Auch das ist realisierbar. Für die hier gezeigte Lösung müssen wenige

Mehr

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003 Page 1 of 8 SMTP Konfiguration von Exchange 2003 Kategorie : Exchange Server 2003 Veröffentlicht von webmaster am 25.02.2005 SMTP steht für Simple Mail Transport Protocol, welches ein Protokoll ist, womit

Mehr

Client-Server mit Socket und API von Berkeley

Client-Server mit Socket und API von Berkeley Client-Server mit Socket und API von Berkeley L A TEX Projektbereich Deutsche Sprache Klasse 3F Schuljahr 2015/2016 Copyleft 3F Inhaltsverzeichnis 1 NETZWERKPROTOKOLLE 3 1.1 TCP/IP..................................................

Mehr

How to do? Projekte - Zeiterfassung

How to do? Projekte - Zeiterfassung How to do? Projekte - Zeiterfassung Stand: Version 4.0.1, 18.03.2009 1. EINLEITUNG...3 2. PROJEKTE UND STAMMDATEN...4 2.1 Projekte... 4 2.2 Projektmitarbeiter... 5 2.3 Tätigkeiten... 6 2.4 Unterprojekte...

Mehr

Anleitung für das Einrichten eines SIP-Accounts (Registrierung einer VoiP- Nummer) im Softphone SJPhone für Windows Mobile

Anleitung für das Einrichten eines SIP-Accounts (Registrierung einer VoiP- Nummer) im Softphone SJPhone für Windows Mobile Anleitung für das Einrichten eines SIP-Accounts (Registrierung einer VoiP- Nummer) im Softphone SJPhone für Windows Mobile Autor: Volker Lange-Janson, Datum: 18. November 2010 Diese Anleitung verwendet

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Firewalls für Lexware Info Service konfigurieren

Firewalls für Lexware Info Service konfigurieren Firewalls für Lexware Info Service konfigurieren Inhaltsverzeichnis: 1. MANUELLER DOWNLOAD 1 2. ALLGEMEIN 1 3. EINSTELLUNGEN 1 4. BITDEFENDER VERSION 10 2 5. GDATA INTERNET SECURITY 2007 4 6. ZONE ALARM

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

TeamSpeak3 Einrichten

TeamSpeak3 Einrichten TeamSpeak3 Einrichten Version 1.0.3 24. April 2012 StreamPlus UG Es ist untersagt dieses Dokument ohne eine schriftliche Genehmigung der StreamPlus UG vollständig oder auszugsweise zu reproduzieren, vervielfältigen

Mehr

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

Step by Step VPN unter Windows Server 2003. von Christian Bartl Step by Step VPN unter Windows Server 2003 von VPN unter Windows Server 2003 Einrichten des Servers 1. Um die VPN-Funktion des Windows 2003 Servers zu nutzen muss der Routing- und RAS-Serverdienst installiert

Mehr

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000 Folgende Anleitung beschreibt, wie Sie ein bestehendes Postfach in Outlook Express, bzw. Microsoft Outlook bis Version 2000 einrichten können. 1. Öffnen Sie im Menü die Punkte Extras und anschließend Konten

Mehr

Adressen im Internet (Wdh.)

Adressen im Internet (Wdh.) Subnetze und Routen Subnetze werden benötigt, um die nutzbaren IP-Adressen weiter zu strukturieren. Die Diskriminierung erfolgt über die Netzmaske. Zwischen Subnetzen muss per Gateway bzw. Router vermittelt

Mehr