Prozess- synchro- nisation

Größe: px
Ab Seite anzeigen:

Download "Prozess- synchro- nisation"

Transkript

1 Kap. 3 Prozess- synchro- nisation Version vom Kap. 3 - Inhalt Kritische Abschnitte Software-Lösungen Semaphore Hardware-Lösungen Synchronisationsprobleme Prozeßkommunikation Verklemmungen Folie 2

2 Kritische Abschnitte I Prozesse heissen nebenläufig (konkurrent), wenn sie zur gleichen Zeit existieren. Ziele: o Vermeidung ungewollter gegenseitiger Beeinflussung o Unterstützung gewollter Kooperation wie: Sharing von Betriebsmitteln, Übermittlung von Signalen, Nachrichtenaustausch, etc. o Fazit: Mechanismen zur Synchronisation und Kommunikation sind notwendig Folie 3 Kritische Abschnitte II Bei Programmen, die nebenläufigen Prozessen zugrunde liegen, unterscheidet man: 1. Unkritische Abschnitte, in denen nicht auf gemeinsame Daten zugegriffen wird (oder von allen Prozessen nur lesend) 2. Kritische Abschnitte, in denen auf gemeinsame Daten zugegriffen wird (nicht nur lesend) Zerlegung in kritische und unkritische Abschnitte ist eindeutig. Folie 4

3 Kritische Abschnitte III Situation: Drucker-Spooler Folie 5 Kritische Abschnitte IV Folie 6

4 Kritische Abschnitte V - Forderungen (Dijkstra 1965) Zwei Prozesse dürfen nicht gleichzeitig in ihren kritischen Abschnitten sein (Gegenseitiger Ausschluß, mutual exclusion). Jeder Prozeß, der am Eingang eines kritischen Abschnitts wartet, muß irgendwann den Abschnitt auch betreten dürfen: kein ewiges Warten darf möglich sein (fairness condition). Ein Prozeß darf außerhalb eines kritischen Abschnitts einen anderen Prozeß nicht blockieren. Es dürfen keine Annahmen über die Abarbeitungsgeschwindigkeit oder Anzahl der Prozesse bzw. Prozessoren gemacht werden. Folie 7 Kritische Abschnitte VI Gegenseitiger Ausschluß Folie 8

5 Kritische Abschnitte VII Modellproblem: Wir betrachten zyklische Prozesse der Gestalt: Prolog Kritischer Abschnitt Epilog Unkritischer Abschnitt Folie 9 Kritische Abschnitte VIII Welche Verfahren gibt es? Software-Lösungen für 2 oder mehr Prozesse Hardware-Lösungen Betriebssystem-Lösungen (Semaphore/Mutexe) Lock-Files (langsam) File/Record-Locking (nur für Filezugriff) Nachrichten-Lösungen (sehr allgemein) Abstrakte Datentypen (Monitore) Folie 10

6 Software-Lösungen I - erster Versuch Naiver Ansatz: mutual exclusion mit globaler Variabler Wartesperre errichten, bis kritischer Abschnitt frei Prozeß 1 Prozeß WHILE dran 1 DO NoOp END; Kritischer Abschnitt WHILE dran 2 DO NoOp END; Kritischer Abschnitt dran := 2; dran := 1; Problem: nur abwechselnde Benutzung des kritischen Abschnitts, Prozeß blockiert sich selbst (nicht-notw. Blockade und fairness verletzt bei ewigem Warten) Folie 11 Software-Lösungen II : zweiter Versuch Verbesserung: Zugang nur blockiert beim Aufenthalt in krit. Abschnitt Prozeß 1 Prozeß WHILE drin2=true DO NoOp END; drin1 := TRUE; Kritischer Abschnitt WHILE drin1= TRUE DO NoOp END; drin2 := TRUE; Kritischer Abschnitt drin1 := FALSE; drin2 := FALSE; Problem: Unterbrechbarkeit der Vor-Protokolle Folie 12

7 Software-Lösungen III : dritter Versuch Verbesserung: Vertauschung im Protokoll Prozeß 1 Prozeß DO drin1 := TRUE; WHILE drin2 = TRUE DO NoOp END; Kritischer Abschnitt drin2 := TRUE; WHILE drin1 = TRUE DO NoOp END; Kritischer Abschnitt drin1 := FALSE; drin2 := FALSE; Besser? Folie 13 Software-Lösungen IV : vierter Versuch Algorithmus von Peterson Verbesserung: eine globale Variable, 2 Prozeß-Zustandsvariable. Initialisierung: Interesse1 = Interesse2 = FALSE Prozeß 1 Prozeß Interesse1 := TRUE; dran := 1; WHILE dran=1 AND Interesse2=TRUE DO NoOp END; Kritischer Abschnitt Interesse2 := TRUE; dran := 2; WHILE dran=2 AND Interesse1=TRUE DO NoOp END; Kritischer Abschnitt Interesse1 := FALSE; Interesse2 := FALSE; Folie 14

8 Software-Lösungen V - Diskussion Es gibt Verallgemeinerungen auch für n>2 Prozesse, die mit Arrays von Zustandsvariablen arbeiten! Probleme: o Busy Waiting o Notwendigkeit gemeinsamer Variabler o Kompliziertheit o Viele Fehlermöglichkeiten Folie 15 Semaphore I Semaphore (Signalbarken, Dijkstra 1965) Passieren P(s) Aufruf vor krit. Abschnitt, Warten falls besetzt Verlassen V(s) Aufruf nach krit. Abschnitt, Aktivieren eines wartenden Prozesses Synchronisierung zweier Prozesse - Initialisierung s = 1 Prozeß 1 Prozeß P(s) Kritischer Abschnitt V(s) P(s) Kritischer Abschnitt V(s) Folie 16

9 Semaphore IIa Implem. durch busy waiting Software Pseudo-Code Semaphore=Zähler, initial s=1 PROCEDURE P(VAR s:integer) BEGIN WHILE s<=0 DO NoOp END; Ununterbrechbar, sobald s>0 s:=s-1; gefunden wird END P; PROCEDURE V(VAR s:integer) BEGIN s:=s+1; END V; Ununterbrechbar! Problem: spin locks können fairness verletzten, wenn niedrig-priorer Prozeß im krit. Abschnitt Folie 17 Semaphore III Implem. durch Schlafen Software Pseudo-Code Datenstruktur TYPE Semaphor = RECORD PROCEDURE P(VAR s:semaphor) value: INTEGER; BEGIN list : ProcessList; s.value:=s.value-1; END; IF s.value < 0 THEN einhängen(myid,s.list); sleep; Initial: s.value:=1 END; END P; PROCEDURE V(VAR s:semaphor) VAR PID: ProcessId; BEGIN IF s.value < 0 THEN PID:=aushängen(s.list); wakeup(pid); END; s.value:=s.value +1; END V; Folie 18

10 Semaphore IV Impl. durch Schlafen Implementierung von Semaphoren als Systemaufrufe ist üblich. Dabei erfolgt Benutzung der BS-internen Routinen zum Sich-Schlafen-Legen und Aufwecken. Wesentlich ist die Unteilbarkeit der Implementierung von P() und V(): Auf Einprozessorsystemen: Unteilbarkeit kann durch Sperren aller Unterbrechungen wahrend der Ausführung von P() und V() erreicht werden. Zulässig, da nur wenige Maschineninstuktionen zur Implementierung notig sind. Folie 19 Semaphore V Impl. durch Schlafen Auf Multiprozessorsystemen: Jedem Semaphor wird eine mittels Test-and-Set realisierte Sperrvariable mit Aktivem Warten vorgeschaltet. Hierdurch kann zu jedem Zeitpunkt nur höchstens ein Prozessor den Semaphor manipulieren. Beachte: Unterschiede zwischen Aktivem Warten auf den Zugang zum Semaphor, der einen kritischen Abschnitt schützt (einige Instruktionen, Mikrosekunden) und Aktivem Warten auf den Zugang zum kritischen Abschnitt selbst (problemabhangig, Zeitdauer nicht vorab bekannt oder begrenzt). Folie 20

11 Semaphore VI Klassifizierung Zählsemaphore Wertebereich 0, 1, 2, 3,... Für allgemeinere Aufgabenstellungen geeignet, z.b. für Erzeuger-Verbraucher-Problem Binäre Semaphore Wertebereich 0, 1 Nur für gegenseitigen Ausschluß geeignet : Mutexe Folie 21 Semaphore VII UNIX IPC-Paket Das IPC-Paket von UNIX System V besteht aus : Semaphoren Shared Memory Message Queues und bietet dafür die Systemaufrufe semget, semop, semctl shmget, shmat, shmdt, shmctl msgget, msgsnd, msgrvc, msgctl sowie die Komandos ipcs und ipcrm an. Folie 22

12 Semaphore VIII in Unix Manipulation von Arrays von Semaphoren: semctl() semget() semop() Semaphorkontrolloperationen: Initialisierung, Löschen, etc. Semaphor erzeugen bzw. Öffnen Verallgemeinerte Semaphoroperationen, als Spezialfall einfache P() und V()-Operation Folie 23 Semaphore IX in Unix Mutexe für Threadkommunikation pthread_mutex_t <- Datentyp pthread_mutex_lock() pthread_mutex_unlock() Folie 24

13 Semaphore X - in Windows NT Prozesse CreateSemaphore() OpenSemaphore() WaitForSingleObject ReleaseSemaphore() Erzeugen Initialisieren (Sema,TimeOutVal) P(s) V(s) Threads Semaphore = Typ CRITICAL_SECTION InitializeCriticalSection(S) EnterCriticalSection(S) P(s) LeaveCriticalSection(S) V(s) Kernprozesse Spin locks: keine Referenzen zu Disk-Speicher, keine traps&syscalls Folie 25 Semaphore XI - Atomare Aktionen Beispiel: Geldtransaktion Sie überweisen Computerabsturz! Abbuchung 2000 Empfänger-Gutbuchung 2000 Wo ist das Geld? Keine oder neue Überweisung = Verlust! Forderung: Atomare Aktion Entweder vollständige Transaktion oder gar keine! ( roll back bei Abbruch) Folie 26

14 Semaphore XII - Probleme Mögliche Fehler bei P/V-Anwendung Vertauschung : alle sind nun gleichzeitig im krit. Abschnitt V(mutex);... krit. Abschnitt...; P(mutex); Replikation oder Weglassen: ewiges Warten P(mutex);... krit. Abschnitt...; P(mutex); Falsche Reihenfolge Erzeuger P(freiePlätze); P(mutex); putinbuffer(item); V(mutex); V(belegtePlätze); Erzeuger-Verbraucher-Problem Erzeuger P(mutex); P(freiePlätze); putinbuffer(item); V(mutex); V(belegtePlätze); Folie 27 Hardware-Lösungen I - Atomare Aktionen Interrupts ausschalten (Probleme: timer, power failure, I/O) Atomare Instruktionsfolgen Test And Set (test and set lock) PROCEDURE TestAndSet(VAR target:boolean): BOOLEAN VAR tmp:boolean; tmp:=target; target:= TRUE; RETURN tmp; END TestAndSet; Swap PROCEDURE swap(var source,target: BOOLEAN) VAR tmp:boolean; tmp:=target; target:=source; source:=tmp; END swap; Fetch And Add PROCEDURE fetchandadd(var a, value:integer) VAR tmp:boolean; tmp:=a; a:=tmp+value; RETURN tmp; END fetchandadd; Folie 28

15 Hardware-Lösungen II : Synchronisation Mit TSL: Initialisierung: lock :=0; Prozeß 1 Prozeß enter: rg := test_and_set(lock); if rg > 0 then goto enter; enter: rg := test_and_set(lock); if rg > 0 then goto enter; Kritischer Abschnitt Kritischer Abschnitt lock := 0; lock := 0; Problem:? Folie 29 Synchronisationsprobleme I - Überblick Präzedenzrelationen Speisende Philosophen Erzeuger-Verbraucher-Problem readers/writers-problem Der schlafender Friseur... Folie 30

16 Synchronisationsprobleme II - Prozesse Präzedenzgraph A B E C D Implementierung mit Semaphoren PROCESS A: TaskBodyA; V(b); V(c); END A; PROCESS B: P(b); TaskBodyB; V(d1);V(e); END B; PROCESS C: P(c); TaskBodyC; V(d2); END C; PROCESS D: P(d1); P(d2); TaskBodyD; END D; PROCESS E: P(e); TaskBodyE; END E; Globale Variable b,c,d1,d2,e mit 0 initialisieren. Folie 31 Synchronisationsprobleme III Speisende Philosophen Philosophen essen/denken Zum Essen braucht man 2 Gabeln Aufgabe: wie kommt man zu koordiniertem Essen und Denken, bzw. wie verhindert man das Verhungern? Folie 32

17 Synchronisationsprobleme IV Speisende Philosophen Ausgangspunkt für Lösung: wo liegt das Problem? Folie 33 Synchronisation V - Erzeuger-Verbraucher 1. Erzeuger-Prozeß erzeugt Daten 2. Verbraucher-Prozeß verbraucht Daten 3. Unterschiedliche Erzeuger/Verbraucher-Raten 4. Endlicher Puffer zur Zwischenspeicherung der Daten 5. Protokoll? Folie 34

18 Synchronisation VI - Erzeuger-Verbraucher Lösung Semaphoren einführen: belegteplätze:=0, freieplätze:=n, mutex:=1 Erzeuger LOOP produce( item) P(freiePlätze); P(mutex); putinbuffer( item); V(mutex); V(belegtePlätze); END Verbraucher LOOP P(belegtePlätze); P(mutex); getfrombuffer( item); V(mutex); V(freiePlätze); consume( item); END Folie 35 Synchronisation VII - Erzeuger-Verbraucher Mögliche Fehler bei Semaphor-Lösung Falsche Reihenfolge Erzeuger-Verbraucher-Problem Erzeuger P(freiePlätze); P(mutex); putinbuffer(item); V(mutex); V(belegtePlätze); Erzeuger P(mutex); P(freiePlätze); putinbuffer(item); V(mutex); V(belegtePlätze); Folie 36

19 Synchronisation IX readers/writers Das berühmte readers/writers-problem (Courtois et. alt. 1971) modelliert den Zugriff auf eine Datenbank. Beispiel: Datenbank für Reservierungssystem einer Fluggesellschaft mit vielen konkurrierenden Prozessen, die Lese- und Schreibwünsche haben. Wenn mehrere Prozesse gleichzeitig lesen, ist dies akzeptabel, aber wenn ein Prozeß schreibt, darf kein anderer Prozeß zugreifen, nicht einmal lesend. Folie 37 Synchronisation X : readers/writers - Problem Aufgabe: Koordination Lesen-Schreiben von Dateien Erstes readers/writers-problem (Vorrang für Leser) Ein Leser soll nur warten, falls ein Schreiber bereits Zugriffsrecht zum Schreiben bekommen hat. Dies bedeutet, daß kein Leser auf einen anderen Leser warten muß, nur weil ein Schreiber wartet. Problem: Schreiber wartet ewig Zweites readers/writers-problem (Vorrang für Schreiber) Wenn ein Schreiber bereit ist, führt er das Schreiben so schnell wie möglich durch. Wenn also ein Schreiber bereit ist, die Zugriffsrechte zu bekommen, dürfen keine neuen Leser mit Lesen beginnen. Problem: Leser wartet ewig Folie 38

20 Synchronisation XI - readers/writers Semaphore ReadSem : Anzahl der Leser im krit. Abschnitt RWSem : mutex f. Lesen/Schreibvorgang Lesen Schreiben P(ReadSem); readcount:=readcount+1; IF readcount=1 THEN P(RWSem) END; V(ReadSem);... Reading_Data();... P(ReadSem); readcount:=readcount-1; IF readcount=0 THEN V(RWSem) END; V(ReadSem); P(RWSem);... Writing_Data();... V(RWSem); Folie 39 Synchronisation XII Der schlafende Friseur Folie 40

21 Synchronisation XIII Der schlafende Friseur Im Friseursalon stehen der Friseurstuhl und n Stühle zum Warten Wenn kein Kunde da ist, schläft der Friseur im Friseurstuhl Wenn ein Kunde hereinkommt, weckt er den schlafenden Friseur Falls zusätzliche Kunden kommen, während der Friseur die Haare eines Kunden schneidet, nehmen sie auf einem der Warte-Stühle Platz, falls welche frei sind. Andernfalls gehen sie wieder. Problem: Friseur und Kunden sind so zu programmieren, daß keine Race-Conditions auftreten. Dieses Problem ähnelt Problemen bei Warteschlangen mit mehreren Beratern und eingehenden Beratungswünschen. Folie 41 Prozeßkommunikation I Gegenüber der Prozeßsynchronisation ist die Kommunikation zwischen Prozessen ein allgemeineres Problem, bei dem es um die Übertragung von Nutzdaten geht. Dabei können auch Prozesse auf verteilten Rechnern betrachtet werden. Überblick: Signale (keine Nutzdaten, nur Info über Ereignis) Pipes Nachrichtensysteme Shared Memory Folie 42

22 Prozeßkommunikation II Signale Problem: Synchrones Warten blockiert Prozesse Abhilfe: Benachrichtigung durch asynchrone Signale (Software-Interrupts) o Aufsetzen der Reaktion auf ein Signal, z.b. sigaction() o Abarbeiten des Programms o Bei Signaleintritt Abarbeiten der angegebenen ISR o Weiterarbeiten im Programm Folie 43 Prozeßkommunikation III Signale POSIX Signale Folie 44

23 Prozeßkommunikation IV - Signale System Calls for Process Management s : Errorcode pid : Prozeß-ID residual : verbleibende Zeit vom vorigen Alarm Folie 45 Prozeßkommunikation V - Nachrichtenaustausch Allgemeinere Form der Kommunikation ohne gemeinsamen Speicher Nachrichtenausstausch ist sowohl für zentralisierte als auch verteilte Systeme möglich Aufgabe: Bereitstellung eines Mechanismus, mit dem Prozesse einander Nachrichten zukommen lassen können, ohne über gemeinsamen Speicher zu verfügen Folie 46

24 Prozeßkommunikation VI - Nachrichtenaustausch Operationen: - send( msg,... ) Senden einer Nachricht durch Sender(-Prozeß) - receive ( msg,... ) Empfangen einer Nachricht durch Empfänger (-Prozeß) Folie 47 Prozeßkommunikation VII - Nachrichtenaustausch Verbindung: - Verbindung ist notwendig, sie heißt Kommunikationskanal - Ein Prozeß kann mehrere Kanäle zur gleichen Zeit aufrecht erhalten - Anzahl der Teilnehmer eines Kanals Regelfall: 2 - Sonderfälle: > 2 - Richtung des Kanals: unidirektional - bidirektional Folie 48

25 Prozeßkommunikation VIII - Nachrichtenaustausch Wichtige Entwurfsaspekte: Adressierung, Pufferung, Nachrichtenstruktur, Implementierung Adressierung - direkt: Sender gibt Name des Empfängers an und umgekehrt - indirekt: Kommunikation erfolgt über Zwischenstationen, sog. Mailboxen Pufferung - Kapazität eines Kanals: Anzahl der Nachrichten, die darin gespeichert werden können, um Sender und Empfänger zeitlich zu entkoppeln Folie 49 Prozeßkommunikation IX - Nachrichtenaustausch Kapazität Null (keine Pufferung): Rendevouz (Ada) - Warten ohne Pufferung aufeinander: Sender wird blockiert, wenn sein send vor dem receive stattfindet. Empfänger wird blockiert, wenn receive vor dem send stattfindet. Nachricht wird ohne Zwischenspeicherung vom Sendern zum Empfänger kopiert. Folie 50

26 Prozeßkommunikation X - Nachrichtenaustausch Beschränkte Kapazität - Warteraum der Kapazität N - send blockiert bei vollem Warteraum - receive blockiert bei leerem Warteraum Unbeschränkte Kapazität - Blockierung nur bei receive (leerer Warteraum) - Warteplätze werden von Sender oder Empfänger mitgebracht Folie 51 Prozeßkommunikation XI - Nachrichtenaustausch Nachrichtenstruktur - bei typisierten Nachrichten Message = Kopf + Daten TYPE tmessage= RECORD EmpfängerAdresse: STRING; AbsenderAdresse: STRING; NachrichtenTyp: tmsgtyp; SequenzNummer: INTEGER; Länge: CARDINAL; Data: POINTER TO tblock; // oder inline END; - untypisierten Nachrichten: Bytestrom Folie 52

27 Prozeßkommunikation XII - Nachrichtenaustausch Implementierung - Buffer ist im BS-Kern angesiedelt -Bei send wird Nachricht aus dem Adressraum des Prozesses in den Puffer im Kern kopiert. -Bei receive wird Nachricht aus dem Puffer im Kern in den Adreßraum des Empfängers kopiert Folie 53 Prozeßkommunikation XIII - Nachrichtenaustausch Struktur einer Mailbox = Nachrichtenpuffer z.b. TYPE Mailbox = RECORD SenderQueue: tlist; EmpfängerQueue: tlist; MsgQueue : tlist; MsgZahl : INTEGER; einhängen(tmsg):procedure; aushängen(tmsg):procedure; END Folie 54

28 Prozeßkommunikation XIV - Nachrichtenaustausch Verbindungsorientierte Kommunikation openconnection (Adresse) send(message)/ receive(message) closeconnection Feststellen, ob der Empfänger existiert und bereit ist: Aufbau der Verbindung Nachrichtenaustausch; Leeren der Nachrichtenpuffer, Beenden der Verbindung Verbindungslose Kommunikation send (Adresse, Message) / receive(adresse, Message) Folie 55 Prozeßkommunikation XV - Adressierung Eindeutige Adressierung: Qualifizierte ID mit PID Adresse = Prozeß-ID.RechnerName.Firma.Land z.b syssrv1.informatik.fh-wiesbaden.de Problem: Prozeß wechselt ID bei Neustart, Aufgabe bleibt Lösung: logische ID, nicht physische. Beispiel: Drucker Prädikatsadresse: Spezifikationen als Adresse (IF 386-CPU AND Java_installiert AND Drucker) =True: fühle dich angesprochen, sonst nicht. Arbeitsverteilung! Folie 56

29 Prozeßkommunikation XVI Pipes Unix pipe(), dup() - unidirektionale Kommunikation Programm1 Programm2.. Programm N Programm 1 write() read() Programm 2 Nur zwischen Prozessen möglich, deren Vorfahr die Pipe erzeugt hat. Unix Named Pipes (FIFOs) : Einträge im Filesystem: mkfifo(), mknod() Folie 57 Prozeßkommunikation XVII Pipes Windows NT CreatePipe() Bidirektionale pipes Globale Kommunikation: named pipes Folie 58

30 Prozeßkommunikation XVIII Message Queues Unix Message Queues sind wie Semaphore und Shared Memory Teil des IPC-Pakets msgctl() msgget() msgsnd() msgrcv() Management der Queue Queue erzeugen, öffnen Message senden Message empfangen Folie 59 Prozeßkommunikation XIX - Synchronisation Synchronisation durch Kommunikation putinbuffer(item) send(consumer,item) Item internen Puffer, geregelt mit P() und V() getfrombuffer(item) receive(producer,item) interner Puffer Item, geregelt mit P() und V() Erzeuger LOOP produce(item); send(consumer,item); END Verbraucher LOOP receive(producer,item); consume(item); END Folie 60

31 Prozeßkommunikation XX - Synchronisation Synchronisierung von n Prozessen durch ein Nachrichtensystem mit indirekter Adressierung Initialisierung: create_mailbox(mutex); send(mutex, message); Prozeß 1 Prozeß receive(mutex, msg) receive(mutex, msg) Kritischer Abschnitt Kritischer Abschnitt send(mutex, msg) send(mutex, msg) Folie 61 Prozeßkommunikation XXI - Synchronisation Zusammenfassung: Nachrichtensysteme unter Unix Pipes (pipe(), dup(), read(), write(), close()) Named Pipes (FIFOs) (mknod(), open(), read(), write(), close()) Stream Pipes (socket_pair(), read(), write(), close()) IPC Message Queues (msgget(), msgsnd(), msgrcv, msgctl()) UNIX Domain Sockets / Internet Domain Sockets (socket(), bind(), listen(), connect(), accept(), send(), recv(), read(), write(), close(), select(), sendto(), revcfrom()) Folie 62

32 Prozeßkommunikation XXII Shared Memory Unix Shared Memory gehört wie Semaphore und Message Queues zum IPC-Paket shmctl() shmget() shmat() shmdt() Management des SM-Segmentes SM-Segment erzeugen, öffnen SM-Segment in Prozeß-Adreßraum einblenden SM-Segment ausblenden Zur Synchronisation des Zugriffs sind i.a. Semaphore, etc. notwendig Folie 63 Verklemmungen I (deadlocks) (a) Möglicher Deadlock. (b) Entstandener Deadlock. Folie 64

33 Verklemmungen II Beispiel: Datei bearbeiten und ausdrucken durch zwei Prozesse P1 P1 P2 P2 hat die Datei, will den Drucker hat den Drucker, will die Datei Drucker Folie 65 Verklemmungen III Notwendige und hinreichende Bedingungen 1. Beschränkte Belegung (mutual exclusion) semaphorgeregelter Zugang 2. Zusätzliche Belegung (hold-and-wait) hat Drucker, will Datei 3. Keine vorzeitige Rückgabe (no preemption) behält Datei bzw. Drucker 4. Gegenseitiges Warten (circular wait) P1 wartet auf P2, P2 wartet auf P1 Folie 66

34 Verklemmungen IV Strategien: das Problem ignorieren, die Verklemmungen erkennen und beseitigen, die Verklemmungen vermeiden, die Verklemmungen verhindern (unmöglich machen). eine der Bedingungen (1) (4) verhindern Folie 67 Verklemmungen V Erkennen und beseitigen Anzeichen: viele Prozesse warten, aber CPU ist idle Prozesse müssen zu lange warten Betriebsmittelgraph (resource allocation graph) P 1 P 3 B 3 B 1 B 2 P 4 P 5 P 2 B 4 Verklemmungsbedingungen erfüllt bei Zyklen im Graphen Folie 68

35 Verklemmungen VIII Beseitigen Prozesse abbrechen z.b. verklemmten Prozeß oder Prozeß mit notw. BM Prozesse zurücksetzen auf check point und verklemmenden Prozess warten lassen Betriebsmittel entziehen von verklemmtem Prozeß und warten, bis BM frei werden. Folie 69 Verklemmungen IX Verklemmungsbedrohte Zustände vermeiden Test: Banker-Algorithmus (Dijkstra 1965) konservative Kreditausleihe eines Bankers: Gib nur Kredit, wenn auch die Wünsche von anderen, vorgemerkten Kunden berücksichtigt werden können bei sichergestellter Rückzahlung. Verklemmung-JA = Verklemmungsbedrohung; sie muß nicht eintreten, wenn rechtzeitig BM zurückgegeben werden. Vermeidung: lehne eine neue BM-Anforderung ab, wenn der Test sagt, daß dies zu einer Verklemmung führen kann. Aber: Realität unbekannte BM-Forderungen der Zukunft Prozeßzahl + BM-Zahl wechselt Laufzeit-+Speicherintensiver Algorithmus Folie 70

36 Verklemmungen X Unmöglich machen Verhindere eine der vier Bedingungen 1. Beschränkte Belegung (mutual exclusion) BM fest nur einem Service-Prozeß zuordnen 2. Zusätzliche Belegung (hold-and-wait) Nur ein BM pro Prozeß (aber: lesen und drucken nicht gleichzeitig) Alle nötigen BM auf einmal anfordern (nicht bekannt und Vergeudung!) Alle BM zurückgeben vor Neuanforderung (Verwaltungsaufwand!) 3. Keine vorzeitige Rückgabe (no preemption) Vorzeitiger Prozeß-Abbruch kann Inkonsistenzen verursachen 4. Gegenseitiges Warten (circular wait) Ordnungsrelation für BM einführen (Linearisierung) Folie 71 Verklemmungen XI Beispiele Ordnungsrelation Durchnumerieren der BM derart, daß nur höhere Nummern angefordert werden (nicht immer möglich). Anordnung von Ressourcen Ressourcen-Graph Folie 72

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

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

Modul B-PRG Grundlagen der Programmierung 1

Modul B-PRG Grundlagen der Programmierung 1 Modul B-PRG Grundlagen der Programmierung 1 Teil 3: Betriebssysteme,Dateisysteme,Sicherheit V21: Prozesssynchronisation Prof. Dr. R. Brause Adaptive Systemarchitektur Institut für Informatik Fachbereich

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

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

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

Grundlagen der Programmierung 1 - Teil 3. synchronisation. 500 einzahlen 100 abheben. B := read(a) B := B + 500

Grundlagen der Programmierung 1 - Teil 3. synchronisation. 500 einzahlen 100 abheben. B := read(a) B := B + 500 Modul: Programmierung (B-PRG) Grundlagen der Programmierung 1 Teil 3 Prozess-synchronisation synchronisation Prof. Dr. R. Brause Adaptive Systemarchitektur Institut für Informatik Fachbereich Informatik

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

Prozess-synchronisationsynchronisation

Prozess-synchronisationsynchronisation Race conditions Modul: Programmierung (B-PRG) Grundlagen der Programmierung 1 Teil 3 Prozess-synchronisationsynchronisation Prof. Dr. R. Brause Adaptive Systemarchitektur Institut für Informatik Fachbereich

Mehr

Synchronisierung von Transaktionen ohne Sperren. Annahme: Es gibt eine Methode, zu erkennen, wann eine Transaktion die serielle Ordnung verletzt.

Synchronisierung von Transaktionen ohne Sperren. Annahme: Es gibt eine Methode, zu erkennen, wann eine Transaktion die serielle Ordnung verletzt. OPTIMISTIC CONCURRENCY CONTROL Synchronisierung von Transaktionen ohne Sperren. Annahme: Es gibt eine Methode, zu erkennen, wann eine Transaktion die serielle Ordnung verletzt. Abbruch einer Transaktion

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

Prozess- synchro- nisation

Prozess- synchro- nisation Kap. 3 Prozess- synchro- nisation Version vom 06.05.2007 Kap. 3 - Inhalt Kritische Abschnitte Software-Lösungen Semaphore Hardware-Lösungen Synchronisationsprobleme Prozeßkommunikation Verklemmungen Vorgriff

Mehr

Architektur Verteilter Systeme Teil 6: Interprozess-Kommunikation

Architektur Verteilter Systeme Teil 6: Interprozess-Kommunikation Architektur Verteilter Systeme Teil 6: Interprozess-Kommunikation 09.05.15 1 Literatur [6-1] http://php.net/manual/de/book.sockets.php [6-2] http://de.wikipedia.org/wiki/socket_(software) [6-3] http://php.net/manual/de/book.network.php

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

9 Verteilte Verklemmungserkennung

9 Verteilte Verklemmungserkennung 9 Verteilte Verklemmungserkennung 9.1 Grundlagen Für die Existenz einer Verklemmung notwendige Bedingungen Exklusive Betriebsmittelbelegung Betriebsmittel können nachgefordert werden Betriebsmittel können

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

Betriebssysteme. G: Parallele Prozesse. (Teil B: Klassische Problemstellungen, Mutual Exclusion, kritische Regionen)

Betriebssysteme. G: Parallele Prozesse. (Teil B: Klassische Problemstellungen, Mutual Exclusion, kritische Regionen) Betriebssysteme G: Parallele Prozesse (Teil B: Klassische Problemstellungen, Mutual Exclusion, kritische Regionen) 1 Allgemeine Synchronisationsprobleme Wir verstehen ein BS als eine Menge von parallel

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

Constraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9

Constraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9 Constraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9 Prof. Dr. W. Conen Version 1.0c Januar 2009 Genereller Ablauf der Suche Gegeben: Variablen X, Domains D, Constraints R (explizit

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

Prozessor (CPU, Central Processing Unit)

Prozessor (CPU, Central Processing Unit) G Verklemmungen G Verklemmungen Einordnung: Prozessor (CPU, Central Processing Unit) Hauptspeicher (Memory) Ein-, Ausgabegeräte/ Periphere Geräte (I/O Devices) externe Schnittstellen (Interfaces) Hintergrundspeicher

Mehr

Software Engineering Interaktionsdiagramme

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

Mehr

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern 1 Einleitung Lernziele Symbolleiste für den Schnellzugriff anpassen Notizenseiten drucken eine Präsentation abwärtskompatibel speichern eine Präsentation auf CD oder USB-Stick speichern Lerndauer 4 Minuten

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

Anwendungsbeispiele Buchhaltung

Anwendungsbeispiele Buchhaltung Rechnungen erstellen mit Webling Webling ist ein Produkt der Firma: Inhaltsverzeichnis 1 Rechnungen erstellen mit Webling 1.1 Rechnung erstellen und ausdrucken 1.2 Rechnung mit Einzahlungsschein erstellen

Mehr

Karten-Freischaltung mit dem UNLOCK MANAGER

Karten-Freischaltung mit dem UNLOCK MANAGER Karten-Freischaltung mit dem UNLOCK MANAGER WICHTIGE INFORMATION 1. Anzahl der Freischaltungen Die Karten können zweimal freigeschaltet werden. (z. B. Map Manager auf PC plus Map Manager auf Laptop oder

Mehr

Technische Informatik II

Technische Informatik II Institut für Technische Informatik und Kommunikationsnetze Technische Informatik II Übung 1: Prozesse und Threads Aufgabe 1: Prozesse und Threads a) Wie verhält sich eine Applikation die aus mehreren Prozessen

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

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

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

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

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

Mehr

Urlaubsregel in David

Urlaubsregel in David Urlaubsregel in David Inhaltsverzeichnis KlickDown Beitrag von Tobit...3 Präambel...3 Benachrichtigung externer Absender...3 Erstellen oder Anpassen des Anworttextes...3 Erstellen oder Anpassen der Auto-Reply-Regel...5

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

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

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

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

etermin Einbindung in Outlook

etermin Einbindung in Outlook etermin Einbindung in Outlook 1. Einführung Über etermin gebuchte Termine können bei Bedarf auch mit externen Terminkalendern, wie zum Beispiel Outlook, ical oder Google synchronisiert werden. Dieses Dokument

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

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

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Daten-Synchronisation zwischen Mozilla Thunderbird (Lightning) / Mozilla Sunbird und dem ZDV Webmailer

Daten-Synchronisation zwischen Mozilla Thunderbird (Lightning) / Mozilla Sunbird und dem ZDV Webmailer Daten-Synchronisation zwischen Mozilla Thunderbird (Lightning) / Mozilla Sunbird und dem ZDV Webmailer Zentrum für Datenverarbeitung der Universität Tübingen Inhaltsverzeichnis 1.Synchronisation...aber

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

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

Betriebssystembau (BSB)

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

Mehr

Tutorial Windows XP SP2 verteilen

Tutorial Windows XP SP2 verteilen Tutorial Windows XP SP2 verteilen Inhaltsverzeichnis 1. Einführung... 3 2. Windows XP SP2 bereitstellen... 3 3. Softwarepaket erstellen... 4 3.1 Installation definieren... 4 3.2 Installationsabschluss

Mehr

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich Mitgliederbereich (Version 1.0) Bitte loggen Sie sich in den Mitgliederbereich mit den Ihnen bekannten Zugangsdaten

Mehr

Betriebssysteme (BTS)

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

Mehr

Virtual Channel installieren

Virtual Channel installieren Virtual Channel installieren Inhaltsverzeichnis 1. Voreinstellungen... 3 2. Virtual Channel herunterladen... 3 3. Virtual Channel konfigurieren... 4 4. Ausdruck... 6 5. Tipps und Tricks... 7 Sorba EDV

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

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

leave: mov flag, 0 ; 0 in flag speichern: Lock freigeben ret Sep 19 14:20:18 amd64 sshd[20494]: Accepted rsa for esser from ::ffff:87.234.201.207 port 61557 Sep 19 14:27:41 amd64 syslog-ng[7653]: STATS: dropped 0 Sep 20 01:00:01 amd64 /usr/sbin/cron[29278]: (root)

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

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

Updatehinweise für die Version forma 5.5.5

Updatehinweise für die Version forma 5.5.5 Updatehinweise für die Version forma 5.5.5 Seit der Version forma 5.5.0 aus 2012 gibt es nur noch eine Office-Version und keine StandAlone-Version mehr. Wenn Sie noch mit der alten Version forma 5.0.x

Mehr

26.01.2010, Timo Hirrle

26.01.2010, Timo Hirrle 26.01.2010, Timo Hirrle 1 Programm/Inhalt Das neue Notierungsverfahren Neuerungen S.3 Voraussetzungen für externe Notierungsplätze S.4 Ablauf der Notierung S.5 Anwendungshinweise Software SS.6-13 Häufige

Mehr

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele: 2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Configuring Terminal Services o Configure Windows Server 2008 Terminal Services RemoteApp (TS RemoteApp) o Configure Terminal Services Gateway

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

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

4D Server v12 64-bit Version BETA VERSION

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

Mehr

Festplatte defragmentieren Internetspuren und temporäre Dateien löschen

Festplatte defragmentieren Internetspuren und temporäre Dateien löschen Festplatte defragmentieren Internetspuren und temporäre Dateien löschen Wer viel mit dem Computer arbeitet kennt das Gefühl, dass die Maschine immer langsamer arbeitet und immer mehr Zeit braucht um aufzustarten.

Mehr

Lieber SPAMRobin -Kunde!

Lieber SPAMRobin -Kunde! Lieber SPAMRobin -Kunde! Wir freuen uns, dass Sie sich für SPAMRobin entschieden haben. Mit diesem Leitfaden möchten wir Ihnen die Kontoeinrichtung erleichtern und die Funktionen näher bringen. Bitte führen

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

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

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

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

Übung: Verwendung von Java-Threads

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

Mehr

PowerWeiss Synchronisation

PowerWeiss Synchronisation PowerWeiss Synchronisation 1 Einrichtung der Synchronisation I. Starten des Synchronisations Wizard Seite 3 II. Schritt 1 - Benutzer auswählen Seite 3 III. Schritt 2 - Grundlegende Einstellungen Seite

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

Programmierkurs Java

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

Mehr

Lassen Sie sich dieses sensationelle Projekt Schritt für Schritt erklären:

Lassen Sie sich dieses sensationelle Projekt Schritt für Schritt erklären: Lassen Sie sich dieses sensationelle Projekt Schritt für Schritt erklären: Gold Line International Ltd. Seite 1 STELLEN SIE SICH VOR: Jeder Mensch auf der Erde gibt Ihnen 1,- Dollar Das wäre nicht schwer

Mehr

Tipps und Tricks zu Netop Vision und Vision Pro

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

Mehr

Leichte-Sprache-Bilder

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

Mehr

Bilder zum Upload verkleinern

Bilder zum Upload verkleinern Seite 1 von 9 Bilder zum Upload verkleinern Teil 1: Maße der Bilder verändern Um Bilder in ihren Abmessungen zu verkleinern benutze ich die Freeware Irfan View. Die Software biete zwar noch einiges mehr

Mehr

Volksbank Oelde-Ennigerloh-Neubeckum eg

Volksbank Oelde-Ennigerloh-Neubeckum eg Volksbank Oelde-Ennigerloh-Neubeckum eg Willkommen im elektronischen Postkorb in Ihrer Online-Filiale! Die gute Adresse für Vertrauliches von Ihrer Bank Wünschen Sie den persönlichen Kontakt zu unserer

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

SANDBOXIE konfigurieren

SANDBOXIE konfigurieren SANDBOXIE konfigurieren für Webbrowser und E-Mail-Programme Dies ist eine kurze Anleitung für die grundlegenden folgender Programme: Webbrowser: Internet Explorer, Mozilla Firefox und Opera E-Mail-Programme:

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

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Inhaltsverzeichnis 1. Anmeldung... 2 1.1 Startbildschirm... 3 2. Die PDF-Dateien hochladen... 4 2.1 Neue PDF-Datei erstellen... 5 3. Obelix-Datei

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

Internet Explorer Version 6

Internet Explorer Version 6 Internet Explorer Version 6 Java Runtime Ist Java Runtime nicht installiert, öffnet sich ein PopUp-Fenster, welches auf das benötigte Plugin aufmerksam macht. Nach Klicken auf die OK-Taste im PopUp-Fenster

Mehr

Zentrale Installation

Zentrale Installation Einführung STEP 7 wird durch ein Setup-Programm installiert. Eingabeaufforderungen auf dem Bildschirm führen Sie Schritt für Schritt durch den gesamten Installationsvorgang. Mit der Record-Funktion steht

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

Installationsanleitung dateiagent Pro

Installationsanleitung dateiagent Pro Installationsanleitung dateiagent Pro Sehr geehrter Kunde, mit dieser Anleitung möchten wir Ihnen die Installation des dateiagent Pro so einfach wie möglich gestalten. Es ist jedoch eine Softwareinstallation

Mehr

Die Dateiablage Der Weg zur Dateiablage

Die Dateiablage Der Weg zur Dateiablage Die Dateiablage In Ihrem Privatbereich haben Sie die Möglichkeit, Dateien verschiedener Formate abzulegen, zu sortieren, zu archivieren und in andere Dateiablagen der Plattform zu kopieren. In den Gruppen

Mehr

6.2 Petri-Netze. kommunizierenden Prozessen in der Realität oder in Rechnern Verhalten von Hardware-Komponenten Geschäftsabläufe Spielpläne

6.2 Petri-Netze. kommunizierenden Prozessen in der Realität oder in Rechnern Verhalten von Hardware-Komponenten Geschäftsabläufe Spielpläne 6.2 Petri-Netze WS 06/07 mod 621 Petri-Netz (auch Stellen-/Transitions-Netz): Formaler Kalkül zur Modellierung von Abläufen mit nebenläufigen Prozessen und kausalen Beziehungen Basiert auf bipartiten gerichteten

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

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde

Mehr

HTBVIEWER INBETRIEBNAHME

HTBVIEWER INBETRIEBNAHME HTBVIEWER INBETRIEBNAHME Vorbereitungen und Systemvoraussetzungen... 1 Systemvoraussetzungen... 1 Betriebssystem... 1 Vorbereitungen... 1 Installation und Inbetriebnahme... 1 Installation... 1 Assistenten

Mehr

Anmeldung und Zugang zum Webinar des Deutschen Bibliotheksverbandes e.v. (dbv)

Anmeldung und Zugang zum Webinar des Deutschen Bibliotheksverbandes e.v. (dbv) Anmeldung und Zugang zum Webinar des Deutschen Bibliotheksverbandes e.v. (dbv) Über den Link https://www.edudip.com/academy/dbv erreichen Sie unsere Einstiegsseite: Hier finden Sie die Ankündigung unseres

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

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

Mehr

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen) 1. Einführung: Über den ODBC-Zugriff können Sie bestimmte Daten aus Ihren orgamax-mandanten in anderen Anwendungen (beispielsweise Microsoft Excel oder Microsoft Access) einlesen. Dies bietet sich beispielsweise

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

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware Datenübernahme von HKO 5.9 zur Advolux Kanzleisoftware Die Datenübernahme (DÜ) von HKO 5.9 zu Advolux Kanzleisoftware ist aufgrund der von Update zu Update veränderten Datenbank (DB)-Strukturen in HKO

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

! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006

!  # $  % & Nicki Wruck worldwidewruck 08.02.2006 !"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst

Mehr

Windows XP Jugendschutz einrichten. Monika Pross Molberger PC-Kurse

Windows XP Jugendschutz einrichten. Monika Pross Molberger PC-Kurse Windows XP Jugendschutz einrichten Monika Pross Molberger PC-Kurse Um ein Benutzerkonto mit Jugendschutzeinstellungen zu verwenden, braucht man ein Eltern- Konto (Administrator) und eine Kinderkonto (Standard).

Mehr

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

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

Mehr

Einrichtung einer Weiterleitung auf eine private E-Mail Adresse in der Hochschule

Einrichtung einer Weiterleitung auf eine private E-Mail Adresse in der Hochschule Einrichtung einer Weiterleitung auf eine private E-Mail Adresse in der Hochschule Dokumententitel: E-Mail Weiterleitung FH Dokumentennummer: its-00009 Version: 1.0 Bearbeitungsstatus: In Bearbeitung Letztes

Mehr

teamsync Kurzanleitung

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

Mehr

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