PROZESSE UND NEBENLÄUFIGKEIT

Größe: px
Ab Seite anzeigen:

Download "PROZESSE UND NEBENLÄUFIGKEIT"

Transkript

1 Kapitel 2 PROZESSE UND NEBENLÄUFIGKEIT [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 1

2 Ziele dieses Kapitels ² Wie wird aus einem stabschen Programmtext ein dynamisches, ablaufendes, in der Zeit sich veränderndes Programm? ª Welche Mechanismen werden wie durch Betriebssystem verwendet? ² Einführen eines Ressourcenbegriffs was wird (in einem Rechner) gebraucht, um ein Ziel zu erreichen? ² Verbergung von spezifischen EigenschaWen durch AbstrakBon ² Die Idee eines Betriebssystems [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 2

3 Betriebssystem ² Ein Betriebssystem ist ein Programm ² Ein Betriebssystem abstrahiert den Zugriff auf Geräte (und andere Ressourcen), vereinheitlicht und vereinfacht dadurch deren Nutzung für andere Programme ² Ein Betriebssystem koordiniert den Zugriff auf Geräte (und andere Ressourcen) durch mehrere Programme ² Ein Betriebssystem koordiniert den Ablauf mehrerer Programme Kurz: Ein Betriebssystem abstrahiert und koordiniert Ressourcennutzung [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 3

4 Übersicht ² Prozesse, Prozesszustände und Prozessumschaltung ² Adressraum ² Threads ² Parallele und nebenläufige Programmiersprachenkonstrukte ² Geräte und Gerätetreiber [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 4

5 Programmausführung: Prozesse ² Ein sta4scher Programmtext muss in ein dynamisches, zeitlich veränderndes, ablaufendes Programm verwandelt werden ª Kontext, in dem Verarbeitung = Veränderung von Daten geschehen kann ² Prozess als AbstrakBon ª Prozess = laufendes Programm [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 5

6 Prozesse ² Ein Prozess (process, task, job) ist definiert durch ª VerarbeitungsvorschriP, das eigentlich Programm ª Adressraum wo darf der Prozess Daten/Programm speichern Bereiche(e) des Arbeitsspeicher die der Prozess lesend/schreibend/ ausführend benutzen darf (mehr dazu später) Nicht der Inhalt des Speicher ª Momentanen Zustand der Ausführung Alle Daten, die zur Weiterführung eines Prozesses gebraucht werden Notwendige Daten als Kontext der Ausführung bezeichnet InstrukBonszähler, Register des Prozessors,... Streng genommen: auch der Inhalt des Adressraums [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 6

7 Ressourcen ² Alle Prozesse sind für Ausführung auf die Verfügbarkeit von Prozessor und Speicher angewiesen ² Zur Ausführung werden solche Ressourcen (auch: Betriebsmi>el) benöbgt ª Beispiele bisher Prozessor = Ressource, die Verarbeitung leistet Speicher = Ressource, die Status festlegt ² Weitere Ressourcen? ² Durch Ressource als Begriff kann man von Details abstrahieren [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 7

8 Ausführung von Prozessen: Stapelbetrieb ² Einfachste Rechnerbetriebsart: Stapelbetrieb (batch mode) ª Alle Ressourcen eines Rechners stehen einem Prozess zur Verfügung es gibt (zu einem Zeitpunkt) nur einen Prozess ª Mehrere Prozesse werden sequenbell abgearbeitet ² Problem: Während der KommunikaBon mit z.b. E/A- Geräten bleibt die CPU ungenutzt ª Der Prozess kann nicht weiterarbeiten er blockiert à Leerlaufzeiten und ineffiziente Ausführung CPU Leerlauf der CPU, Blockade des Prozesses Gerät 1 Gerät 2 [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 8

9 Ausführung von Prozessen ² Beobachtung: Ein einzelner Prozess kann in der Regel den Prozessor nicht sinnvoll auslasten ª Z.B.: Prozess muss warten, bis Daten von Festplape zur Verfügung stehen ª Oder auch andere Geräte/Ressourcen als Prozessor werden durch einzelnen Prozess meist nicht ausgelastet ² Möglicherweise kann Prozessor aber anderweibg benutzt werden! ª Was, wenn mehrere Prozesse gleichzeibg vorhanden wären? Und ausgeführt werden dürwen? [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 9

10 Ausführung von Prozessen: Mehrprozessbetrieb à Mehrerer Prozesse unter Ausnutzung von Leerlauf ausführen ª Reduzierung der Leerlaufzeiten des Prozessors ª Reduzierung der Leerlaufzeiten der anderen Geräte ² BenöBgt: Mehrprozessbetrieb ª Mehrere Prozesse können quasi- parallel ausgeführt werden Bei Programmen mehrerer Benutzer: Mehrbenutzerbetrieb In der Regel auch: Mehrprogrammbetrieb es muss ja nicht das gleiche Programm mehrfach ausgeführt werden ª Jedes Programm ergibt mindestens einen Prozess ² Problem: InterakBon zwischen mehreren Prozessen? ª Gewünscht: Keine! Forderung: Isola4on [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 10

11 IsolaRon von Prozessen ² Gewünschte EigenschaW: Prozesse dürfen sich nicht gegenseibge beeinflussen ª Nicht gegenseibg auf Daten zugreifen (lesen oder schreiben) Adressräume zweier Prozesse sind disjunkt ª Beeinflussen nicht gegenseibg den Ablauf ² In Praxis: ª Beeinflussung durch Ressourcenverbrauch unvermeidbar ª Darf gezielt durchbrochen werden (i.d.r. nur bei Einverständnis beider Prozesse) z.b. zum Datenaustausch [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 11

12 Verzahnte Ausführung von Prozessen ² Verzahnte Ausführung: Prozessen wird abwechselnd die CPU zugewiesen ² Für den Benutzer: Scheinbare Gleichzei4gkeit ª Bei geeigneten Zeitskalen! ª Aber: mögliche Konflikte! Z.B. wenn beide Prozesse gleichzeibg Gerät 1 benöbgen ² Für die Prozesse: Wenn andere Prozesse blockieren, kann trotzdem ein nicht blockierter Prozess weiterarbeiten ² Für System: Verbesserung der Auslastung [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 12

13 Verzahnte Ausführung von Prozessen Beispiel ² Beispiel: Zwei Prozesse greifen auf CPU und drei Geräte zu ª Prozesse müssen auf Gerät warten, sind blockiert ª Ein Prozess blockiert, anderer Prozess kann arbeiten ª Leerlauf der CPU, wenn alle Prozesse blockiert Prozess 1 Prozess 2 Leerlauf CPU Gerät 1 Gerät 2 Gerät 3 [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 13

14 Notwendig: KoordinaRon ² Verzahnte Ausführung erfordert KoordinaBon: ª Welcher Prozess darf wann CPU benutzen? ª Welcher Prozess darf wann welches Gerät (allg.: Ressource) benutzen? ª Wie erfolgt der Wechsel zwischen den Prozessen? ² KoordinaBon muss durch laufendes Programm erfolgen! ª Aber ein besonderer Prozess ª Dieser Prozess regelt Betrieb eines Rechners Betriebssystem ² Damit erste Aufgaben für Betriebssystem ª KoordinaBon des Ablaufs mehrerer Prozesse ª KoordinaBon des Zugriffs auf Geräte/Ressourcen [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 14

15 Prozesszustände ² Ein Prozess kann sich in unterschiedlichen Zuständen befinden ª Rechnend, Laufend (Running): Der Prozess ist im Besitz des physikalischen Prozessors und wird aktuell ausgeführt (1 Prozess bei Monoprozessoren, n Prozesse bei MulBprozessoren) ª Bereit (Ready): Der Prozess ist ablauuereit und wartet auf die Zuteilung des/eines Prozessors Später: ablauuereit = besitzt alle nöbgen Betriebsmipel außer CPU ª Blockiert, Wartend (Blocked): Der Prozess wartet auf die Erfüllung einer Bedingung, z.b. Beendigung einer E/A- OperaBon, und bewirbt sich derzeit nicht um den Prozessor ª Beendet (Terminated): Der Prozess hat alle Berechnungen beendet und die zugeteilten Betriebsmipel freigegeben [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 15

16 Zustände und Zustandsübergänge Beendet Resign Add Bereit Assign Laufend Blockiert [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 16

17 Erlaubte Zustandsübergänge ² Add: ² Assign: ² Block: ² Ready: ² Resign: ² Re4re: Ein neu erzeugter Prozess wird in den Zustand bereit aufgenommen Infolge des Kontextwechsels wird der Prozessor zugeteilt Aufruf einer blockierenden E/A- OperaBon oder SynchronisaBonsoperaBon bewirkt, dass der Prozessor entzogen wird Nach Beendigung der blockierenden OperaBon wartet der Prozess auf erneute Zuteilung des Prozessors Einem laufenden Prozess wird der Prozessor aufgrund eines Timer- Interrupts, z.b. Zeitscheibe abgelaufen entzogen Oder: Prozess gibt Prozessor freiwillig auf Der laufende Prozess terminiert und gibt alle Ressourcen wieder frei [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 17

18 Prozesszustandsübergänge am Beispiel Prozess 1 Prozess 2 Leerlauf CPU Gerät 1 Gerät 2 Gerät 3 Block Ready, Assign Block Ready, Assign Retire Zustand Prozess 1 Running Blocked Run ning Blocked Running Beend et Zustand Prozess 2 Ready Runni ng Blocked Run ning Blocke d Rea dy Runnin g Add Assign Block Ready, Block Ready Assign Assign [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 18

19 Prozessumschaltung Details ² Aktuell akbver Prozess wird aus Zustand Laufend in anderen Zustand versetzt ª Grund: z.b. wegen blockierender AkBon ª Notwendige AkBon: Sicherung des Kontextes ² Ein bereiter Prozess wechselt in den Zustand Laufend ª Notwendige AkBon: Laden des Kontextes des neuen Prozesses ² Arten der Prozessumschaltung ª Explizit: akbver Prozess inibiert selbst die Umschaltung ª Automa4sch: Prozessumschaltung wird durch ein äußeres Ereignis (i.d.r. Interrupt) ausgelöst ª Bedingt: Umschaltung erst bei Erfüllung einer Bedingung möglich [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 19

20 Prozesswechsel für Prozesse sichtbar? ² Ist ein geeignet gestalteter Prozesswechsel für die Prozesse sichtbar? ª Oder: Wissen Prozesse, dass sie sich den Prozessor teilen müssen? à Jeder Prozess kann sich so benehmen, als häpe er einen eigenen Prozessor ª den es nicht wirklich gibt, aber das ist egal ª Ein virtueller Prozessor für jeden Prozess ² InterpretaBon: Betriebssystem virtualisiert den Prozessor ª Und nicht nur Prozessor: IsolaRonsanforderung erfordert das entsprechend für Speicher, Geräte, [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 20

21 Auswahl des nächsten laufenden Prozesses ² Strategien zur Auswahl des nächsten laufenden Prozesses (aus Menge der bereiten Prozesse) sind wichbg für die Effizienz eines Systems ª Bislang: Annahme einer starren Reihenfolge ª Meistens: Auswahl nahe des Umschaltzeitpunktes dynamisch durchgeführt à Details: Siehe Kapitel Scheduling Details: Kapitel 3! ² Beinhaltet die dynamische Auswertung verschiedener Kriterien, z.b. ª Prozessnummer (zyklisches Umschalten) ª AnkunWsreihenfolge ª Fairness ª Priorität (Konstant / Dynamisch) ª Einhaltung von geforderten FerBgstellungspunkten ² Nach der Wahl müssen die Apribute aller anderen Prozesse angepasst werden [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 21

22 Prozesse im Kontext von Betriebssystemen ² Beschreibung von Prozessen in Betriebssystemen durch Datenstruktur Prozesskontrollblock (Process Control Block, PCB) ª PCB enthält Daten, die zur Verwaltung des Prozesses benöbgt werden ProzessidenBfikaBon Bereich für die aktuellen Registerwerte des eigentlichen Prozessors Prozesszustand: Laufend, blockiert, wartend,... InformaBon über Betriebsmipel Hinweise auf Eltern- bzw. Kindprozesse ª PCB wird bei Zustandsänderungen, z.b. Prozesswechsel, aktualisiert ² Alle PCBs in Prozesstabelle zusammengefasst ª Ein Eintrag pro exisberendem Prozess [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 22

23 Beispiel: Process Control Block in Linux ² struct task_struct { volatile long state; long counter; long priority; unsigned long signal; unsigned long blocked; unsigned long flags; int errno; long debugreg[8]; struct exec_domain *exec_domain; struct linux_binfmt *binfmt; struct task_struct *next_task, *prev_task; struct task_struct 0, *prev_run; unsigned long saved_kernel_stack; unsigned long kernel_stack_page; int exit_code, exit_signal; unsigned long personality; int dumpable:1; int did_exec:1; int pid; int pgrp; int tty_old_pgrp; int session; int leader; int groups[ngroups]; Wichtigster Teil: struct task_struct { volatile long state; long priority; int pid; } struct task_struct *p_opptr, *p_pptr, *p_cptr, *p_ysptr, *p_osptr; struct wait_queue *wait_chldexit; unsigned short uid,euid,suid,fsuid; unsigned short gid,egid,sgid,fsgid; unsigned long timeout, policy, rt_priority; unsigned long it_real_value, it_prof_value, it_virt_value; unsigned long it_real_incr, it_prof_incr, it_virt_incr; struct timer_list real_timer; long utime, stime, cutime, cstime, start_time; unsigned long min_flt, maj_flt, nswap, cmin_flt, cmaj_flt, cnswap; int swappable:1; unsigned long swap_address; unsigned long old_maj_flt; /* old value of maj_flt */ unsigned long dec_flt; unsigned long swap_cnt; struct rlimit rlim[rlim_nlimits]; unsigned short used_math; char comm[16]; int link_count; struct tty_struct *tty; /* NULL if no tty */ struct sem_undo *semundo; struct sem_queue *semsleeping; struct desc_struct *ldt; struct thread_struct tss; struct fs_struct *fs; struct files_struct *files; [KMS] Sommer 2015 struct mm_struct *mm; Prozesse und Nebenläufigkeit 23 struct signal_struct *sig; }; Quelle: sched.c, linux kernel

24 Prozessumschaltung in Linux 1367 /* 1368 * context_switch - switch to the new MM and the new 1369 * thread's register state */ 1371 static inline 1372 task_t * context_switch(runqueue_t *rq, task_t *prev, task_t *next) 1373 { 1374 struct mm_struct *mm = next->mm; 1375 struct mm_struct *oldmm = prev->active_mm; if (unlikely(!mm)) { 1378 next->active_mm = oldmm; 1379 atomic_inc(&oldmm->mm_count); 1380 enter_lazy_tlb(oldmm, next); 1381 } else 1382 switch_mm(oldmm, mm, next); if (unlikely(!prev->mm)) { 1385 prev->active_mm = NULL; 1386 WARN_ON(rq->prev_mm); 1387 rq->prev_mm = oldmm; 1388 } /* Here we just switch the register state and the stack. */ 1391 switch_to(prev, next, prev); return prev; 1394 } [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 24

25 Wie werden Prozesse & Ressourcen verwaltet? ² Offene Fragen ª Wenn Prozesse nichts von anderen Prozessen wissen, wie werden dann überhaupt Prozesse angelegt? ª Wie wird zwischen Prozessen umgeschaltet? ª Welches Programm entscheidet das, welches Programm führt das aus? ª Welches Programm entscheidet, welcher Prozess auf welche Ressourcen zugreifen darf? ² Darf jeder Prozess solche Umschaltungen auslösen, Ressourcenzugriffe entscheiden? ª Wenn man sich vertraut und perfekt programmieren kann klar, warum auch nicht? [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 25

26 Betriebssystem als privilegierter Prozess zur Ressourcenverwaltung ² Unterscheidung zwischen zwei Betriebszuständen eines Systems ª Benutzermodus (user mode): einige Befehle gesperrt und einige Register nicht zugreiuar, in der Regel für Benutzerprogramme ª Systemmodus (system/supervisor mode, kernel mode,...) auch privilegierter Zustand: alle Befehle zulässig, alle Register benutzbar, i.d.r. für Betriebssystem alle InformaBon sichtbar! ª ImplemenBert z.b. durch Bit im Prozessorstatuswort ª OperaBonen wie z.b. Prozessverwaltung nur im Systemmodus möglich Kontrollierter Übergang Benutzerprozess1 Benutzermodus Systemmodus (Betriebssystem-Kern) Benutzerprozess2 [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 26

27 Wechsel in Systemmodus (sog. Kerneintri^ ) ² Modusänderung mit einem privilegierten Befehl ª Nutzung: Das Benutzerprogramm kann das Betriebssystem aufrufen (Befehl SVC, trap,...), wodurch der Prozessor in den privilegierten Zustand übergeht ª Dann ausgeführter Code NICHT mehr durch Prozess vorgegeben ª Es ist dann Aufgabe des Betriebssystems, vor der Rückkehr in das Benutzerprogramm den Zustand wieder zurückzusetzen ² Modusänderung durch unerlaubte Vorgänge ª Fehler, z.b. Division durch 0 ² Modusänderung durch eintretende Ausnahmen ª Unterbrechungen lösen Übergang in privilegierten Zustand aus ª Unterbrechung z.b., wenn DMA- Gerät ferbg mit Übertragung ist; Prozess kann entblockiert werden [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 27

28 Übersicht ² Prozesse, Prozesszustände und Prozessumschaltung ² Adressraum ² Threads ² Parallele und nebenläufige Programmiersprachenkonstrukte ² Geräte und Gerätetreiber [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 28

29 Adressraum für Prozesse ² Adressraum eines Prozesses ª DefiniRon: Gesamtheit aller Adressen, auf die der Prozess zugreifen darf ª Einfache IntuiBon: Jeder Prozess besitzt einen Teil Speicher exklusiv ª Zweck: Adressräume mehrerer Prozesse sind gegenseibg geschützt; Prozess kann nur auf eigene Adressen zugreifen Ziel war ja: IsolaRon der Prozesse voneinander! ª Häufig: Trennung von Daten- und Programmadressen ² Möglicherweise unhandlich: Prozesse müssen mit unterschiedlichen Adressen umgehen können ª Bei jedem Start eines Programms andere? Physikalischer Speicher Pro- gramm- Code von A Code B Daten von A Daten B [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 29

30 Adressräume für Prozesse logisch vs. physikalisch ² Eine mögliche Idee: Trenne logischen Adressraum eines Prozesses von physikalischem Adressraum des tatsächlichen Rechners ª Nur logische Adressen dem Prozess bekannt ª Immer gleich! ª KonvenBon: Logische Adressen fortlaufend 0..max nummeriert ª Achtung: Nicht auf allen Systemen vorhanden! ² Abbildung logische Adressen auf physikalischen Speicher nöbg ª Details: siehe Kapitel Speicherverwaltung max 0 Logischer Raum von Prozess A Daten von A Pro- gramm- Code von A Physikalischer Speicher Pro- gramm- Code von A Daten von A [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 30

31 ACHTUNG! OpRon vs. Einzige Möglichkeit ² Trennung zwischen physikalischem und logischem Adressraum ist nur eine ImplemenBerungsOPTION ª Eine populäre OpBon, aber doch nur eine OpBon ² Es gibt Systeme, die nur physikalischen Adressraum benutzen ² Begriff Adressraum eines Prozess bleibt sinnvoll, auch wenn NUR physikalischer Adressraum benutzt wird und KEINE Trennung [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 31

32 Adressraum für mehrere Prozesse ² Bei logischen Adressen: Adressräume mehrerer Prozesse sind gegenseibg geschützt durch logisch/physikalisch Trennung! ª Prozess kann nicht auf Daten eines anderen Prozesses zugreifen ª Kann dies nicht einmal ausdrücken: Z.B. Adresse 5 ist immer im eigenen logischen Adressraum Prozess kann nicht über physikalische Adressen reden max 0 Daten von A Pro- gramm- Code von A Daten B Pro- gramm- Code von A Code B Daten von A Daten B max [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 32 0 Daten B Code B

33 Geteilter Adressraum: Code vs. Daten ² Mehrere Prozesse können dasselbe Programm mit unterschiedlichen Daten ausführen Logischer Raum von Prozess A Physikalischer Speicher Logischer Raum von Prozess B ª Beispiel: Auf einem Rechner wird ein Webbrowser 2x gestartet Privater Bereich Daten von B Privater Bereich ª Mehrfach gleicher Code im Speicher: ineffizient! à Trennung von Code und Daten ª Code nur 1x im Speicher Shared Code ª Daten separat im Speicher ª Teile des Adressraums werden gemeinsam von zwei Prozessen genutzt Shared Code Daten von A Shared Code [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 33

34 Übersicht ² Prozesse, Prozesszustände und Prozessumschaltung ² Adressraum ² Threads ² Parallele und nebenläufige Programmiersprachenkonstrukte ² Geräte und Gerätetreiber [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 34

35 Mehrere Aspekte von Prozessen ² Bisher: Prozess vereint zwei unterschiedliche Aspekte ª Einheit zur Ressourcenbündelung: ein Prozess verfügt über (Möglicherweise logischen) Adressraum Quelltexte und Daten Beschreibende Datenstrukturen wie PCB Weitere Betriebsmipel wie E/A- Geräte, Dateien, Kindprozesse ª Ausführungseinheit/- kontext, der der reale Prozessor zugeteilt wird Ausführungsablauf mit einem oder mehreren Programmen Verzahnte Ausführung mit anderen Prozessen Zustände (bereit, laufend, blockiert, terminiert, ) Priorität ² Was ist, wenn unterschiedliche AkBvitäten eng kooperierend mit gleichen Ressourcen/Daten arbeiten sollen? [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 35

36 Von Prozessen zu Threads ² Idee: Trennen des Ressourcen- und des Ausführungseinheitsaspekts! à Erweiterung des Prozessmodells! ª Solche eng kooperierenden Prozesse werden zu einem einzigen Prozess mit mehreren Ausführungskontexten zusammengefasst Name: AkBvitätsträger, Ausführungsfaden oder Thread ² Damit formal: Prozess vs. Thread ª Prozess: Eigener Adressraum & VerarbeitungsvorschriW Bündelungseinheit ª Beinhaltet mindestens einen Thread ( Leichtgewichtsprozess ) Ausführungseinheit [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 36

37 DefiniRon eines Threads ² Thread: Teil eines Prozesses mit folgenden EigenschaWen ª Ist ein separater Ausführungskontext, ein separater Kontrollfluss dieses Prozesses ª Alle Threads eines Prozesses operieren im selben Adressraum ² Ein Thread enthält einen eigenen Thread- Kontrollblock ª Mit separatem Befehlszähler, eigenem Code- und Datenteil und vollständigem Kontext ª Besitzt keine vollständige Prozesstabelle wie der ursprüngliche Prozess ² Zusammenhang ª Ein konvenboneller Prozess mit nur einem Kontrollfluss besitzt nur einen Thread ª Verschiedene Kontrollflüsse entsprechen mehreren Threads Nebenläufigkeit wird ausgenutzt [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 37

38 Zusammenhang Prozesse und Threads ² Single- Threaded: ein Thread pro Prozess (klassische Prozesse) ª Keine Trennung von Ressourcen- und Ausführungseinheitsbegriff ² MulB- Threaded: mehrere Threads innerhalb eines Prozesses Prozesse Älteres Mac OS Ältere UNIX-Versionen Mehrere Prozesse, aber ein Thread/Prozess Windows NT Solaris, Modernes UNIX, OSX Mehrere Prozesse, mehrere Threads/Prozess MS-DOS Ein Prozess, ein Thread Java run time engine Ein Prozess, mehrere Threads/Prozess Threads [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 38

39 Vorteile mehrerer Threads ² Gemeinsame Nutzung von Daten zwischen verschiedenen AkBvitäten einfach ª Da gleicher Adressraum ª Wäre kompliziert und aufwändig (wenn auch möglich) für mehrere Prozesse (Details siehe Kapitel 6ff) Wechsel zwischen Prozessen bedingen Wechsel der Adressräume! Aufwand wegen Speicherverwaltung ² Wechsel zwischen AkBvitäten als Thread erheblich effizienter ª OR einfacheres, natürlicheres Programmiermodell! ² Durch Verbreitung von MulB- Core Systemen aprakbv! [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 39

40 Beispiel zur Nutzung von Threads ² Entwurfsbeispiel: Webserver! ² Gegeben: Webserver auf einer dedizierten Maschine ª Daten vergangener Anfragen werden in Cache solange auuewahrt, bis der Speicher verbraucht ist ª Älteste Datensätze werden durch neue ausgetauscht Entwerfen Sie einen Webserver! [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 40

41 Threadtypen, Realisierung von Threads ² Grundsätzlich werden Threads aufgeteilt in Realisierung im Benutzeradressraum ª Kernel- Level- Threads (KL- Threads): realisiert im Kernadressraum ª User- Level- Threads (UL- Threads): realisiert im Benutzeradressraum Realisierung im Kernadressraum [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 41

42 Übersicht ² Prozesse, Prozesszustände und Prozessumschaltung ² Adressraum ² Threads ² Parallele und nebenläufige Programmiersprachenkonstrukte ² Geräte und Gerätetreiber [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 42

43 Nebenläufigkeit und Parallelität ² Nebenläufigkeit (concurrency, concurrent execubon) ª Poten4elle Gleichzei4gkeit Vorhandensein von Verarbeitungsströmen, die korrekterweise gleichzeibg ausgeführt werden können Damit eine EigenschaP eines/mehrerer Programme Voraussetzung: kontrollierter Zugang zu gemeinsam genutzten Ressourcen Beispiel: Drucker! gemeinsame Daten! ª Mögliche Realisierung: verzahnte Ausführung (interleaving) auf einem Einprozessorsystem Mehrfach vorhandene Verarbeitungselemente nicht notwendig Eindruck der GleichzeiBgkeit wird erweckt ² Parallelität ª Die OperaBonsströme werden tatsächlich gleichzei4g ausgeführt Mehrfache Verarbeitungselemente, d.h. Prozessoren oder andere unabhängige Architekturelemente, sind zwingend notwendig ª EigenschaP der Ausführung eines nebenläufigen Programms [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 43

44 Ausführung: Nebenläufigkeit und Parallelität ² Nebenläufigkeit = Zuordnung mehrerer Ausführungseinheiten zu mindestens einem Prozessor ª Verzahnte Ausführung (interleaving) ² Parallelität = Zuordnung mehrerer Prozesse (Ausführungseinheiten) zu mindestens zwei Prozessoren ² Nebenläufiges Programm auf Parallelsystem parallele Ausführung ª Parallele Ausführungen sind Teilmenge der nebenläufigen Ausführungen Nebenläufig Prozesse 1 Prozessor Rechenzeit Parallel Prozesse 3 Prozessoren [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 44

45 Nebenläufigkeit & Parallelität in Hardware ² Parallelität findet in unterschiedlichen Ausprägungen auf der Hardwareebene stap ª Mehrere Einheiten innerhalb eines Prozessors InstrukBonspipeline, mehrfache Recheneinheiten, ª Mehrere E/A- und DMA- Kontroller Prozesse und Datentransfers werden nebenläufig/parallel ausgeführt ª Mehrere allgemein einsetzbare Prozessoren Parallele Ausführung von Prozessen [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 45

46 Wie wird Nebenläufigkeit/Parallelität ausgedrückt? ² Problem: Wie kann ein System wissen, welche InstrukBonsströme nebenläufig ausgeführt werden dürfen? ª Korrektheit muss garanbert bleiben Beispiel Drucker! ² Ausgangspunkt: Elementare Kontrollstrukturen in sequenbellen, imperabven Programmiersprachen ª Sequenz, Wiederholung, Verzweigung, Einschub (Prozedur, Unterprogramm) ² Für alle Grundkonstrukte gibt es analoge Konstrukte für Nebenläufigkeit ª Diese werden explizit vom Programmierer vorgegeben [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 46

47 Parallele Anweisungen ² Unabhängige Befehle werden in Blöcke zusammengefasst ² Ausführungsreihenfolge wird explizit als irrelevant gekennzeichnet ª Dem Programm wird InformaBon über SequenBalität entzogen Analogon zu begin/end oder { }: parbegin/parend, cobegin/coend, Beispiel A; parbegin B; C; B A C parend D; D [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 47

48 Parallele Schleifen ² Sind die Schleifendurchläufe unabhängig voneinander, so können sie nebenläufig ausgeführt werden ª Z.B. n Schleifendurchgänge, n/2=anzahl verfügbarer Prozessoren, 2 IteraBonen pro Prozessor iterabv aus, ² Häufige Schlüsselwörter: pardo/parend, doall/endo, Beispiel A; pardo i:=1 to n B(i); pardo j:=1 to i B(1) C(1,1) A B(2) C( ) B(3) C( ) C(i,j); parend D(i); D(1) D(2) D(3) parend E E; [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 48

49 Paralleles Verzweigen ² UNIX- Konzept fork/join (auch fork/wait) ermöglicht Erzeugung einer perfekten Kopie (Child) des aufrufenden Prozesses (Parent) mit folgenden EigenschaWen ª Gleiches Programm ª Gleiche Daten (gleiche Werte in Variablen) ª Gleicher Programmzähler (nach der Kopie) ª Gleicher Eigentümer ª Gleiches aktuelles Verzeichnis ª Gleiche Dateien geöffnet (selbst Schreib-, Lesezeiger ist gemeinsam) ² Häufig: Kind- Prozess startet ein anderes Programm ª Mit exec o.ä. Betriebssystemaufruf ² Zusammenführung der beiden Zweige mit join (oder wait) [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 49

50 Beispiel fork/join ² Unterscheidungsmerkmal ª fork() liefert verschiedene Prozessnummern für Parent (PID des Kindes) / Child (0) Beispielhafter Ablauf von fork/join Parent pid_t p;... p= fork(); if( p == (pid_t)0 ) { /* child */... } else if ( p > (pid_t)0 ) { /* parent */... } else { /* error */... } Child pid_t p;... p= fork(); if( p == (pid_t)0 ) { /* child */... } else if ( p>(pid_t)0 ) { /* parent */... } else { /* error */... } A fork f B join f C end f: D end D A B C [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 50

51 Gemeinsamer Speicher zwischen zwei Prozessen ² Prozesse haben keinen gemeinsamen Adressraum ª Aber: gemeinsamer Speicherbereich kann explizit zwischen zwei Prozessen geteilt/freigegeben/angefordert werden ª Erinnerung: Dies weicht das grundlegende Konzept der Trennung der Speicherbereiche von Prozessen auf! ² Grundlegende OperaBonen (Bsp: Linux/Posix) ª shmget() : Erzeuge oder öffne einen Speicherbereich, der gemeinsam von mehreren Prozessen genutzt werden kann (ähnlich zu Dateien!) ª shmat(): Anbinden ( apach ) eines solchen Speicherbereichs in den normalen Speicherbereich eines Prozesses ª shmdt(): Lösen der Anbindung eines geteilten Speichers [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 51

52 Erzeugen & handhaben von Threads ² Wie kann man innerhalb eines Prozesses mit Threads umgehen? ª Achtung: Es gibt unterschiedliche Realisierungen; Details unterscheiden sich! (Read the Manual!) ª Beispiel hier: POSIX Threads unter Linux; pthread - Bibliothek ² pthread_create(): Erzeugen eines neuen Threads ª WichBgster Parameter: Welche FunkBon soll dieser neue Thread ausführen? ² pthread_exit(): Beenden eines Threads ª Oder die ausgeführte FunkBon ist ferbg ² pthread_join(): Warte auf das Ende eines angegeben Threads ² pthread_self(): IdenBfikator des gerade ausführenden Threads [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 52

53 Thread- Beispiel stabc void * worker_roubne (void *name) { } int i; for (i = 0; i < 5; i++) prin ("%d (ID:%ld) : %s sagt Hallo!\n", i, pthread_self(), (char *) name); pthread_exit ((void *) val++); int main (void) { // Variablen deklarieren for (i = 0; i < MAX_THREADS; i++) { } pthread_create (&th[i], NULL, &worker_roubne, buf) for( i=0; i < MAX_THREADS; i++) pthread_join (th[i], &ret[i]); } Quelle: Linux-Unix Programmierung [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 53

54 Modernes Beispiel: OpenMP ² OpenMP: API zur einfachen Nutzung von mulb- threading auf gemeinsamen Speicher ª Einbepung in unterschiedliche Sprachen: C/C++ & Fortran; in vielen Betriebssystemen verfügbar ª Standardisiert, derzeit OpenMP 3.1 / 4.0 ª Material: hpp://openmp.org, hpps://compubng.llnl.gov/tutorials/openmp/ ² Wesentliche Komponenten ª Anweisungen an einen Compiler ª Laufzeitbibliothek ª Umgebungsvariablen ² Programmiermodell ª Gemeinsamer Speicher mit Threads, expliziter Parallelismus ª Fork/Join Modell, Schachtelung möglich ª Parallele for- Schleifen u.ä. möglich ª Etwas komplexes Konsistenzmodell bzgl. Cache (leider) [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 54

55 OpenMP Compiler- Anweisungen ² Um möglichst sprachneutral zu bleiben werden Anweisungen zur parallelen Ausführung als Compiler- Anweisungen aufgeschrieben ª Nicht als Spracherweiterungen! ² Beispiel C, C++: #pragma- Anweisungen ª Grundform: #pragma omp <Construct> [clause [, clause]*] code block ª Beispiel- Anweisungen #pragma omp parallel führe Anweisungen des code- Blocks in jeweils einzelnem Thread aus #pragma omp parallel for Code- block ist eine for- Schleife, deren einzelne Durchläufe parallelisiert werden ª Clause: Wie soll mit Variablenwerten verfahren werden? shared (Liste von Variablen) von allen Threads gemeinsam private (Liste von Variablen) jeder Thread hat eigene Kopie reducbon (operator: list) Wende RedukBonsfunkBon an [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 55

56 OpenMP: Grundstruktur #include <omp.h> main () { int var1, var2, var3; // Serial code // Beginning of parallel section. Fork a team of threads. // Specify variable scoping #pragma omp parallel private(var1, var2) shared(var3) { // Parallel section executed by all threads All threads join master thread and disband } // Resume serial code } Achtung: gcc ab Version 4.2 nötig! Mit fopenmp übersetzten! Anzahl Threads (z.b.) durch Umgebungsvariable OMP_NUM_THREADS kontrollier [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 56

57 OpenMP Beispiel: VektoraddiRon #include <omp.h> #define CHUNKSIZE 100 #define N 1000 main () { int i, chunk; float a[n], b[n], c[n]; /* Some initializations */ for (i=0; i < N; i++) a[i] = b[i] = i * 1.0; chunk = CHUNKSIZE; #pragma omp parallel for shared(a,b,c,chunk) private(i) schedule(dynamic,chunk) } for (i=0; i < N; i++) c[i] = a[i] + b[i]; Arbeitseinheiten werden in Größe chunk an einzelne Threads zugewiesen [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 57

58 Granularität von Parallelität und Nebenläufigkeit ² Parallelität und Nebenläufigkeit können auf verschiedenen AbstrakBonsebenen realisiert werden ª Prozesse laufen parallel ab ª Parallele Threads innerhalb eines Prozesses ª Einzelne Anweisungen werden parallel ausgeführt ª Einzelne OperaBonen werden in eine Reihe von Teilbefehlen zerlegt und parallel ausgeführt Grobgranulare Parallelität ² Die Länge der parallelen AkBvitäten wird ow mit dem Begriff Granularität charakterisiert Feingranulare Parallelität [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 58

59 Übersicht ² Prozesse, Prozesszustände und Prozessumschaltung ² Adressraum ² Threads ² Parallele und nebenläufige Programmiersprachenkonstrukte ² Geräte und Gerätetreiber [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 59

60 Viele unterschiedliche Geräte ² In realen Systemen: unterschiedliche Geräte mit unterschiedlichen Details ª Unterschiedliche Anbindungen (Systembus, memory- mapped,...) ² Aber mit im wesentlichen ähnlichen EigenschaWen ª Lesen- /Schreiben sequenziell, oder wahlfrei,... ² Soll jeder Anwendungsprogrammierer Details für jedes Gerät lernen? ª Nein! ² Aufgabe für Betriebssystem: Abstrak4on von Details ª Einheitliche Schnipstellen schaffen, z.b. für E/A ª Details: Vorlesung über Betriebssysteme! [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 60

61 Zusammenfassung ² Grundlegende Überlegung: Daten und AkBvität sind getrennt voneinander zu beschreiben und zu verwalten ² Prozesse als Einheit der Verwaltung von Daten und AkBvität ª Threads als AbstrakBon von AkBvitäten, die auf den gleichen Daten arbeiten ² AkBvität kann potenbell oder tatsächlich gleichzeibg geschehen ª Abhängig von vorhandenen Ressourcen, Korrektheit garanberen ª Verschiedene Ausdrucksmipel für mögliche GleichzeiBgkeit ² Für Effizienz: dynamische Zuweisung von Ressourcen zu Nachfragern notwendig ª Z.B. Prozesse, Threads zu Prozessoren [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 61

62 Webserver- Entwurf OpRon 1 ² Realisierung mit einem Prozess, einem Thread ª Endlosschleife zur Annahme von Anfragen ª Die Anfragen werden sequenbell bearbeitet Sind die geforderten Daten im Cache Kurze Antwortzeit Andernfalls wird der Prozess blockiert, bis die Daten von der Festplape gelesen sind Leerlauf und geringe CPU- Auslastung [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 62

63 Webserver- Entwurf OpRon 2 ² Realisierung mit mehreren Threads ª Thread Dispatcher: liest ankommende Anfragen ª Thread Worker: bearbeitet eine einzelne Anfrage ² Ablauf ª Dispatcher empfängt die Anfrage und erstellt/weckt einen Worker ª Worker wechselt sobald möglich in laufend, überprüw Anfrage Daten im Cache Bearbeitung sofort Daten auf Festplape startet LeseoperaBon und versetzt sich in Zustand blockiert. LeseoperaBon beendet Wechsel in Zustand Bereit und der Worker bewirbt sich erneut um die CPU ² Vorteile dieser Lösung ª Keine komplexe Verwaltung wie beim Zustandsautomaten, keine IntegraBon nicht- blockierender LeseoperaBonen ª Hohes Maß an Parallelität zwischen Lese- und Rechenzugriffen [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 63

64 Webserver mit mehreren Threads Code Worker while(true) { wait_for_work(&buf); look_in_cache(&puf, &page); if(page_not_in_cache(&page); read_page_from_disk (&buf,&page); return_page(&page); } Code Dispatcher while(true) { get_next_request(&buf); handoff_work(&buf); } [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 64

65 Webserver- Entwurf OpRon 3 ² Realisierung mit endlichem Zustandsautomaten ª Voraussetzung: nicht- blockierender Festplapenzugriff ª Server nobert den aktuellen Zustand der Anfrage Festplapenzugriff Anfragenkennung in Tabelle eintragen, nicht- blockierenden Lesezugriff starten Cachezugriff Anfrage sofort beantworten ª Bearbeite das nächste Ereignis Ist das eine neue Anfrage Überprüfung der Daten wie beschrieben Festplapendaten ermiple die entsprechende Anfrage in der Tabelle und sende das Ergebnis ² Komplexer, meist schwieriger zu implemenberen, aber ow sehr effizient [KMS] Sommer 2015 Prozesse und Nebenläufigkeit 65

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

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

(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert?

(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert? SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 2 2014-04-28 bis 2014-05-02 Aufgabe 1: Unterbrechungen (a) Wie unterscheiden sich synchrone

Mehr

Dämon-Prozesse ( deamon )

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

Mehr

5 Speicherverwaltung. bs-5.1 1

5 Speicherverwaltung. bs-5.1 1 5 Speicherverwaltung bs-5.1 1 Pufferspeicher (cache) realer Speicher Primärspeicher/Arbeitsspeicher (memory) Sekundärspeicher/Hintergrundspeicher (backing store) (Tertiärspeicher/Archivspeicher) versus

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 20.11.2013 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Wdhlg.: Attributinformationen in

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

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

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet C++ Grundlagen ++ bedeutet Erweiterung zum Ansi C Standard Hier wird eine Funktion eingeleitet Aufbau: In dieser Datei stehen die Befehle, die gestartet werden, wenn das Programm gestartet wird Int main()

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

Prozesse. Stefan Janssen. sjanssen@cebitec.uni-bielefeld.de. Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de

Prozesse. Stefan Janssen. sjanssen@cebitec.uni-bielefeld.de. Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Netzwerk - Programmierung Prozesse Stefan Janssen sjanssen@cebitec.uni-bielefeld.de Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Madis Rumming mrumming@cebitec.uni-bielefeld.de Übersicht Prozesse

Mehr

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

SDD System Design Document

SDD System Design Document SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen

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

ec@ros2-installer ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg 7 64331 Weiterstadt

ec@ros2-installer ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg 7 64331 Weiterstadt ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Inhaltsverzeichnis 1 Download des ecaros2-installer...3 2 Aufruf des ecaros2-installer...3 2.1 Konsolen-Fenster (Windows)...3 2.2 Konsolen-Fenster

Mehr

FastViewer Remote Edition 2.X

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

Mehr

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen. Datenbank-Verschlüsselung mit DbDefence und Webanwendungen. In diesem Artikel werden wir Ihnen zeigen, wie Sie eine Datenbank verschlüsseln können, um den Zugriff einzuschränken, aber trotzdem noch eine

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

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

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

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Formular»Fragenkatalog BIM-Server«

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

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

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

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

Vorkurs C++ Programmierung

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

Mehr

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

IBM Software Demos Tivoli Provisioning Manager for OS Deployment Für viele Unternehmen steht ein Wechsel zu Microsoft Windows Vista an. Doch auch für gut vorbereitete Unternehmen ist der Übergang zu einem neuen Betriebssystem stets ein Wagnis. ist eine benutzerfreundliche,

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

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

Mehr

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

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

Mehr

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

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper Speicherverwaltung Real Mode Nach jedem starten eines PC befindet sich jeder x86 (8086, 80386, Pentium, AMD) CPU im sogenannten Real Mode. Datenregister (16Bit) Adressregister (20Bit) Dadurch lassen sich

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

OpenMP am Beispiel der Matrizenmultiplikation

OpenMP am Beispiel der Matrizenmultiplikation OpenMP am Beispiel der Matrizenmultiplikation David J. Meder, Dr. Victor Pankratius IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe

Mehr

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

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

Mehr

SEP 114. Design by Contract

SEP 114. Design by Contract Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit

Mehr

PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN

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

Mehr

Installationshinweise BEFU 2014

Installationshinweise BEFU 2014 Installationshinweise BEFU 2014 Allgemeines BEFU 2014 läuft unter dem Betriebssystem Windows XP, Vista, 7, 8. Für BEFU 2014 wird als Entwicklungsumgebung Access (32-Bit) verwendet. Es werden zum Download

Mehr

Übungen zum Fach Betriebssysteme Kapitel 3

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

Mehr

Hilfe zur Urlaubsplanung und Zeiterfassung

Hilfe zur Urlaubsplanung und Zeiterfassung Hilfe zur Urlaubsplanung und Zeiterfassung Urlaubs- und Arbeitsplanung: Mit der Urlaubs- und Arbeitsplanung kann jeder Mitarbeiter in Coffee seine Zeiten eintragen. Die Eintragung kann mit dem Status anfragen,

Mehr

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Autorisierung Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Dokumentation zum Referat von Matthias Warnicke und Joachim Schröder Modul: Komponenten basierte Softwareentwickelung

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

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003 Task! evt. parallel zu bearbeitende Ausführungseinheit! Beispiel: Task A Zündung Task B Einspritzung Task C Erfassung Pedalwert Zeit t J. Schäuffele, Th. Zurawka:, Vieweg, 2003 Echtzeitbetriebssysteme

Mehr

Jederzeit Ordnung halten

Jederzeit Ordnung halten Kapitel Jederzeit Ordnung halten 6 auf Ihrem Mac In diesem Buch war bereits einige Male vom Finder die Rede. Dieses Kapitel wird sich nun ausführlich diesem so wichtigen Programm widmen. Sie werden das

Mehr

Version 0.3. Installation von MinGW und Eclipse CDT

Version 0.3. Installation von MinGW und Eclipse CDT Version 0.3 Installation von MinGW und Eclipse CDT 1. Stellen Sie fest, ob Sie Windows in der 32 Bit Version oder in der 64 Bit Version installiert haben. 2. Prüfen Sie, welche Java Runtime vorhanden ist.

Mehr

Einfache und effiziente Zusammenarbeit in der Cloud. EASY-PM Office Add-Ins Handbuch

Einfache und effiziente Zusammenarbeit in der Cloud. EASY-PM Office Add-Ins Handbuch Einfache und effiziente Zusammenarbeit in der Cloud EASY-PM Office Add-Ins Handbuch Inhaltsverzeichnis 1. Einführung... 3 2. Ribbonmenü... 4 3. Dokument... 5 3.1 Öffnen... 5 3.2 Speichern... 6 3.3 Speichern

Mehr

Workshop: Eigenes Image ohne VMware-Programme erstellen

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

Mehr

How to do? Projekte - Zeiterfassung

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

Mehr

Backup der Progress Datenbank

Backup der Progress Datenbank Backup der Progress Datenbank Zeitplandienst (AT): Beachten Sie bitte: Die folgenden Aktionen können nur direkt am Server, vollzogen werden. Mit Progress 9.1 gibt es keine Möglichkeit über die Clients,

Mehr

4 Aufzählungen und Listen erstellen

4 Aufzählungen und Listen erstellen 4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer

Mehr

Erwin Grüner 09.02.2006

Erwin Grüner 09.02.2006 FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife

Mehr

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe crm-now/ps Webforms: Webdesigner Handbuch Copyright 2006 crm-now Versionsgeschichte Version 01 2006-08-21 Release Version crm-now c/o im-netz Neue

Mehr

Hilfen zur Verwendung der Word-Dokumentvorlage des BIS-Verlags

Hilfen zur Verwendung der Word-Dokumentvorlage des BIS-Verlags Hilfen zur Verwendung der Word-Dokumentvorlage des BIS-Verlags 2013 style_sheet_bis_verlag_20130513 Arbeiten mit der Dokumentvorlage des BIS-Verlags... 3 Dokumentvorlage Wofür?... 3 Wohin mit der Dokumentvorlage...

Mehr

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

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

Mehr

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

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

Kommunikationsübersicht XIMA FORMCYCLE Inhaltsverzeichnis

Kommunikationsübersicht XIMA FORMCYCLE Inhaltsverzeichnis Kommunikationsübersicht Inhaltsverzeichnis Kommunikation bei Einsatz eines MasterServer... 2 Installation im... 2 Installation in der... 3 Kommunikation bei Einsatz eines MasterServer und FrontendServer...

Mehr

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2.1 Die Einrichtung der Benutzeroberfläche Das Einrichten einer Android-Eclipse-Entwicklungsumgebung zur Android-Entwicklung ist grundsätzlich nicht

Mehr

Lizenzierung von System Center 2012

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

Mehr

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

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

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

Mehr

Zählen von Objekten einer bestimmten Klasse

Zählen von Objekten einer bestimmten Klasse Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --

Mehr

Einführung. Anwendung. logischer Adreßraum. Kontrollfluß (Thread) = CPU führt Instruktionen aus. Was charakterisiert einen Kontrollfluß?

Einführung. Anwendung. logischer Adreßraum. Kontrollfluß (Thread) = CPU führt Instruktionen aus. Was charakterisiert einen Kontrollfluß? Kontrollflüsse Einführung 1 Motivation Kontrollfluß Anwendung logischer Adreßraum Kontrollfluß (Thread) = führt Instruktionen aus Was charakterisiert einen Kontrollfluß? Programmzähler Registerinhalte

Mehr

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

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

Mehr

Tutorial - www.root13.de

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

Mehr

Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt

Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt AMPEL-Steuerung(en) Die Beschreibung und Programmierung der Ampel (vor allem Ampel_5) können sehr kompliziert

Mehr

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

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

Mehr

Programme im Griff Was bringt Ihnen dieses Kapitel?

Programme im Griff Was bringt Ihnen dieses Kapitel? 3-8272-5838-3 Windows Me 2 Programme im Griff Was bringt Ihnen dieses Kapitel? Wenn Sie unter Windows arbeiten (z.b. einen Brief schreiben, etwas ausdrucken oder ein Fenster öffnen), steckt letztendlich

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

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

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

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage .htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess

Mehr

TIMI: Technische Informatik für Medieninformatiker

TIMI: Technische Informatik für Medieninformatiker TIMI: Technische Informatik für Medieninformatiker Bachelor-Studiengang Digitale Medien Medieninformatik SS 2004 Niels Pollem Arbeitsgruppe Rechnernetze (Prof. Dr.-Ing. Ute Bormann) Scheduling:

Mehr

HINWEISE ZUR ARBEIT IM LABOR

HINWEISE ZUR ARBEIT IM LABOR HINWEISE ZUR ARBEIT IM LABOR MIT GLASSFISH UND DERBY UNTER NETBEANS 1. Grundsätzliches: Auch weiterhin arbeiten Sie im SWE-Labor remote, d.h. auf einem Server. Ihre Entwicklungsumgebung Netbeans ist dort

Mehr

Visio 2013. Grundlagen. Linda York. 1. Ausgabe, Oktober 2013

Visio 2013. Grundlagen. Linda York. 1. Ausgabe, Oktober 2013 Visio 2013 Linda York 1. Ausgabe, Oktober 2013 Grundlagen V2013 2 Visio 2013 - Grundlagen 2 Einfache Zeichnungen erstellen In diesem Kapitel erfahren Sie wie Sie Shapes einfügen, kopieren und löschen was

Mehr

Drucken aus der Anwendung

Drucken aus der Anwendung Drucken aus der Anwendung Drucken aus der Anwendung Nicht jeder Großformatdruck benötigt die volle Funktionsvielfalt von PosterJet - häufig sind es Standarddrucke wie Flussdiagramme und Organigramme die

Mehr

Programmieren für Ingenieure Sommer 2015. Ein Rechner. Rechner sind überall. Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet.

Programmieren für Ingenieure Sommer 2015. Ein Rechner. Rechner sind überall. Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet. Programmieren für Ingenieure Sommer 2015 Andreas Zeller, Universität des Saarlandes Ein Rechner Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet. Rechner sind überall Ihr Rechner

Mehr

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

Mehr

Homogene Multi-Core-Prozessor-Architekturen

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

Mehr

INHALT 1. INSTALLATION DES V-MODELL XT UNTER WINDOWS 7 2. INSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA

INHALT 1. INSTALLATION DES V-MODELL XT UNTER WINDOWS 7 2. INSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA INHALT 1. INSTALLATION DES V-MODELL XT UNTER WINDOWS 7 2. INSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA 1. INSTALLATION DES V-MODELL XT UNTER WINDOWS 7 VORBEDINGUNGEN Als Vorbedingungen sollte bereits

Mehr

Einführung in die C++ Programmierung für Ingenieure

Einführung in die C++ Programmierung für Ingenieure Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

Mehr

Fragen zur GridVis MSSQL-Server

Fragen zur GridVis MSSQL-Server Fragen zur GridVis MSSQL-Server Frage Anmerkung 1.0 Server allgemein 1.1 Welche Sprache benötigt die Software bzgl. Betriebssystem/SQL Server (deutsch/englisch)? 1.2 Welche MS SQL Server-Edition wird mindestens

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI TTS - TinyTimeSystem Unterrichtsprojekt BIBI Mathias Metzler, Philipp Winder, Viktor Sohm 28.01.2008 TinyTimeSystem Inhaltsverzeichnis Problemstellung... 2 Lösungsvorschlag... 2 Punkte die unser Tool erfüllen

Mehr

Automatisches Parallelisieren

Automatisches Parallelisieren Automatisches Parallelisieren Vorlesung im Wintersemester 2010/11 Eberhard Zehendner FSU Jena Thema: Datenabhängigkeitsanalyse Eberhard Zehendner (FSU Jena) Automatisches Parallelisieren Datenabhängigkeitsanalyse

Mehr

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

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

Mehr

Upgrade von Windows Vista auf Windows 7

Upgrade von Windows Vista auf Windows 7 Je nach Ihrer Hardware und der aktuellen Edition von Windows Vista können Sie die Option Upgrade bei der Installation von Windows 7 verwenden, um ein Upgrade von Windows Vista auf die entsprechende oder

Mehr

ecaros2 - Accountmanager

ecaros2 - Accountmanager ecaros2 - Accountmanager procar informatik AG 1 Stand: FS 09/2012 Inhaltsverzeichnis 1 Aufruf des ecaros2-accountmanager...3 2 Bedienung Accountmanager...4 procar informatik AG 2 Stand: FS 09/2012 1 Aufruf

Mehr

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Roboter programmieren mit NXC für Lego Mindstorms NXT 1. Auflage Roboter programmieren mit NXC für Lego Mindstorms NXT schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag

Mehr

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind

Mehr

Computeria Solothurn

Computeria Solothurn Computeria Solothurn Seniorinnen und Senioren entdecken den Computer und das Internet Sich mit «TeamViewer» von einem Supporter helfen lassen Diese Anleitung und die Illustrationen wurden unter Mac OS

Mehr

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales

Mehr

Entwurf von Algorithmen - Kontrollstrukturen

Entwurf von Algorithmen - Kontrollstrukturen Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer

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

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

E-Mail Adressen der BA Leipzig

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

Mehr

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

LPT1 Anschluss mit PCMCIA Karte

LPT1 Anschluss mit PCMCIA Karte 1. Allgemeines LPT1 Anschluss mit PCMCIA Karte verwendete Hardware: Lenze PC Systembusadapter EMF 2173-V003 PCMCIA Karte Firma QUATECH Typ SPP-100 Auf die Installation der PCMCIA Karte wird hier nicht

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