NEBEN - LÄUFIGE PROG RAM -

Größe: px
Ab Seite anzeigen:

Download "NEBEN - LÄUFIGE PROG RAM -"

Transkript

1 carsten VOGT NEBEN - LÄUFIGE PROG RAM - M IERUNG EIN ARBEITSBUCH MIT UNIX/LINUX UND JAVA EXTRA: Mit kostenlosem E-Book Im Internet: Programmbeispiele, Lösungen zu den Aufgaben und Zusatzmaterialien

2 Inhalt 1 Einführung Basistechniken Formen der Nebenläufigkeit Hard- und Software eine Kurzeinführung Computer-Hardware Computer-Software Nebenläufigkeit in Hardware Nebenläufigkeit in Software Die Rolle des Betriebssystems Systemarchitekturen Aufgaben und Schnittstellen Virtualisierung Netzdienste und verteilte Systeme Betriebsarten Prozesse und Threads Prozesse Threads Der Lebenszyklus Implementierungsaspekte Buchführung Dispatching Scheduling Prozesse und Threads in UNIX/Linux Kommandos der Benutzerschnittstelle Grundlegende API-Funktionen für Prozesse Die Funktion fork() Weitere Funktionen Programmbeispiele Grundlegende API-Funktionen für Threads Pthreads: pthread_create(), pthread_exit() Pthreads: pthread_join(), pthread_cancel() vfork() und clone()...59

3 8 Inhalt 2.4 Threads in Java Die Klasse Thread run() und start() join() Weitere Methoden Grundlegende Programmiertechniken Zugriff auf gemeinsame Variablen Beenden von Threads Zusammenfassung und Ausblick A Basistechniken: Aufgaben A.1 Wissens- und Verständnisfragen A.2 Sprachunabhängige Anwendungsaufgaben A.3 Programmierung unter UNIX/Linux A.4 Programmierung in Java Synchronisation Synchronisationsbedingungen Elementare Bedingungen Wechselseitiger Ausschluss Reihenfolgebedingung Komplexere Probleme Erzeuger-Verbraucher-Problem Leser-Schreiber-Problem Philosophenproblem Einfache Synchronisationsmechanismen Grundlegende Eigenschaften Interruptsperren Spinlocks Signale und Events Synchronisation durch Semaphore Arbeitsprinzip von Semaphoren Datenstrukturen und Operationen Semaphoroperationen in Bild und Notation Varianten und Erweiterungen Einsatz bei Standardproblemen Wechselseitiger Ausschluss...96

4 Inhalt Reihenfolgebedingung Erzeuger-Verbraucher-Problem Leser-Schreiber-Problem Philosophenproblem Systematische Lösung von Problemen Fehlerquellen Deadlocks: Problematik Deadlocks: Lösungen Missachtung der Atomarität Einsatz von sleep() Mangelnde Fairness Synchronisation durch Monitore Grundprinzip von Monitoren Definition des Monitorbegriffs Beispiel: Einfacher Ringpuffer mit Überschreiben Bedingungsvariablen Zweck und Einsatz Beispiel: Ringpuffer für Erzeuger/Verbraucher Lösung weiterer Standardprobleme Reihenfolgebedingung Leser-Schreiber-Problem Philosophenproblem Mechanismen in UNIX/Linux Signale Lock-Dateien Semaphore Erzeugen von Semaphorgruppen Initialisieren und Löschen P- und V-Operationen Programmstrukturen und -beispiele Mutexe mit Bedingungsvariablen Mutexe Bedingungsvariablen Beispiel: Erzeuger-Verbraucher mit Ringpuffer Mechanismen in Java Atomare Operationen Basistypen Collections...136

5 10 Inhalt Semaphore Die Klasse Semaphore Beispiel: Reihenfolgebeziehung Monitore synchronized wait() und notify() Die Interfaces Lock und Condition Weitere Mechanismen Zusammenfassung und Ausblick A Synchronisation: Aufgaben A.1 Wissens- und Verständnisfragen A.2 Sprachunabhängige Anwendungsaufgaben A.3 Programmierung unter UNIX/Linux A.4 Programmierung in Java Kommunikation Grundlegende Begriffe Arten der Kommunikation Sender-Empfänger-Beziehungen Ein oder mehrere Sender und Empfänger Direkte vs. indirekte Kommunikation Enge vs. lose zeitliche Kopplung Kommunikation in Rechnernetzen Schnittstellen: Sockets Protokolle und Protokollstacks Der Protokollstack des Internets Techniken in UNIX/Linux Shared Memory API-Funktionen Programmbeispiel: Erzeuger-Verbraucher-System Pipes Benannte Pipes Unbenannte Pipes Message Queues API-Funktionen: Erzeugen und Löschen API-Funktionen: Senden und Empfangen Programmbeispiel: Erzeuger-Verbraucher-System...181

6 Inhalt Sockets Domains und Typen API-Funktionen: Übersicht API-Funktionen: Erzeugen und Schließen API-Funktionen: Verbinden und Kommunizieren Programmbeispiel: Stream-Sockets Programmbeispiel: Datagram-Sockets Techniken in Java Übersicht Piped Streams Sockets Stream-Sockets Datagram-Sockets Zusammenfassung und Ausblick A Kommunikation: Aufgaben A.1 Wissens- und Verständnisfragen A.2 Sprachunabhängige Anwendungsaufgaben A.3 Programmierung unter UNIX/Linux A.4 Programmierung in Java Kooperation Modelle und Techniken Das Client-Server-Modell Grundlegende Struktur Zeitliche Abläufe Implementierungsaspekte Das Peer-to-Peer-Modell Programmiertechniken Prozedurorientierte Kooperation Objektorientierte Kooperation Webbasierte Kooperation Techniken in UNIX/Linux Kooperation über Sockets Remote Procedure Call (RPC) Komponenten und ihr Zusammenspiel Schritte der Programmierung...230

7 12 Inhalt 5.3 Techniken in Java Remote Method Invocation (RMI) Komponenten und ihr Zusammenspiel Schritte der Programmierung Dynamische Webseiten Applets Servlets und Java Server Pages Web Services Zusammenfassung A Kooperation: Aufgaben A.1 Wissens- und Verständnisfragen A.2 Sprachunabhängige Anwendungsaufgaben A.3 Programmierung unter UNIX/Linux A.4 Programmierung in Java Literatur und Internet Index

8 2A Basistechniken: Aufgaben Die Lösungen und weitere Aufgaben findet man auf der Webseite zum Buch. 2A.1 Wissens- und Verständnisfragen 1. Kreuzen Sie die richtige(n) Aussage(n) an: a.) API ist die Abkürzung für O Automated Process Interrupt. O Advanced Programming Interface. O Application Programming Interface. b.) Wenn ein Prozessor zwischen Prozessen hin- und hergeschaltet wird, so ist das O Microprogramming. O Multiprogramming. O Verteilte Programmierung. c.) Ein Multiprozessorsystem ist ein System mit O einem Prozessor, der besonders schnell zwischen den Prozessen umgeschaltet wird. O mehreren Prozessoren, die über einen Bus miteinander verbunden sind. O mehreren Computern, die z.b. über das Internet miteinander verbunden sind. d.) Nebenläufigkeit gibt es in O jedem Stapelverarbeitungssystem. O Stapelverarbeitungssystemen mit Spooling. O Clustern. e.) Ein Prozess O ist ein Programm, das gerade ausgeführt wird. O hat in UNIX/Linux eine eindeutige Nummer. O ist dasselbe wie ein Thread. f.) Die UNIX/Linux-Funktion fork() O liefert an den Sohnprozess die PID des Vaters zurück und an den Vaterprozess eine 0. O liefert an den Vaterprozess die PID des Sohns zurück und an den Sohnprozess eine 0. O liefert an den Sohnprozess die PID des Vaters zurück und an den Vaterprozess die PID des Sohns.

9 70 2A Basistechniken: Aufgaben g.) Für das Verhältnis zwischen Prozessen und Threads gilt: O Ein Thread kann mehrere Prozesse enthalten. O Ein Prozess kann mehrere Threads enthalten. O Keins von beiden. h.) Ein Java-Thread wird ausgeführt nach Aufruf der Methode O start(). O init(). O Thread(). 2. Füllen Sie in den folgenden Aussagen die Lücken: a.) Ein Betriebssystem verwaltet den Computer, und es stellt bereit, über die Programmierer und Benutzer Dienste aufrufen können. b.) Bei der Betriebsart bearbeitet die CPU Aufträge streng hintereinander, Ein- und Ausgaben können aber nebenläufig dazu stattfinden. c.) Informationen über einen Prozess stehen in dessen (abgekürzt: ). d.) Speicherbereiche, Registerinhalte usw. gehören zum eines Prozesses. e.) Ein UNIX/Linux-Prozess wartet auf die Beendigung eines Sohns mit der Funktion. f.) Um einen UNIX/Linux-Prozess für eine bestimmte Anzahl von Sekunden warten zu lassen, benutzt man die C-Funktion. 3. Sind die folgenden Aussagen wahr oder falsch? Begründung! a.) Nebenläufigkeit setzt immer voraus, dass mehrere Prozessoren vorhanden sind. b.) Ein UNIX/Linux-Prozess kann mehrere Söhne haben. c.) Ein UNIX/Linux-Prozess kann mehrere Väter haben. d.) Wenn unter UNIX/Linux ein Vaterprozess eine Variable deklariert hat, so kann sein Sohnprozess ohne weiteres auf diese Variable seines Vaters zugreifen. e.) Die UNIX/Linux-Funktion waitpid() und die Java-Methode join() haben im Wesentlichen dieselbe Aufgabe und Wirkung. 4. Welcher Begriff passt jeweils nicht in die Reihe? Begründung! a.) Hardware-Schnittstelle, API, UI, CPU b.) Multiprozessorsystem, Multiprogrammingsystem, Mehrkernprozessor, Cluster c.) Einprogrammbetrieb, Mehrprogrammbetrieb, Scheduling, Spooling d.) synchronisiert, blockiert, rechnend, bereit e.) fork, exit, ps, getpid f.) kill, fork, getpid, start

10 2A.2 Sprachunabhängige Anwendungsaufgaben Auf der linken Seite sind Begriffe angegeben, rechts stehen Charakteristika. Welcher Begriff gehört zu welcher Charakteristik? Ziehen Sie genau fünf Pfeile von links nach rechts! Mehrkernprozessor Pseudo-Nebenläufigkeit Spooling Festlegung der Ausführungsreihenfolge Multiprogramming Kooperation mehrerer Computer Verteiltes System echte Nebenläufigkeit Scheduling Ein-/Ausgabe gleichzeitig mit Ausführung 6. Beantworten Sie die folgenden Fragen: a.) Welche Schnittstellen bietet ein Betriebssystem? Worin unterscheiden sie sich? b.) Was ist der Unterschied zwischen Pseudonebenläufigkeit und echter Nebenläufigkeit? Wo findet man diese beiden Formen der Nebenläufigkeit in einem Computer? c.) Aus welchen zwei (Haupt-)Komponenten besteht ein Prozess? d.) Was ist der Unterschied zwischen Prozessen und Threads? e.) Was gehört zum Kontext eines Prozesses? (mindestens drei Nennungen) f.) Wie sieht das Zustandsübergangsdiagramm eines Prozesses aus? Zeichnen Sie es aus dem Gedächtnis! g.) Welcher Zusammenhang besteht zwischen den Parametern der UNIX/Linux-Funktionen exit() und wait()? h.) Was ist der Unterschied zwischen den Java-Methoden run() und start()? 2A.2 Sprachunabhängige Anwendungsaufgaben 1. Gegeben ist ein System mit einem Prozessor, das drei Aufträge zu bearbeiten hat. Jeder der drei Aufträge besteht aus vier aufeinanderfolgenden Phasen: Zuerst werden Daten eingegeben, dann wird der erste Teil des Auftrags auf dem Prozessor bearbeitet, dann folgt eine zweite Eingabe und schließlich die Bearbeitung des zweiten Teils. Die Zeitdauern für die jeweiligen Eingaben und Bearbeitungen sind wie folgt festgelegt: Eingabe 1 Bearb. 1 Eingabe 2 Bearb. 2 Auftrag A Auftrag B Auftrag C Das Systemverhalten unter streng sequentiellem Einprogrammbetrieb soll mit dem Verhalten unter (pseudo-)nebenläufigem Mehrprogrammbetrieb verglichen werden. Dabei gelten die folgenden Annahmen: Die Eingaben für verschiedene Aufträge können gleichzeitig stattfinden (was allerdings nur für den Mehrprogrammbetrieb interessant ist). Es kann jedoch nur ein Auftrag gleichzeitig bearbeitet werden; andere Aufträge müssen gegebenenfalls warten, bis der Prozessor wieder frei ist.

11 72 2A Basistechniken: Aufgaben Die Aufträge sind in der Reihenfolge A > B > C priorisiert. Im Einprogrammbetrieb wird also zunächst A vollständig zu Ende bearbeitet, dann B und dann C (wobei die Eingabe des nächsten Auftrags erst beginnt, wenn der vorherige Auftrag ganz fertig ist). Im Mehrprogrammbetrieb kann ein Auftrag höherer Priorität die Ausführung eines Auftrags niedrigerer Priorität unterbrechen; der niederpriore Auftrag wird dann später fortgesetzt (wobei seine bisherige Bearbeitungszeit angerechnet wird). Das Umschalten des Prozessors zwischen Aufträgen verursacht keinen zusätzlichen Zeitaufwand. Zeichnen Sie, für Ein- und Mehrprogrammbetrieb gesondert, je eine Zeitlinie, die zeigt, wann der Prozessor welchen Auftrag bearbeitet und wann er unbeschäftigt ( idle ) ist. Ermitteln Sie für Ein- und Mehrprogrammbetrieb die folgenden Kennzahlen: Die Aufenthaltsdauern der einzelnen Aufträge also die Länge der Zeit zwischen dem Eintreffen des Auftrags im System (hier immer 0) und seiner Fertigstellung. Die mittlere ( durchschnittliche ) Aufenthaltsdauer der drei Aufträge. Die Auslastung des Prozessors also die Zeit, in der der Prozessor Aufträge bearbeitet hat, im prozentualen Verhältnis zur Gesamtzeit (Summe aller Bearbeitungs- und Idle-Zeiten). 2. Gegeben ist ein System mit einem Prozessor, das vier Aufträge zu bearbeiten hat. Die Aufträge treffen zu unterschiedlichen Zeitpunkten ein und sind dann sofort zur Bearbeitung bereit, müssen also keine weiteren Eingaben abwarten. Jeder Auftrag benötigt den Prozessor für eine bestimmte Gesamtzeitdauer: Auftrag Ankunftszeitpunkt Prozessorzeit A B C D Für dieses System sollen die folgenden Schedulingstrategien betrachtet werden: Prioritätengesteuert/nichtunterbrechend: Jeweils der ausführungsbereite Auftrag mit der höchsten Priorität erhält den Prozessor (Zur Beachtung: Aufträge, die noch nicht eingetroffen sind, sind auch nicht ausführungsbereit!). Ein Auftrag gibt den Prozessor erst wieder frei, wenn seine Bearbeitung beendet ist. Er wird also in einem Rutsch ausgeführt und kann nicht durch einen später eintreffenden höherprioren Auftrag unterbrochen werden. Auftrag C hat die höchste Priorität, dann folgt Auftrag B und schließlich die Aufträge A und D, die dieselbe Priorität haben. Bei gleicher Priorität wird der Auftrag mit der kürzeren (Rest-)bearbeitungszeit bevorzugt. Prioritätengesteuert/unterbrechend: Wie oben. Allerdings übernimmt ein neu eintreffender Auftrag sofort den Prozessor vom laufenden Auftrag, sofern dessen Priorität niedriger ist. Der unterbrochene Auftrag wird später fortgesetzt, wobei seine bisherige Prozessorzeit angerechnet wird (er muss also nicht von vorn beginnen). Zeitscheibenbasiert (Round Robin) mit Zeitscheibenlänge 100: Die Reihenfolge der Aufträge im Zyklus ist A, B, C, D. Wird ein Auftrag schon vor Ende der Zeitscheibe fertig, so wird der Prozessor sofort an den nächsten Auftrag weitergegeben.

12 2A.3 Programmierung unter UNIX/Linux 73 Zeitscheibenbasiert (Round Robin) mit Zeitscheibenlänge 50: Wie oben, nur mit kürzerer Zeitscheibe. Das Umschalten des Prozessors zu einem anderen Auftrag dauert eine Zeiteinheit, ebenso das Starten eines Auftrags auf dem bisher freien Prozessor. Zeichnen Sie, für jede der vier Strategien gesondert, eine Zeitlinie, die zeigt, wann der Prozessor welchen Auftrag bearbeitet, wann er unbeschäftigt ( idle ) ist und wann Umschaltungen stattfinden. Vergleichen Sie dann die Strategien anhand der Reihenfolge, in der die Aufträge beendet werden, und der Anzahl der Umschaltungen, die auftreten. 2A.3 Programmierung unter UNIX/Linux 1. Gegeben ist das folgende Programm für die UNIX/Linux-C-Schnittstelle: #include <stdio.h> main() { printf("prozess ist gestartet\n"); sleep(2); printf("prozess terminiert jetzt\n"); } Zeigen Sie durch das Zustandsübergangsdiagramm, welche Zustände der ausführende Prozess durchläuft. 2. Das C-Programm #include <stdlib.h> main() { int status; if (fork()==0) { sleep(5); exit(0); } wait(&status); } wird in eine Maschinenprogrammdatei prog übersetzt, die dann durch./prog & ausgeführt wird. Während dieser Ausführung erzeugt der Benutzer eine Bildschirmausgabe der Form UID PID PPID... CMD joe bash joe... prog joe... prog Welches UNIX/Linux-Benutzerkommando hat er dazu eingegeben? Welche Aufgabe hat hier der Prozess 2700? Füllen Sie die Leerstellen mit geeigneten Werten. 3. Gegeben ist das folgende Programmstück: int p, status; if ((p=fork())==0) { printf("%d %d ",getpid(),getppid()); exit(0); } wait(&status); printf("%d %d\n",getpid(),p);

13 Index A aktives Warten 85, 219 Aktivität 25 Alles-oder-nichts-Prinzip 95, 96, 102, 107 in UNIX/Linux 121, 127 Apache Axis 243 Applet 238 Application Programming Interface (API) 26 Atomarität 89 Fehler bei Missachtung 108 B Barriere in Java 143 Batch Mode 32 Bedingungsvariable 112 in UNIX/Linux 132 Belegungs-Anforderungs-Graph 106 Benutzerschnittstelle 26 Betriebsart 32 Betriebssystem 25 Aufgaben 25 Kern 26 Netzdienste 30 Schnittstellen 26 bidirektionale Kommunikation 167 Blocking Send/Receive 165 Broadcast 163 Bussperre 89 C Cigarette Smokers Problem 158 client-/serverseitige Ausführung 225 Client-Server-Modell 218 Client-Socket in Java 197 in UNIX/Linux 184 Cluster 23 CORBA 224 D Datagramm 185 Datagram-Socket 170 in Java 200 in UNIX/Linux 183, 191 Datenstrom 161 Deadlock 100, 106 Aufhebung 107 beim Philosophenproblem 101 Verhinderung 107 Vermeidung 107 Dispatching 40 Distributed Shared Memory (DSM) 163 Dynamic Port 186 dynamische Webseite 225, 238 E Einprogrammbetrieb 32 Eltern-Kind-Beziehung 42, 44, 46 Enterprise JavaBeans (EJB) 194 Erzeuger-Verbraucher-Problem 83 mit allgemeinen Semaphoren 98, 102 mit Java-Condition 143 mit Java-Piped-Streams 195 mit Java-wait()/notify() 141 mit Monitor 114 mit Pthreads-Bedingungsvariablen 133 mit UNIX/Linux-Pthreads 133 mit UNIX-Message-Queue 181 mit UNIX-Semaphoren 129, 173 mit UNIX-Shared-Memory 173 Event 90 in Java 141 F Fairness 109 Fat Client 221

14 256 Index G Gast-Betriebssystem 29 geordnete Ressourcenanforderung 107 H Hardware eines Computers 20 Hardware-Nebenläufigkeit 22 Host-Betriebssystem 29 Hypertext Transfer Protocol (HTTP) 170 in UNIX/Linux 226 I Interface Definition Language (IDL) 223 in UNIX/Linux 228, 230 Internet Protocol (IP) 169 Internet-Domain 182 Inter-Process Communication (IPC) 161 Interrupt 219 Interruptsperre 85 J Java Applet 238 Interrupt-Flag 66 Pipe 194 Remote Method Invocation (RMI) 234 Servlet 240 Shared Memory 64 Socket 196 Thread 60 Web Service 241 Java Message Service (JMS) 194 Java Server Pages (JSP) 240 Java Virtual Machine (JVM) 22, 29, 238 Java-Klassen/Interfaces Atomic 135 BlockingQueue 143 Collections 136 Condition 143 CountDownLatch 143 CyclicBarrier 143 DatagramPacket 200 DatagramSocket 200 Exchanger 144 InterruptedException 66, 140 LinkedBlockingQueue 141 Lock 142 PipedInputStream 194 PipedOutputStream 195 ReadWriteLock 143 ReentrantLock 142 Semaphore 136 ServerSocket 197 Socket 197 Thread 60 Java-Methoden currentthread() 64 getid()/getname()/setname() 64 getstate() 64 interrupt()/isinterrupted() 64, 66 isalive() 64 join() 63 notify() 140 notifyall() 140 run() 61 setpriority()/getpriority() 64 sleep() 64 start() 61 synchronized 138, 139 synchronizedxxx() 136 wait() 140 yield() 64 JAX-RS 243 JAX-WS 241 JSON 226 K Kern eines Betriebssystems 26 eines Prozessors 23 Kommunikation 161 direkte vs. indirekte 164 synchrone vs. asynchrone 166 Kommunikationsprotokoll 167 Kommunikationssystem 161, 166 Konkurrenz 80 Kontext 35 Kooperation 81, 217 objektorientierte 224

15 Index 257 prozedurorientierte 222 synchrone vs. asynchrone 219 Kopplung (enge vs. lose) 24 kritischer Abschnitt 80, 96 L Lebenszyklus 37 Leser-Schreiber-Problem 83 in Java 143 mit allgemeinen Semaphoren 99 mit Monitor 116 Lock-Datei 90 in UNIX/Linux 120 Lock-Variable 87 M Mailbox 164 in UNIX/Linux 177 Marshalling 223 Mehrprogrammbetrieb 33 Message Passing Interface (MPI) 194 Message Queue 177 Middleware 31 Monitor 110 Bedingungsvariable 112 in Java 138 Multicast 163 Multicomputer 23 Multiprogramming 33 Multiprozessorsystem 23 Multitasking 19, 33 Mutex 95 bei Java-Monitoren 139 in UNIX/Linux 132 N.NET 224 Nachricht 161, 185 nachrichtenbasierte Kommunikation 161 Nebenläufigkeit 13, 19, 25 durch Compiler 24 echte 24, 25 in Hardware 22 in Software 24 Pseudo- 25 Netzdienste 30 Nonblocking Send/Receive 165 O ONC RPC 228 Ortstransparenz 30 P Parallelisierung 24 passives Warten 85, 219 Peer-to-Peer-Modell (P2P) 221 Philosophenproblem 84 mit allgemeinen Semaphoren 101 mit Monitor 117 Pipe 174, 194 benannte 175 unbenannte 176 Polling 85, 166, 219 P-Operation 91 Port 164 in UNIX/Linux 177 Nummer 170, 186 Portmapper 232 Process Identifier (PID) 39 Programmierschnittstelle (API) 26 Protokoll 167 Protokollinstanz 167 Protokollstack 169 Proxy 224 Prozedurfernaufruf 222 Prozess 34, 36 in UNIX/Linux 42, 46 Kontext 35 Lebenszyklus 37, 38 Priorität 41 Terminierung 38 Prozesskontrollblock 39 Prozessorkern 23 Prozesstabelle 40 Pseudonebenläufigkeit 25 Pthread 55 Synchronisation 132 Pufferspeicher (siehe auch Ringpuffer) 83

16 258 Index R Race Condition 81 Rechnerknoten 23 Registry 235, 236 Reihenfolgebedingung 82 mit allgemeinen Semaphoren 97 mit Java-Semaphoren 137 mit Monitor 115 mit UNIX-Semaphoren 128 Remote Interface 235 Remote Method Invocation (RMI) 224 in Java 234 Remote Object 224, 235, 236 Remote Procedure Call (RPC) 222 in UNIX/Linux 228 Rendezvous 166 REST 226, 243 Ringpuffer als Monitor 111, 114, 139 in Java 139 in UNIX/Linux 133 mit Lese-/Schreiboperationen 114, 133 nur mit Schreiboperation 111, 139 RMI Registry 235, 236 Round Robin 41 RPC-Generator rpcgen 229, 230 S Scheduling 40 Scriptlet 240 Semaphor 91 Alles-oder-nichts-Prinzip 95, 96, 102, 107, 121 binärer 95 in Java 136 in UNIX/Linux 121 sequentielle Bearbeitung 32, 33 Server-Socket in Java 197 in UNIX/Linux 184 Servlet 240 Shared Memory 161 in Java 64 in UNIX/Linux 171 Signal 90 in UNIX/Linux 118 Signal Handler 119 Single Tasking Mode 32 Skeleton 224 Sleeping Barber Problem 153 SOAP 225 Socket 166, 170 Domains 182 in Java 196 in UNIX/Linux 182 Typen 183 Software eines Computers 21 Software-Nebenläufigkeit 24 speicherbasierte Kommunikation 161 Spinlock 86, 89 mit Lock-Dateien in UNIX/Linux 120 Spooling 33 Stapelverarbeitung 32 Stream-Socket 170 in Java 197 in UNIX/Linux 183, 188 strombasierte Kommunikation 161 Stub 222 Synchronisation 79 Synchronisationsbedingung 79 Synchronisationsmechanismus 79, 85 T Task 36 Terminierung 38 Thin Client 221 Thread 36, 37 in Java 60 in UNIX/Linux 55 Lebenszyklus 37, 38 thread-safe 135 Three Tier Model 220 Timesharing 34 Transmission Control Protocol (TCP) 170 U Unicast 163 unidirektionale Kommunikation 174 UNIX/Linux Bedingungsvariable 132 Benutzerkommandos 42

17 Index 259 Lock-Datei 120 Message Queue 177 Mutex 132 Pipe 174 Programmierschnittstelle (API) 26, 45 Prozess 42, 46 Semaphor 121 Shared Memory 171 Signal 118 Socket 182 Thread 55 UNIX/Linux-API 26, 45 accept() 184, 187 bind() 184, 185 callrpc() 229 clnt_create() 229 clone() 59 close() 185, 187 connect() 184, 187 errno 28 execv() 49, 54 exit() 48, 53 Fehlerabfrage 28 fork() 46, 50 getpid() 49, 52 getppid() 49, 52 kill() 50, 54, 118 listen() 184, 186 mkfifo() 175 msgctl() 178 msgget() 177 msgrcv() 179, 180 msgsnd() 179 pause() 119 perror() 28 pipe() 176 pthread_cancel() 58 pthread_cond_xxx() 132 pthread_create() 55 pthread_exit() 55 pthread_join() 58 pthread_mutex_xxx() 132 read() 185, 187 recv() 185 recvfrom() 185, 188 semctl() 123 semget() 121 semop() 125 send() 185 sendto() 185, 188 shmat() 172 shmctl() 172 shmget() 171 shutdown() 187 sigaction() 119 signal() 119 sigsuspend() 119 sleep() 49 socket() 184, 185 vfork() 59 wait() 48, 53 waitpid() 48 write() 185, 187 UNIX/Linux-Benutzerkommandos 42 ipcrm 124, 173, 178 ipcs 124, 173, 178 kill 45 ps 42 rpcgen 229, 230 sleep 45 wait 45 UNIX-Domain 183 User Datagram Protocol (UDP) 170 V Vater-Sohn-Beziehung 42, 44, 46 Verhungern 100 Verklemmung 106 Verteiltes System 23, 30, 32, 217 Virtualisierung 28 VMware 29 V-Operation 91 W Warten, aktives vs. passives 85 Web Service 225 in Java 241 Webseite 225, 238 wechselseitiger Ausschluss 80 in Java 138

18 260 Index mit allgemeinen Semaphoren 96 mit Monitor 110 mit UNIX-Semaphoren 129 WSDL 226 X XDR 228, 230 Xen 29 XML-RPC 226 Z Zombie-Zustand 39, 48 Zustandsübergangsdiagramm 38

Inhaltsverzeichnis. Carsten Vogt. Nebenläufige Programmierung. Ein Arbeitsbuch mit UNIX/Linux und Java ISBN:

Inhaltsverzeichnis. Carsten Vogt. Nebenläufige Programmierung. Ein Arbeitsbuch mit UNIX/Linux und Java ISBN: Inhaltsverzeichnis Carsten Vogt Nebenläufige Programmierung Ein Arbeitsbuch mit UNIX/Linux und Java ISBN: 978-3-446-42755-6 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42755-6

Mehr

verzeichnis Carsten Vogt Nebenläufige Programmierung Ein Arbeitsbuch mit UNIX/Linux und Java ISBN:

verzeichnis Carsten Vogt Nebenläufige Programmierung Ein Arbeitsbuch mit UNIX/Linux und Java ISBN: verzeichnis Carsten Vogt Nebenläufige Programmierung Ein Arbeitsbuch mit UNIX/Linux und Java ISBN: 978-3-446-42755-6 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42755-6

Mehr

NEBEN - LÄUFIGE PROG RAM -

NEBEN - LÄUFIGE PROG RAM - carsten VOGT NEBEN - LÄUFIGE PROG RAM - M IERUNG EIN ARBEITSBUCH MIT UNIX/LINUX UND JAVA EXTRA: Mit kostenlosem E-Book Im Internet: Programmbeispiele, Lösungen zu den Aufgaben und Zusatzmaterialien Vogt

Mehr

Vorwort. Carsten Vogt. Nebenläufige Programmierung. Ein Arbeitsbuch mit UNIX/Linux und Java ISBN: 978-3-446-42755-6

Vorwort. Carsten Vogt. Nebenläufige Programmierung. Ein Arbeitsbuch mit UNIX/Linux und Java ISBN: 978-3-446-42755-6 Vorwort Carsten Vogt Nebenläufige Programmierung Ein Arbeitsbuch mit UNIX/Linux und Java ISBN: 978-3-446-42755-6 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42755-6 sowie

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

2A Basistechniken: Weitere Aufgaben

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

Mehr

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

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

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

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

Wiederholung: Beginn

Wiederholung: Beginn B) Webserivces W3C Web Services Architecture Group: "Ein Web Service ist eine durch einen URI eindeutige identifizierte Softwareanwendung, deren Schnittstellen als XML Artefakte definiert, beschrieben

Mehr

Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition)

Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition) Ein Prozess kann unmittelbar vom Zustand 1. Running in den Zustand Ready 2. Running in den Zustand Blocked 3. Ready in den Zustand Running Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition) Der Adressraum

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

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

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

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

Mehr

Nebenläufige Programmierung

Nebenläufige Programmierung Nebenläufige Programmierung Perspektiven der Informatik 27. Januar 2003 Gert Smolka Telefon-Szenario Eine Telefonzelle Mehrere Personen wollen telefonieren Immer nur eine Person kann telefonieren Ressource

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

Objektorientierte Programmierung

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

Mehr

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

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper 1. Der Prozess beginnt im Zustand Erzeugt, nachdem sein Vaterprozess den Systemaufruf fork() (s.u.) abgesetzt hat. In diesem Zustand wird der Prozess-Kontext initialisiert. 2. Ist diese Aufbauphase abgeschlossen,

Mehr

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant?

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant? Übersicht Aktuelle Themen zu Informatik der Systeme: Nebenläufige Programmierung: Praxis und Semantik Einleitung 1 2 der nebenläufigen Programmierung WS 2011/12 Stand der Folien: 18. Oktober 2011 1 TIDS

Mehr

Es kann maximal ein Prozess die Umladestelle benutzen.

Es kann maximal ein Prozess die Umladestelle benutzen. SoSe 0 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung (Musterlösung) 0-06-0 bis 0-06-06 Aufgabe : Erzeuger/Verbraucher-Pattern Ein Getränkemarkt hat

Mehr

Aufgaben: (dazugehörige Kapitel / Seitenangaben in Kursiv: Kapitel Seite Seitennummern)

Aufgaben: (dazugehörige Kapitel / Seitenangaben in Kursiv: Kapitel Seite Seitennummern) Klausur Verteilte Systeme 15.6. R120A 8:00-9:30 5 Aufgaben, 50 Punkte (8 12 pro Aufgabe) 45-50 1.0 44 1.1 35 2.0 25 3.0 15 4.0 http://www.bts.fh-mannheim.de Aufgaben: (dazugehörige Kapitel / Seitenangaben

Mehr

Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun. Übungsklausur

Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun. Übungsklausur Hochschule Mannheim Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun Übungsklausur Aufgabe 1: Definieren Sie den Begriff der Systemsoftware. Nennen Sie die Aufgaben und Komponenten

Mehr

PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN

PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN 2. UNIX/Linux-Prozessverwaltung und zugehörige Systemaufrufe Wintersemester 2015/16 2. Die UNIX/LINUX-Prozessverwaltung Aufgaben: 1. Erzeugen neuer Prozesse

Mehr

A Kompilieren des Kernels... 247. B Lineare Listen in Linux... 251. C Glossar... 257. Interessante WWW-Adressen... 277. Literaturverzeichnis...

A Kompilieren des Kernels... 247. B Lineare Listen in Linux... 251. C Glossar... 257. Interessante WWW-Adressen... 277. Literaturverzeichnis... 1 Einführung................................................ 1 1.1 Was ist ein Betriebssystem?............................... 1 1.1.1 Betriebssystemkern................................ 2 1.1.2 Systemmodule....................................

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

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

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

2A Basistechniken: Lösungen 2A.1 Wissens- und Verständnisfragen

2A Basistechniken: Lösungen 2A.1 Wissens- und Verständnisfragen 2A Basistechniken: Lösungen 2A.1 Wissens- und Verständnisfragen 1.a.) Application Programming Interface 1.b.) Multiprogramming 1.c.) Mehreren Prozessoren, die über einen Bus miteinander verbunden sind

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

Dokumentation IBIS Monitor

Dokumentation IBIS Monitor Dokumentation IBIS Monitor Seite 1 von 16 11.01.06 Inhaltsverzeichnis 1. Allgemein 2. Installation und Programm starten 3. Programmkonfiguration 4. Aufzeichnung 4.1 Aufzeichnung mitschneiden 4.1.1 Inhalt

Mehr

Befehlssatz zum High Speed Interface-88-USB (HSI-88-USB) (ab Firmware 0.71) (Version 1.2)

Befehlssatz zum High Speed Interface-88-USB (HSI-88-USB) (ab Firmware 0.71) (Version 1.2) Kurzbeschreibung: Befehlssatz zum High Speed Interface-88-USB (HSI-88-USB) (ab Firmware 0.71) (Version 1.2) Beim HSI-88-USB handelt es sich um ein Interface vom s88-rückmeldebus zum Universal Serial Bus

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

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

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

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

Mehr

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager Dateiname: ecdl2_03_05_documentation Speicherdatum: 22.11.2004 ECDL 2003 Modul 2 Computermanagement und Dateiverwaltung

Mehr

GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT

GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT Seite 1/7 GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT ZENTRAL LOKALE MANAGEMENT-PLATTFORM FÜR EINE W ELTWEIT SICHERE INDUSTRIELLE KOMMUNIKATION. Seite 2/7 Auf den folgenden Seiten

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

Musterlösung Klausur SS 2004

Musterlösung Klausur SS 2004 Musterlösung Klausur SS 2004 Fachrichtung: Informatik Lehrveranstaltung: Verteilte Systeme Dozent: Prof. G. Bengel Tag: 15.6.04 Bearbeitungszeit: 90 Minuten Name:... Matr.Nr.:... Punkte:... Note:... Hilfsmittel:

Mehr

Einrichtung eines e-mail-konto mit Thunderbird

Einrichtung eines e-mail-konto mit Thunderbird Einrichtung eines e-mail-konto mit Thunderbird In diesem Tutorial zeigen wir Ihnen, wie Sie im Mozilla Thunderbird E-Mailclient ein POP3- Konto einrichten. Wir haben bei der Erstellung des Tutorials die

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

Gefahren aus dem Internet 1 Grundwissen April 2010

Gefahren aus dem Internet 1 Grundwissen April 2010 1 Grundwissen Voraussetzungen Sie haben das Internet bereits zuhause oder an der Schule genutzt. Sie wissen, was ein Provider ist. Sie wissen, was eine URL ist. Lernziele Sie wissen, was es braucht, damit

Mehr

Programmieren I. Kapitel 15. Ein und Ausgabe

Programmieren I. Kapitel 15. Ein und Ausgabe Programmieren I Kapitel 15. Ein und Ausgabe Kapitel 15: Ein und Ausgabe Ziel: einen kleinen Einblick in die vielfältigen IO Klassen geben Grober Überblick Klasse File zur Verwaltung von Dateien Random

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

Steffen Heinzl Markus Mathes. Middleware in Java

Steffen Heinzl Markus Mathes. Middleware in Java Steffen Heinzl Markus Mathes Middleware in Java Leitfaden zum Entwurf verteilter Anwendungen - Implementierung von verteilten Systemen über JMS - Verteilte Objekte über RMI und CORBA Mit 50 Abbildungen

Mehr

Nutzung von GiS BasePac 8 im Netzwerk

Nutzung von GiS BasePac 8 im Netzwerk Allgemeines Grundsätzlich kann das GiS BasePac Programm in allen Netzwerken eingesetzt werden, die Verbindungen als Laufwerk zu lassen (alle WINDOWS Versionen). Die GiS Software unterstützt nur den Zugriff

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

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

Veröffentlichen von Apps, Arbeitsblättern und Storys. Qlik Sense 2.0.6 Copyright 1993-2015 QlikTech International AB. Alle Rechte vorbehalten.

Veröffentlichen von Apps, Arbeitsblättern und Storys. Qlik Sense 2.0.6 Copyright 1993-2015 QlikTech International AB. Alle Rechte vorbehalten. Veröffentlichen von Apps, Arbeitsblättern und Storys Qlik Sense 2.0.6 Copyright 1993-2015 QlikTech International AB. Alle Rechte vorbehalten. Copyright 1993-2015 QlikTech International AB. Alle Rechte

Mehr

9 Multithreading. 1 Idee des Multithreading

9 Multithreading. 1 Idee des Multithreading 9 Multithreading Jörn Loviscach Versionsstand: 21. Juli 2015, 11:50 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work is licensed

Mehr

Szenario 3: Service mit erweiterter Schnittstelle

Szenario 3: Service mit erweiterter Schnittstelle 2. Hintergrundverarbeitung in Android: Services und Notifications Szenarien für lokale Services Szenario 3: Service mit erweiterter Schnittstelle Ein Service bietet zusätzliche Methoden an, über die sich

Mehr

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten 2008 netcadservice GmbH netcadservice GmbH Augustinerstraße 3 D-83395 Freilassing Dieses Programm ist urheberrechtlich geschützt. Eine Weitergabe

Mehr

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen 9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.

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

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

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014)

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014) Handbuch NAFI Online-Spezial 1. Auflage (Stand: 24.09.2014) Copyright 2016 by NAFI GmbH Unerlaubte Vervielfältigungen sind untersagt! Inhaltsangabe Einleitung... 3 Kundenauswahl... 3 Kunde hinzufügen...

Mehr

WinVetpro im Betriebsmodus Laptop

WinVetpro im Betriebsmodus Laptop WinVetpro im Betriebsmodus Laptop Um Unterwegs Daten auf einem mobilen Gerät mit WinVetpro zu erfassen, ohne den Betrieb in der Praxis während dieser Zeit zu unterbrechen und ohne eine ständige Online

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

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur

Mehr

Tutorial - www.root13.de

Tutorial - www.root13.de Tutorial - www.root13.de Netzwerk unter Linux einrichten (SuSE 7.0 oder höher) Inhaltsverzeichnis: - Netzwerk einrichten - Apache einrichten - einfaches FTP einrichten - GRUB einrichten Seite 1 Netzwerk

Mehr

Verteilte Systeme - 1. Übung

Verteilte Systeme - 1. Übung Verteilte Systeme - 1. Übung Dr. Jens Brandt Sommersemester 2011 1. Rechnerverbünde Kommunikationsverbund: Beispiele: E-Mail (SMTP, POP/IMAP), Instant Messaging (XMPP, IRC, ICQ,...), Newsgroups (NNTP)

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

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 -

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 - Matrix42 Use Case - Sicherung und Rücksicherung persönlicher Version 1.0.0 23. September 2015-1 - Inhaltsverzeichnis 1 Einleitung 3 1.1 Beschreibung 3 1.2 Vorbereitung 3 1.3 Ziel 3 2 Use Case 4-2 - 1 Einleitung

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

Einrichten einer DFÜ-Verbindung per USB

Einrichten einer DFÜ-Verbindung per USB Einrichten einer DFÜ-Verbindung per USB Hier das U suchen Sie können das Palm Treo 750v-Smartphone und den Computer so einrichten, dass Sie das Smartphone als mobiles Modem verwenden und über ein USB-Synchronisierungskabel

Mehr

Speicher in der Cloud

Speicher in der Cloud Speicher in der Cloud Kostenbremse, Sicherheitsrisiko oder Basis für die unternehmensweite Kollaboration? von Cornelius Höchel-Winter 2013 ComConsult Research GmbH, Aachen 3 SYNCHRONISATION TEUFELSZEUG

Mehr

Stepperfocuser 2.0 mit Bootloader

Stepperfocuser 2.0 mit Bootloader Stepperfocuser 2.0 mit Bootloader Info Für den Stepperfocuser 2.0 gibt es einen Bootloader. Dieser ermöglicht es, die Firmware zu aktualisieren ohne dass man ein spezielles Programmiergerät benötigt. Die

Mehr

Widerrufsbelehrung der Free-Linked GmbH. Stand: Juni 2014

Widerrufsbelehrung der Free-Linked GmbH. Stand: Juni 2014 Widerrufsbelehrung der Stand: Juni 2014 www.free-linked.de www.buddy-watcher.de Inhaltsverzeichnis Widerrufsbelehrung Verträge für die Lieferung von Waren... 3 Muster-Widerrufsformular... 5 2 Widerrufsbelehrung

Mehr

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken?

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken? UErörterung zu dem Thema Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken? 2000 by christoph hoffmann Seite I Gliederung 1. In zu großen Mengen ist alles schädlich. 2.

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Multimedia und Datenkommunikation

Multimedia und Datenkommunikation Multimedia und Datenkommunikation Einteilung in Unterpunkte Netzwerk Audioausgabe Internetzugang Basis des Projektes Büro 5 Mitarbeiter Datenaustausch via Diskette Kein Netzwerk Ein Nadeldrucker Netzwerke

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

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

Musterlösung Prüfung SS 2002

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

Mehr

Bereich METIS (Texte im Internet) Zählmarkenrecherche

Bereich METIS (Texte im Internet) Zählmarkenrecherche Bereich METIS (Texte im Internet) Zählmarkenrecherche Über die Zählmarkenrecherche kann man nach der Eingabe des Privaten Identifikationscodes einer bestimmten Zählmarke, 1. Informationen zu dieser Zählmarke

Mehr

Pocket KVM Switches USB + Audio

Pocket KVM Switches USB + Audio Handbuch Pocket KVM Switches USB + Audio deutsch Handbuch_Seite 2 Inhalt 1. Einleitung 4 2. Installation 4 3. Einfache Bedienung 6 3.1. KVM Switch Tasten 6 3.2. Keyboard Hotkeys 6 3.3. KVM Switch Software

Mehr

Wenn man nach Beendigung der WINDOWS-SICHERUNG folgendes angezeigt bekommt

Wenn man nach Beendigung der WINDOWS-SICHERUNG folgendes angezeigt bekommt 1. Für alle, die mit wenig zufrieden sind Wenn man nach Beendigung der WINDOWS-SICHERUNG folgendes angezeigt bekommt Bild 1 bekommt man erst mal einen Schreck. Die Meldung wurden nicht gesichert beunruhigt,

Mehr

A Lösungen zu Einführungsaufgaben zu QueueTraffic

A Lösungen zu Einführungsaufgaben zu QueueTraffic A Lösungen zu Einführungsaufgaben zu QueueTraffic 1. Selber Phasen einstellen a) Wo im Alltag: Baustelle, vor einem Zebrastreifen, Unfall... 2. Ankunftsrate und Verteilungen a) poissonverteilt: b) konstant:

Mehr

Implementation of a Framework Component for Processing Tasks within Threads on the Application Level

Implementation of a Framework Component for Processing Tasks within Threads on the Application Level Implementation of a Framework Component for Processing Tasks within Threads on the Application Level Deutsches Krebsforschungszentrum, for Processing Task within Threads on the Application Level Motivation

Mehr

Benutzerhandbuch - Elterliche Kontrolle

Benutzerhandbuch - Elterliche Kontrolle Benutzerhandbuch - Elterliche Kontrolle Verzeichnis Was ist die mymaga-startseite? 1. erste Anmeldung - Administrator 2. schnittstelle 2.1 Administrator - Hautbildschirm 2.2 Administrator - rechtes Menü

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

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen von x-y-diagrammen in OpenOffice.calc Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei

Mehr

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen Inhalt 1. Die Funambol Software... 3 2. Download und Installation... 3 3.

Mehr

Übungen zum Fach Betriebssysteme Kapitel 3

Übungen zum Fach Betriebssysteme Kapitel 3 Übungen zum Fach Betriebssysteme Kapitel 3 Prof. Dr. Kern & Prof. Dr. Wienkop Prozessverwaltung 1 Prozeßauslagerung Ein Betriebssystem, das die Zustände "rechnend", "bereit" und "wartend" sowie den künstlichen

Mehr

BANKETTprofi Telefonschnittstelle

BANKETTprofi Telefonschnittstelle BANKETTprofi Telefonschnittstelle Aufbau der BANKETTprofi Telefonschnittstelle BANKETTprofi 800 Anwendung Im BANKETTprofi wird eine Rufnummer angewählt BANKETTprofi TAPI-Plugin Dieser Befehl wird vom TAPI-Plugin

Mehr

Statuten in leichter Sprache

Statuten in leichter Sprache Statuten in leichter Sprache Zweck vom Verein Artikel 1: Zivil-Gesetz-Buch Es gibt einen Verein der selbstbestimmung.ch heisst. Der Verein ist so aufgebaut, wie es im Zivil-Gesetz-Buch steht. Im Zivil-Gesetz-Buch

Mehr

Stundenerfassung Version 1.8

Stundenerfassung Version 1.8 Stundenerfassung Version 1.8 Anleitung Überstunden Ein Modul der Plusversion 2008 netcadservice GmbH netcadservice GmbH Augustinerstraße 3 D-83395 Freilassing Dieses Programm ist urheberrechtlich geschützt.

Mehr

Handbuch ECDL 2003 Professional Modul 3: Kommunikation Kalender freigeben und andere Kalender aufrufen

Handbuch ECDL 2003 Professional Modul 3: Kommunikation Kalender freigeben und andere Kalender aufrufen Handbuch ECDL 2003 Professional Modul 3: Kommunikation Kalender freigeben und andere Kalender aufrufen Dateiname: ecdl_p3_02_03_documentation.doc Speicherdatum: 08.12.2004 ECDL 2003 Professional Modul

Mehr

Webalizer HOWTO. Stand: 18.06.2012

Webalizer HOWTO. Stand: 18.06.2012 Webalizer HOWTO Stand: 18.06.2012 Copyright 2003 by manitu. Alle Rechte vorbehalten. Alle verwendeten Bezeichnungen dienen lediglich der Kennzeichnung und können z.t. eingetragene Warenzeichen sein, ohne

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Leseprobe. Bruno Augustoni. Professionell präsentieren. ISBN (Buch): 978-3-446-44285-6. ISBN (E-Book): 978-3-446-44335-8

Leseprobe. Bruno Augustoni. Professionell präsentieren. ISBN (Buch): 978-3-446-44285-6. ISBN (E-Book): 978-3-446-44335-8 Leseprobe Bruno Augustoni Professionell präsentieren ISBN (Buch): 978-3-446-44285-6 ISBN (E-Book): 978-3-446-44335-8 Weitere Informationen oder Bestellungen unter http://wwwhanser-fachbuchde/978-3-446-44285-6

Mehr

Konfiguration des Novell GroupWise Connectors

Konfiguration des Novell GroupWise Connectors Konfiguration des Novell GroupWise Connectors Installation und Konfiguration Version 2013 Spring Release Status: 09. März 2013 Copyright Mindbreeze Software GmbH, A-4020 Linz, 2013. Alle Rechte vorbehalten.

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

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

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

2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen

2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen 2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen Dienste des Internets Das Internet bietet als riesiges Rechnernetz viele Nutzungsmöglichkeiten, wie etwa das World

Mehr

Elternzeit Was ist das?

Elternzeit Was ist das? Elternzeit Was ist das? Wenn Eltern sich nach der Geburt ihres Kindes ausschließlich um ihr Kind kümmern möchten, können sie bei ihrem Arbeitgeber Elternzeit beantragen. Während der Elternzeit ruht das

Mehr

Abwesenheitsnotiz im Exchange Server 2010

Abwesenheitsnotiz im Exchange Server 2010 Abwesenheitsnotiz im Exchange Server 2010 1.) Richten Sie die Abwesenheitsnotiz in Outlook 2010 ein und definieren Sie, an welche Absender diese gesendet werden soll. Klicken Sie dazu auf Datei -> Informationen

Mehr