Prozess- synchro- nisation
|
|
- Nadja Kuntz
- vor 8 Jahren
- Abrufe
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 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]
MehrProzeß 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
MehrModul 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
MehrSysteme 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
MehrDomä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
MehrMonitore. 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
MehrGrundlagen 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
MehrEinrichtung 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
MehrProzess-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
MehrSynchronisierung 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
MehrBitte 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
MehrProzess- 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
MehrArchitektur 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
MehrArchitektur 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 =
Mehr9 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
MehrAGROPLUS 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
MehrBetriebssysteme. 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
MehrVerteilte 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,
MehrConstraint-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
MehrObjektorientierte 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
MehrProzessor (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
MehrSoftware 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)
Mehr1 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
MehrBetriebssysteme. 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,
MehrAnwendungsbeispiele 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
MehrKarten-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
MehrTechnische 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
MehrEs 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
MehrProfessionelle 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
Mehr1 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
MehrOrdner 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.
MehrUrlaubsregel 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
MehrNutzung 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
MehrStundenerfassung 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
MehrDaten-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.
MehrOutlook. 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
Mehretermin 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
Mehr4. 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
MehrSynchronisierung. 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
MehrFachbericht 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
MehrDaten-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
MehrStatuten 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
MehrFolgende 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
MehrBetriebssystembau (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
MehrTutorial 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
MehrKurzanleitung 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
MehrBetriebssysteme (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
MehrVirtual 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
MehrTeamSpeak3 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
Mehrleave: 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)
MehrOP-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
MehrGrundlagen 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)
MehrUpdatehinweise 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
Mehr26.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
Mehr2 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
MehrTapps 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...
MehrLexware 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
Mehr4D 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
MehrFestplatte 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.
MehrLieber 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
MehrMSXFORUM - 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
MehrEasyWk 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
MehrMan 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
MehrGrundbegriffe 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
MehrKapiteltests 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 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
MehrPowerWeiss 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
MehrDokumentation. 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?...
MehrProgrammierkurs 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
MehrLassen 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
MehrTipps 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.
MehrLeichte-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
MehrBilder 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
MehrVolksbank 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
MehrWhitepaper. 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
MehrSANDBOXIE 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:
MehrInhalt. 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...
MehrHandbuch 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
MehrVirtueller 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,
MehrInternet 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
MehrZentrale 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
Mehr5 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
MehrInstallationsanleitung 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
MehrDie 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
Mehr6.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
Mehrmysql - 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
Mehrgeben. 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
MehrHTBVIEWER INBETRIEBNAHME
HTBVIEWER INBETRIEBNAHME Vorbereitungen und Systemvoraussetzungen... 1 Systemvoraussetzungen... 1 Betriebssystem... 1 Vorbereitungen... 1 Installation und Inbetriebnahme... 1 Installation... 1 Assistenten
MehrAnmeldung 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
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
Mehr2. 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
MehrWü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
MehrDatenü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
MehrAnleitung 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 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
MehrWindows 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).
MehrSafeRun-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
MehrEinrichtung 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
Mehrteamsync 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
MehrMailUtilities: 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