Multithreading per MFC unter W2K auf Dual-Prozessor-PC

Größe: px
Ab Seite anzeigen:

Download "Multithreading per MFC unter W2K auf Dual-Prozessor-PC"

Transkript

1 Labor für Computertechnik Leitung : Prof. Dr. T. Risse Wintersemester 2002 / 2003 Multithreading per MFC unter W2K auf Dual-Prozessor-PC Von Peter Klammer TI 8 I und Jens Gardewin TI 8 I Vortragsdatum :

2 I. Vorwort Diese Ausarbeitung wurde im Rahmen des Labors für Computertechnik erstellt, um einen kleinen Eindruck vom Aufwand zu vermitteln den Entwickler von Betriebssystemen, Anwendungen und Compilern gleichermaßen betreiben, um Multithreading unter Microsoft Foundation Classes und Windows 2000 zu ermöglichen. Wir setzen Grundkenntnisse im Bereich der Betriebssysteme und im Programmieren voraus, da wir im Rahmen dieses Dokumentes lediglich eine kurze Zusammenfassung der Grundlagen liefern können. Im Rahmen unserer Arbeit ist ein Test-Programm entstanden, welches hier näher vorgestellt werden wird und die Grundlage unserer abschleißenden Beurteilung von Multithreading bildet. Seite 2 von 32 Datum:

3 II. Inhaltsverzeichnis I. Vorwort...2 II. Inhaltsverzeichnis Begriffserklärung Was ist ein Thread? Mechanismen zum Speicherschutz (vor gegenseitigem Zugriff) Was ist ein Semaphor? Was versteht man unter einer Mutex? Was ist ein Software-Monitor? Allgemeines zu Events Event - Realisierung und Fairness : Critical Section (administratives Sperren) Abschließender Vergleich der vorangegangenen Mechanismen : Scheduling Threading unter Windows Priorisierung von Threads unter Windows Priorisierung von Threads in zwei Stufen Wie uns Windows dazwischenfunkt! Prioritätsstufen unter Windows Ändern von Prioritäten Ändern von Prioritäten im Task - Manager Kommando zur Prioritätsänderung Thread Zustandsfolge unter Windows Grundlagen zum Threading in Visual C++ 6.0/.NET Wie wird ein Thread unter Visual C++ repräsentiert? Der Unterschied zwischen einem Arbeits- und einem Windowthread Erstellen eines Arbeitsthreads Zerstören eines Threads Seite 3 von 32 Datum:

4 4.4. Pro und Contra der Benutzung von (mehreren) Threads Semaphore, Mutex und Critical Sections als Klassendefinition der MFC Das Beispielprogramm Einführung Funktionsweise Messmethode / Genauigkeit Ergebnis Single Prozessor Dual Prozessor Multiprozessorsysteme Der Source-Code Fazit Vorteile Nachteile Sonderfall Hyperthreading des Pentium IV Ausblick Quellen...32 Seite 4 von 32 Datum:

5 1. Begriffserklärung 1.1 Was ist ein Thread? Threads sind als kleine berechenbare Bestandteile eines Prozesses zu verstehen. Beachte 1: Beachte 2: Bei Prozesswechsel wird der Adressraum gewechselt, bei Thread -Wechsel innerhalb eines Prozesses nicht! Bei einem Mehrprozessorsystem kann das Betriebssystem die Threads eines Prozesses von verschiedenen Prozessoren ausführen lassen ( Parallelarbeit!) 1.2. Mechanismen zum Speicherschutz (vor gegenseitigem Zugriff) Die beschriebenen Synchronisierungsmassnahmen sind in vielfacher Hinsicht schwerfällig und undurchsichtig. Wenn ein Thread sich in einem kritischen Abschnitt befindet, sollten nicht die anderen Threads ständig um Erlaubnis zum Eintritt in den kritischen Abschnitt fragen. Es sollte möglich sein, die wartenden Threads zu deaktivieren, bis sie durch die Fertig-Meldung des seinen kritischen Abschnitt verlassenden Threads aufgeweckt werden. Der wechselseitige Ausschluss sollte nicht im Anwenderprogramm kodiert sondern mit den Stammfunktionen (primitives) des Nucleus garantiert werden, so ist dieser Prozess unteilbar und kann nicht unterbrochen werden (Grundvoraussetzung) Was ist ein Semaphor? Ein Zähler, mit dem sich ein wechselseitiger Ausschluss realisieren lässt, der einen kritischen Abschnitt schützt. Solange man den Zähler noch inkrementieren kann, so dass er eine bestimmte Maximalzahl nicht überschreitet, darf man die geteilte Ressource verwenden, ansonsten muss man warten. Seite 5 von 32 Datum:

6 Ist der Maximalwert = 1, so spricht man von einem binären Semaphor, und derjenige, der den Zähler zuletzt inkrementiert hat,,,besitzt'' das Semaphor. Welches somit ähnlich einem Staffelstab mit Prozesswechsel seinen Eigentümer zum aktuellen Läufer wechselt, während sich alle anderen mit dem vorherigen Läufer zusammen auf der Bank ausruhen. Semaphore können mit Monitoren implementiert werden Die Umkehrung gilt ebenfalls. Somit sind Semaphore und Monitore hinsichtlich ihrer Synchronisationsfähigkeiten gleich mächtig Was versteht man unter einer Mutex? Mutex ist ein Kunstwort aus Mutual und Exclusion (gegenseitiger Ausschluss). Ein Mutex ist vom Semaphor abgeleitet und besitzt nur zwei Zustände. Daher wird es oft als binäres Semaphor bezeichnet. Das Mutex gehört zur zu teilenden Ressource! Eine Mutex wird in Systemen benötigt, bei denen eine Ressource (z.b. Variable, Gerät u.a.) von verschiedenen Modulen abwechselnd benutzt werden soll. Der Teil der Instruktionen, in dem Benutzung der Ressource erfolgt, wird als kritischer Abschnitt (critical section) bezeichnet. Eine Mutex wird dabei von jedem der Module am Anfang eines kritischen Abschnitts gesperrt, so dass kein anderes Modul auf die Ressource zugreifen kann. Am Ende des kritischen Abschnitts wird die Mutex wieder freigegeben. Dies geschieht durch Lock und Unlock Befehle auf die zu schützende Ressource Was ist ein Software-Monitor? Ein Monitor ist ein Objekt, das Daten und Methoden/Prozeduren enthält. Damit ein Thread in den Monitor eindringen kann, muss dieser ein monitor entry aufrufen. Viele Threads können Monitor entry's desselben Monitors aufrufen; der wechselseitige Aussschluss bleibt garantiert. Nur ein Thread ist gleichzeitig im Innern des Monitors. Threads, die in einen Monitor eintreten wollen der Seite 6 von 32 Datum:

7 bereits besetzt ist, müssen warten. Die Prozeduren/Methoden eines Monitors können auf globale Daten zugreifen. Die lokalen Daten des Monitors sind aber von aussen nicht zugänglich (verstecken von Information). Vorteile : vollständige Datenabstraktion vollständiger wechselseitiger Ausschluss zwischen allen seinen Operationen Im Innern eines Monitors ist es aber unter Umständen nötig, dass ein Thread wartet. Ein solcher Thread wird, durch den Monitor, aus dem Monitor ausgelagert. Auf diese Weise bleibt der Monitor nicht blockiert und ein anderer Thread kann in den Monitor eintreten. Falls ein anderer Thread den Wartenden weckt, so kann diese, sobald der Monitor frei ist, diesen wieder betreten. Abbildung 1: Critical Section Für die Synchronisation im Innern des Monitors müssen folgende Bedingungen gelten: - Während dem Wecken darf keine anderer Thread dazwischen treten. Seite 7 von 32 Datum:

8 - Um zu verhindern, dass die 'Weckbedingung' durch den noch aktiven Thread wieder geändert wird, verlangt man, dass die Steuerung sofort an den aufgeweckten Thread übergeht. Das bedeutet, dass wartende Threads eine höhere Priorität gegenüber dem neu eingetretenen haben Allgemeines zu Events Prozesse warten auf Ereignisse (engl.: events), die von anderen Prozessen bzw. deren Threads ausgelöst werden. Events dienen zur Prozess- und somit ebenfalls zur Threadkommunikation, bzw. deren Synchronisation. Events sind Objekte vom Typ Monitor. Mehrere Threads können auf ein Ereignis warten: beim Eintreten des Ereignisses werden entweder alle Threads oder nur ein Thread aufgeweckt. das Ereignis geht verloren, wenn keiner wartet Event - Realisierung und Fairness : 1. Fairness bei Monitor-Freigabe: im Monitor blockierte Threads haben Vorrang vor eintrittswilligen Prozessen 2. signal-and-wait: Ein aus wait aufgeweckter Prozess übernimmt den Monitor, und der aufweckende Prozess blockiert in signal (!). Begründung: Monitorübergabe ohne Zustandsänderung. 3. signal-and-continue: Ein aus wait aufgeweckter Prozess übernimmt Monitor erst dann, wenn der aufweckende Prozess ihn freigibt. Begründung: Effizienz. 4. signal-and-return: signal ist mit Verlassen des Monitors verbunden. Begründung: Vorteile von 2 und 3. Seite 8 von 32 Datum:

9 1.2.4 Critical Section (administratives Sperren) Ein vom Programmierer selbst geschützter Bereich wird als atomar gekennzeichnet. D.h. dieser Abschnitt darf nicht von anderen Threades oder Prozessen unterbrochen werden und der Speicherbereich gehört exklusiv zu diesem Abschnitt. Der betreffende Thread kann nicht unterbrochen und sein zugewiesener Speicherbereich nicht betreten werden, bevor der Thread nicht beendet oder unterbrochen wurde. Diese Möglichkeit ist bei richtigem gebrauch höchst effizient, aber auch gefährlich bei Fehlern! Der Schutz dieses Speicherbereiches wird meist durch einen Mutex als einfachstes Mittel realisiert. Auch andere Mechanismen zum Schutz vor fehlerhaftem Speicherzugriff sind denkbar, hier werden auch die von vielen Betriebssystemen implementierten Ereignisse verwendet Abschließender Vergleich der vorangegangenen Mechanismen : Mutex: eignet sich lediglich um einzelne Ressourcen nacheinander mehreren Threads zur Verfügung zu stellen. Semaphor: Mächtiges, wenn auch einfaches Werkzeug um Threads zu organisieren, bei richtiger Anwendung wird nicht vergessen einen wartenden Thread auszuführen. Monitor: Erste konsequente Entwicklung eines Objekts, welches Threads und Prozesse überwacht, richtig eingesetzt eine gute Methode. Ereignisse: Sonderform der Monitore, oft implementiertes Mittel (auch in Windows 2000), um Prozesse und Threads zu kontrollieren und dient zur Kommunikation unter Prozessen und Threads. Seite 9 von 32 Datum:

10 1.3 Scheduling Die am häufigsten verwendete Methode in modernen Betriebssystemen um Prozesse und Threads für den Nutzer fast gleichzeitig auszuführen. So bedeutet Multitasking nicht, dass Anwendungen tatsächlich gleichzeitig den Prozessor verwenden, sondern vielmehr, das die zugehörigen Threads nacheinander die CPU verwenden können. Diesen Ablauf steuert im Betriebssystem eine Software, die Scheduler genannt wird, dem Anwender wird diese Ablaufsteuerung verborgen. Unter Windows 2000 z.b. kann man sich im Task - Manager lediglich die Ausführungszeiten ansehen. Den zeitlichen Gebrauch der CPU kann der Anwender lediglich durch Verändern der Prioritäten der Prozesse ändern (dies wird später genauer erläutert). Allgemein gilt : Je höher die Priorität, desto mehr Zeit wird einem Prozess bzw. Thread zur Verfügung gestellt. Abbildung 2: Scheduling Es müssen nicht immer alle Threads eines Prozesses unmittelbar nacheinander ausgeführt werden. Bestandteile eines Prozesses können vom Scheduler nach Bedarf zerstückelt und aufgeteilt werden, d.h. der Prozess 5 kann durchaus noch einen Thread e haben, der später erst verarbeitet wird. Seite 10 von 32 Datum:

11 Der Scheduler bedient sich hierzu der vorher erläuterten Verfahren und aktiviert immer nur einen Thread je verfügbarer Ressource. Da in Multiprozessor-Systemen mehrere Prozessoren zur Verfügung stehen, kann man sich dort vereinfacht zwei Zeitscheiben vorstellen. Jedoch muss von beiden ein Sektor von mindestens 10% für die Kommunikation unter den CPUs abgezogen werden. Dieser Overhead ist leider unvermeidbar. 2. Threading unter Windows 2000 Allgemeine Übersicht wie Threading unter Windows 2000 funktioniert. Da wir nun die allgemeinen Begrifflichkeiten und grundlegenden Fakten erarbeitet haben, wird hier nun speziell darauf eingegangen wie Threads unter Windows 2000 manipuliert werden können. Um die Manipulation der Prioritäten genauer zu verstehen werden aber zunächst noch die folgenden zwei Unterpunkte zu Windows 2000 aufgeführt. Dies soll Ihr Verständnis vertiefen und Ihnen die Interna der Priorisierung in diesem Betriebssystem näher bringen. 2.1 Priorisierung von Threads unter Windows 2000 Threads lassen sich ihrer Priorität entsprechend ordnen und damit in ihrer Ausführung beeinflussen. So wird ein Thread A durch einen anderen Thread B mit einer höheren Priorität unterbrochen. Somit erfolgt eine Kontextänderung (Wechsel) zum Thread B und dieser wechselt in den Zustand breit. Seite 11 von 32 Datum:

12 Windows 2000 kennt 32 Prioritätsstufen, diese sind von 0 bis 31 durchnummeriert, wobei 31 die höchst mögliche Prioritätsstufe ist. Vereinfacht lässt sich sagen: Der Bereich 0 bis 15 wird dynamisch vergeben, oberhalb fallen die Prioritäten in den so genannten Echtzeitbereich Priorisierung von Threads in zwei Stufen Die Basispriorität : o Diese Priorität erbt der Thread von seinem Prozess also: HOCH, HÖHER ALS NORMAL, NORMAL, NIEDRIGER ALS NORMAL, NIEDRIG oder IDLE Die relative Priorität : o Sie ergänzt die Basispriorität um weitere Stufen: ZEITKRITISCH, MAXIMAL, ANGEHOBEN, NORMAL, ABGESENKT, MINIMAL oder IDLE. o Idle bezeichnet die Prioritätsstufe 0. Solche Threads werden nur ausgeführt, wenn keine anderen Aufgaben anstehen. Die später noch erwähnte Basis-Prioritätsstufe Echtzeit kann nur von Administratoren und entsprechend berechtigten Benutzern ausgeführt werden und ist daher für die Anwendungsprogrammierung kritisch Wie uns Windows dazwischenfunkt! Im dynamischen Bereich (0-15), kann die Priorität vom Betriebssystem frei angepasst werden, d.h. Veränderungen von Prioritäten ohne Rückfragen oder Information des Benutzers. Prioritäten im Echtzeitbereich (15-31) werden nicht angetastet. Seite 12 von 32 Datum:

13 2.1.3 Prioritätsstufen unter Windows 2000 So entsteht eine Kombination der Prozess - Priorität und der relativen Thread-Priorität, die in der folgenden Tabelle zusammengefasst wird: Prozess-Priorität System Echtzeit System Hoch Höher als Normal Niedriger als Niedrig Idle Kern Dienste normal Normal Zeitkritisch Maximal Angehoben Normal Abgesenkt Minimal Die fett gedruckten Zahlen entsprechen den Prioritäten die durch den Task - Manager zugeteilt oder angegeben werden. Für System- und Idle- Prozesse kann leider keine genauere Angabe gemacht werden, diese Stufen lassen sich als Anwender überhaupt nicht verändern! Die Thread -Prioritäten wirken auf IRQL 0 oder 1, d.h. Threads werden nicht durch Interrupts behindert. Das Scheduling der Threads findet auf IRQL 2 statt. Es handelt sich hierbei ausschließlich um Software-IRQs! Seite 13 von 32 Datum:

14 2.2 Ändern von Prioritäten Die Prioritäten der laufenden Prozesse und der dazugehörigen Threads lassen sich im Task - Manager ändern. Ausnahme bilden die Echtzeitprioritäten, denn hierzu ist zusätzlich das Systemrecht ANHEBEN DER ZEITPLANUNGSPRIORITÄT notwendig. Sollten Sie nicht über diese Berechtigung verfügen, ist die maximal erreichbare Prioritätsstufe Hoch. In den Standardeinstellungen von Windows 2000 ist diese Berechtigung lediglich den Administratoren vorbehalten. Wenn Sie einer Anwendung direkt beim Start eine Priorität zuweisen möchten, dann verwenden Sie bitte das Kommando start mit dem entsprechenden Parameter z.b. aus dem Ausführungs-Fenster, oder der Kommandozeile Ändern von Prioritäten im Task - Manager Abbildung 3: Taskmanager Seite 14 von 32 Datum:

15 2.2.2 Kommando zur Prioritätsänderung Das Kommando: start /abovenormal notepad ruft den Editor Notepad mit der Priorität HÖHER ALS NORMAL auf. Die Arbeit mit der Kommandozeile erfordert unter Windows 2000 in der Regel die Eingabe der englischen Bezeichnungen (sind in der Hilfe zu start zu finden). Seite 15 von 32 Datum:

16 3. Thread Zustandsfolge unter Windows 2000 Es wird immer der Thread ausgeführt, der die höchste Priorität hat und Bereit ist. Die folgende Grafik soll das Scheduling und den Wechsel der Ausführungszustände näher veranschaulichen: Abbildung 4: Zustandsfolgediagram Ein Thread kann sich nach erfolgreicher Initialisierung in folgenden Zuständen befinden : Bereit: Diese Threads warten auf Ausführung (gestaffelt nach ihrer Priorität) Standby : Für Multiprozessorsysteme!! Thread ist einem Prozessor zugewiesen und wartet auf Ausführung. Ausgeführt: Bezeichnet den momentan aktiven Thread mit höchster Priorität. Bleibt solange aktiv: o bis der Kernel ihn unterbricht, um einen Thread höherer Priorität auszuführener beendet wird o er sich in den Wartezustand begibt, da er von anderen Daten abhängig ist Seite 16 von 32 Datum:

17 4. Grundlagen zum Threading in Visual C++ 6.0/.NET 4.1. Wie wird ein Thread unter Visual C++ repräsentiert? Abbildung 5: Hierarchy Chart (Auszug) Ein Thread wird unter Visual C++ als CWinThread Klasse realisiert. Zu bemerken ist hierbei, dass diese Klasse eine übergeordnete Klasse zur CWinApp Klasse darstellt. Eine CWinApp Klasse repräsentiert innerhalb eines Visual C++ Projektes die eigentliche Hauptklasse, vergleichbar der Main() Funktion von anderen C++ Dialekten, von der alle anderen Vorgänge, wie zum Beispiel das Öffnen des/der Dialogfenster, oder des Anwendungsfensters, gestartet bzw. gesteuert werden. Beim Programmstart wird als erstes eine CWinApp Klasse erstellt. Da die CWinApp Klasse von der CWinThread Klasse geerbt hat, ist die erstellte CWinApp Klasse auch eine Seite 17 von 32 Datum:

18 CWinThread Klasse, die innerhalb von Visual C++ einen Thread darstellt. Das bedeutet beim Erstellen einer CWinApp Klasse wird auch ein neuer Thread erstellt, in dem alle von der Klasse aufgerufenen Funktionen durchgeführt werden. Als Besonderheit von Visual C++ ist zu erwähnen, dass alle Dialogfenster in einem eigenen Thread gestartet werden, eventuell darunter liegende Dialogfelder (-threads) bleiben dadurch in ihrem eigenen Thread voll funktionsfähig Der Unterschied zwischen einem Arbeits- und einem Windowthread Die MFC unterscheidet zwischen zwei Formen von Threads: Ein Windowthread: Diese Form wird fast immer im Rahmen eines Dialogfeldes automatisch erstellt. Vom Programmier erwartet der Compiler kein weiteres Zutun, um das dazugehörige CWinThread Objekt zu erstellen. Ferner wird es automatisch beim schließen des Dialogs zerstört. Ein Arbeitsthread: Diese Form wird immer durch den Programmierer erstellt, und dient dazu, z.b. aufwendige Berechnungen im Hintergrund unabhängig von Dialog ausführen zu lassen. Dieses Objekt wird automatisch zerstört, wenn die Arbeit (die dem Thread übergebene Funktion) beendet ist Erstellen eines Arbeitsthreads Ein Arbeitsthread wird durch ein Compilermakro automatisch erstellt. Das Makro hat folgende Syntax: CWinThread* AfxBeginThread( AFX_THREADPROC pfnthreadproc, LPVOID pparam, int npriority = THREAD_PRIORITY_NORMAL, UINT nstacksize = 0, Seite 18 von 32 Datum:

19 DWORD dwcreateflags = 0, LPSECURITY_ATTRIBUTES lpsecurityattrs = NULL ); Die Variablen haben dabei folgende Bedeutung: AFX_THREADPROC pfnthreadproc : Der Zeiger(!) auf die im Thread auszuführende Funktion. LPVOID pparam : Ein Zeiger auf eine Datenstruktur für die aufzurufende Funktion. Es findet hier keine Typenprüfung statt, so dass die Typüberprüfung durch den Programmierer stattfinden muss. int npriorty = THREAD_PRIORITY_NORMAL : Mit diesem Parameter stellt man die Priorität des Threads ein. DWORD dwcreateflags = 0 :Mit diesem Parameter kann man einstellen, wie das Objekt erstellt werden soll. Man kann zum Beispiel ein Thread erstellen, der nach der Erstellung noch nicht gestartet wird, um ihm über die Mitgliedsfunktionen noch weitere Parameter mitgeben zu können. Alle anderen Parameter sollten in einem normalen Programm so bleiben wie sie sind, denn sie setzen sehr gute Kenntnisse in Windows 2000/XP voraus Zerstören eines Threads In der Standardeinstellung wird das CWinThread Klasse automatisch, nach Beendigung der in ihr gestarteten Funktion, zerstört. Dadurch gehen die RETURN Werte der im Thread ausgeführten Funktion verloren, so dass man das Schüsselwort RETURN in diesem Zusammenhang nicht als Ergebnisrückgabe nutzen kann. Stattdessen verwendet man den Zeiger LPVOID pparam. Wie oben ausgeführt zeigt dieser Zeiger auf eine Datenstruktur, die die Parameter der Funktion, sowie das Ergebnis der Funktion enthalt. Da die Datenstruktur vor dem Aufruf des AfxBeginThread Makros erstellt wird, ist sie auch nach Beendigung der Funktion noch vorhanden. So dass das Ergebnis innerhalb der Struktur weiterverwendet werden kann. Seite 19 von 32 Datum:

20 4.4. Pro und Contra der Benutzung von (mehreren) Threads Pro o Aufwendige Arbeitsvorgänge behindern bzw. blockieren keine Dialogfelder o Unterstützung von Mehrprozessorsystemen, speziell ist hier Hyperthreading (PentiumIV) zu erwähnen. o Durch die Nutzung von Mehrprozessorssystem und mehreren Threads verkürzt sich die Rechenzeit beträchtlich. Contra o Die Programmierung wird im Vergleich zu einem Singlethread sehr aufwendig. Zwei Dinge sind zu bedenken: Voneinander abhängige Threads, z.b. Arbeits- und Dialogthread, müssen über Events miteinander kommunizieren, so dass das Dialogfeld beispielsweise die neuen, im Hintergrund berechneten Werte anzeigt. Die Datensicherheit muss explizit vom Programmierer gewährleistet werden. Die einzigste MFC Unterstützung sind hier bei die aus EBS bekannten Semaphore, Mutex, und Critical Sections. Seite 20 von 32 Datum:

21 4.5. Semaphore, Mutex und Critical Sections als Klassendefinition der MFC Semaphore, Mutex und Critical Sections sind unter der MFC als von CSyncObject abgeleitete Klassen realisiert. Abbildung 6: Hierachy Chart (Auszug) CCriticalSection Diese Klasse verhindert, dass ein im Sourcecode markierter Bereich von mehr als einem Thread zu gleich ausgeführt wird. CEvent dieses Objekt dient zum Nachrichtenaustausch zwischen den Threads. CMutex repräsentiert das aus dem EBS Unterricht bekannte MUTEX CSemaphore repräsentiert das aus dem EBS Unterricht wiederum bekannte Semaphore. Wobei hier ausdrücklich zu bemerken ist, dass sich die MFC bzw. der Compiler überhaupt nicht darum kümmert, ob Ressourcen bzw. Variablen gleichzeitig von mehren Threads gelesen oder beschrieben werden. Das ist ausdrücklich Sache des Programmierers. Seite 21 von 32 Datum:

22 5. Das Beispielprogramm 5.1. Einführung Um nun die Funktionsweise und die Performancesteigerung ermitteln zu können, wurde das Programm Threading geschrieben. Es handelt sich dabei um ein einfaches dialogbasiertes Visual C++ - Programm Funktionsweise Zur Erläuterung wurde ein einfaches Programm geschrieben, welches das Flächenintregral einer halben Sinusschwingung ausrechnet. Verwendet wurde hier ein sehr einfacher Algorithmus: 1,2 1 0,8 0,6 0,4 0, , , ,5236 0, , ,0472 1, , ,5708 1, , ,0944 2, , , , , ,14159 Abbildung 7: Sinusalgorithmus Als erstes wird die Fläche eines Streifens unterhalb der Sinuskurve berechnet. Anschließend wird die Fläche eines Streifens oberhalb der Sinuskurve berechnet. Nun werden diese Flächen addiert und anschließend durch 2 geteilt, um den Mittelwert der beiden Flächen zu erhalten. Seite 22 von 32 Datum:

23 Der Rechenvorgang wird dabei in \1\2\4\8\16\32 Threads aufgeteilt und jeweils in den drei höchsten Prioritätsstufen (Normal, Hoch und Echtzeit) ausgeführt. Angegeben wird jeweils die komplette Berechnungsdauer (bis die gesamte Fläche berechnet wurde) in Millisekunden Messmethode / Genauigkeit Die Berechnungszeit für den auf die mehreren Threads aufgeteilte Flächenintregral wird auf zwei Arten bestimmt. Zum einen mit Hilfe des im Windows - Kernel enthaltenen Timers. Dieser Timer zählt die Anzahl der Millisekunden nach dem Start von Windows. Dieser Timer ist unter Win9x/ME auf etwa eine Millisekunde genau. Unter Windows 2000/XP beträgt die Genauigkeit nur noch etwa 5 Millisekunden. So dass nun der so genannte high-resolution performance counter genutzt wird. Dieser Timer ist prozessorbasierend und ist auf manchen Systemen gar nicht und wenn äußerst unterschiedlich implementiert. Allen ist einzig gemein, dass es Zähler sind, die zeitabhängig hoch gezählt werden. Die tatsächliche Zeit wird bei diesem Timer mit Hilfe von zwei Funktionen bestimmt. Die erste Funktion bestimmt die Zahl des Counters, die zweite die Anzahl der Zählschritte (Counts) pro Sekunde. Teilt man das Ergebnis der ersten Funktion durch das Ergebnis der zweiten Funktion so erhält man den Wert des Counters in Sekunden. Aufgrund der äußerst unterschiedlichen Implementierung dieses Counters kann man keine Angaben zu dessen Genauigkeit machen. Sie beträgt auf dem Entwicklungssystem (AMD AthlonXP 1700+, KT266A) beispielsweise 2,79*10-7 s entsprechend 2,79*10-4 ms. Die Endergebnisse der Test waren selbst unter unterschiedlichsten Einflüssen reproduzierbar. Selbst der Einsatz eines CPU-Kühlers wie CPU-Idle hat keinen Einfluss auf das Ergebnis. Lediglich Abweichungen von etwa 20 ms waren zu bemerken, was bei einer Berechnungszeit von 1 s aber zu vernachlässigen ist Ergebnis Bevor nun der Sourcecode erklärt wird, möchte ich das Ergebnis vorweg nehmen, um die nicht C++ - Interessierten nicht weiter zu langweilen. Als erstes wird das Ergebnis eines Single Prozessors dargestellt. Hier bei handelt es sich um einen AMD AthlonXP mit 1466 MHz, 512 MByte DDR-RAM, und einem KT266A Chipsatz. Als Betriebssystem kam Windows 2000 Pro SP3 zum Einsatz Seite 23 von 32 Datum:

24 Single Prozessor Abbildung 8: Ergebnis auf einem AMD AthlonXP mit 1466 Mhz, 512 MByte DDR-RAM Wie zu sehen ist, ergibt sich kein Performancevorteil durch das Multithreading. Bei den beiden Prioritätsstufen Highest und Time Critical läuft die Berechnung in mehren Threads genauso schnell ab, als ob diese in einem Thread gestartet wird. Dieses Ergebnis konnte bei einem ein Prozessorsystem so erwartet werden. Wo sollte die zusätzliche Rechenleistung auch herkommen? Interessanter ist vielmehr, dass der Overhead der Threadwechsel auf Prozessorebene bei aktuellen Prozessoren so gering ist, dass dieser fast nicht mehr messbar ist. In der Prioritätsstufe Normal stellt sich eine scheinbare Performancesteigerung durch Multithreading ein. Dies lässt sich folgendermaßen erklären. Da Normale Thread sich die Rechenleistung mit allen anderen normalen Threads (denen der Tray-Icons, Systemdienste...) teilen müssen, kann man sich durch mehrere Threads zusätzliche Rechenleistung erschleichen. Unter Win2K erhält ein Thread eine bestimmte vorgegebene Rechenzeit. Wenn diese dann abgelaufen ist, ist der nächste Thread im Scheduling dran. Hat man nun 32 statt 1 Thread erhält man die 32 fache Rechenzeit. Da beim Scheduling Threads mit höherer Priorität bevorzugt werden, funktioniert dies in höheren Stufen nicht mehr, da es nicht mehr so viele Nebenthreads gibt, so dass Seite 24 von 32 Datum:

25 sich so die Rechenleistung wieder gleichmäßig aufteilt. Ferner ist festzustellen, dass man selbst mit 32 normalen Threads nicht die Rechenleistung eines highest Threads erreicht Dual Prozessor Nun folgt das Ergebnis eines Dual Prozessor Systems. Hierbei handelte es sich um ein Dual Pentium III B 600 MHz, 256 MByte SD-RAM und einem Intel BX Chipsatz. Als Betriebssystem kam wiederum Windows 2000 Pro SP3 zum Einsatz: Abbildung 9: Dual Pentium IIIB 600Mhz, 256 Mbyte SD-RAM Bei der normalen Prioritätsstufe stellt sich nicht der erwartete Performancevorteil ein. Aufgrund der oben beschriebenen Tatsache, dass es noch viele normale Nebenthreads gibt, geht die Rechleistung bzw. Rechenzeit für all die anderen Prozesse/Threads verloren. Erst durch das Aufteilen auf 32 Threads und entsprechender Rechenzeit Zuteilung erreicht man eine Halbierung der Rechenzeit. Es kann aber nicht sicher gesagt werden, ob sich durch die Aufteilung auf zwei Prozessoren oder nur um den oben beschrieben Effekt handelt. Bei den beiden anderen Prioritätsstufen stellt sich das erwartete Ergebnis ein. Beim Aufteilen in mehrere Threads halbiert sich die Rechenzeit. Allerdings stellt sich hier die Ideallösung dar, da alle Threads unabhängig von einander arbeiten. Treten Abhängigkeiten auf, d.h. ein Thread muss auf Seite 25 von 32 Datum:

26 das Ergebnis eines anderen warten, oder es entstehen Ressourcenkonflikte, zwei Threads wollen etwa ein Gerät benutzen, bricht dieser Performancevorteil zusammen. Im schlimmsten Fall erreicht man nur noch die Geschwindigkeit eines ein Prozessorsystems Multiprozessorsysteme Auf Multiprozessorsystem sollte sich ein ähnliches Verhalten wie zu einstellen. Die Anzahl der Threads zur Berechnung sollte für eine optimale Ausnutzung der Performance gleich oder größer der Anzahl von den Prozessoren im System sein. Leider konnte dies mangels eines Multiprozessorsystems (4 oder mehr Prozessoren) nicht verifiziert werden Der Source-Code Hier sollen nun Auszüge gezeigt werden, die die Anwendung des Multithreading im Testprogramm zeigen. Als erstes der Datentyp SUebergabe der zur Parameterübergabe genutzt wird. struct SUebergabe { double ngrenzeunten; }; untere Grenze des zu berechenden Flächenintregrals obere Grenze des zu berechenden Flächenintregrals double ngrenzeoben; long ncount; Anzahl der zuberechenden Streifen double nergebnis; das zurückgegebene Ergebnis Als nächstes folgt die Berechnungsfunktion, die jeweils von den CWinThread Objekten gestartet wird. UINT FSimpSin(LPVOID pparam ) { Diese Funktion berechnet Fläche unterhalb der Sinuskurve. Die Grenzen werden als Parameter über den Zeiger pparam übergeben. Interne Variabelen double nschrittweite = 0; Breite eines Streifens bei Integration double nzwischenl = 0; Ergebnis des Streifen Bezugspunkt linke Kante double nzwischenr = 0; Ergebnis des Streifen Bezugspunkt rechte Kante double nergebnis = 0; Das Endergebnis double nwert = 0; Aktuelle zu berechnender Wert SUebergabe* Param = (SUebergabe*)pParam; Übergebenen Zeiger in einsprechenden Typ umwandeln nschrittweite = (Param->nGrenzeOben - Param->nGrenzeUnten)/Param->nCount; Schrittweite berechnen nwert = Param->nGrenzeUnten; Anfangswert festlegen Seite 26 von 32 Datum:

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

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

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

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

Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender 2010. FHNW, Services, ICT

Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender 2010. FHNW, Services, ICT Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender 2010 FHNW, Services, ICT Windisch, März 2013 Berechtigungen im Kalender 1 1 Gruppen 3 1.1 Die Gruppe/der Benutzer Standard

Mehr

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

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

Mehr

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

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während

Mehr

DriveLock 6. DriveLock und das Windows Sicherheitsproblem mit LNK Dateien. CenterTools Software GmbH

DriveLock 6. DriveLock und das Windows Sicherheitsproblem mit LNK Dateien. CenterTools Software GmbH 6 DriveLock und das Windows Sicherheitsproblem mit LNK Dateien CenterTools Software GmbH 2010 Copyright Die in diesen Unterlagen enthaltenen Angaben und Daten, einschließlich URLs und anderen Verweisen

Mehr

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

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

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

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

Mehr

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden. In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website

Mehr

Tutorial Windows XP SP2 verteilen

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

Mehr

Modul 2: Automatisierung des Posteingangs - Regel- und Abwesenheits-Assistent

Modul 2: Automatisierung des Posteingangs - Regel- und Abwesenheits-Assistent Outlook 2003 - Aufbaukurs 19 Modul 2: Automatisierung des Posteingangs - Regel- und Abwesenheits-Assistent Wie kann ich die Bearbeitung von Nachrichten automatisieren? Wie kann ich Nachrichten automatisch

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

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost Adobe Photoshop Lightroom 5 für Einsteiger Bilder verwalten und entwickeln Sam Jost Kapitel 2 Der erste Start 2.1 Mitmachen beim Lesen....................... 22 2.2 Für Apple-Anwender.........................

Mehr

Internet online Update (Internet Explorer)

Internet online Update (Internet Explorer) Um Ihr Consoir Beta immer schnell und umkompliziert auf den aktuellsten Stand zu bringen, bieten wir allen Kunden ein Internet Update an. Öffnen Sie Ihren Internetexplorer und gehen auf unsere Internetseite:

Mehr

PowerPoint 2010 Mit Folienmastern arbeiten

PowerPoint 2010 Mit Folienmastern arbeiten PP.002, Version 1.1 07.04.2015 Kurzanleitung PowerPoint 2010 Mit Folienmastern arbeiten Der Folienmaster ist die Vorlage für sämtliche Folien einer Präsentation. Er bestimmt das Design, die Farben, die

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

Lizenzen auschecken. Was ist zu tun?

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

Mehr

C++ Tutorial: Timer 1

C++ Tutorial: Timer 1 C++ Tutorial: Timer 1 Timer v1.0 Einleitung Raum und Zeit sind spätestens seit der kopernikanischen Wende wichtige Gegenstände des Denkens geworden. In einem Programm bestimmt die Zeit die Abläufe und

Mehr

Einrichten der Outlook-Synchronisation

Einrichten der Outlook-Synchronisation Das will ich auch wissen! - Kapitel 3 Einrichten der Outlook-Synchronisation Inhaltsverzeichnis Überblick über dieses Dokument... 2 Diese Kenntnisse möchten wir Ihnen vermitteln... 2 Diese Kenntnisse empfehlen

Mehr

SharePoint Demonstration

SharePoint Demonstration SharePoint Demonstration Was zeigt die Demonstration? Diese Demonstration soll den modernen Zugriff auf Daten und Informationen veranschaulichen und zeigen welche Vorteile sich dadurch in der Zusammenarbeit

Mehr

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista Allgemeines: Bitte lesen Sie sich diese Anleitung zuerst einmal komplett durch. Am Besten, Sie drucken sich diese Anleitung

Mehr

Kompatibilitätsmodus und UAC

Kompatibilitätsmodus und UAC STEITZ IT-Solutions Kompatibilitätsmodus und UAC Der nachfolgenden Artikel beschreibt, wie Sie die UAC (User Account Control = Benutzerkontensteuerung) für ausgewählte Anwendungen deaktivieren. Mit der

Mehr

FlowFact Alle Versionen

FlowFact Alle Versionen Training FlowFact Alle Versionen Stand: 29.09.2005 Rechnung schreiben Einführung Wie Sie inzwischen wissen, können die unterschiedlichsten Daten über verknüpfte Fenster miteinander verbunden werden. Für

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

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY Vorteile der Verwendung eines ACTIVE-DIRECTORY Automatische GEORG Anmeldung über bereits erfolgte Anmeldung am Betriebssystem o Sie können sich jederzeit als

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

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

Mehr

Windows XP Jugendschutz einrichten. Monika Pross Molberger PC-Kurse

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

Mehr

.NET Code schützen. Projekt.NET. Version 1.0

.NET Code schützen. Projekt.NET. Version 1.0 .NET Code schützen Projekt.NET Informationsmaterial zum Schützen des.net Codes Version 1.0 Autor: Status: Ablage: Empfänger: Seiten: D. Hoyer 1 / 6 Verteiler : Dokument1 Seite 1 von 1 Änderungsprotokoll

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

Dokumentation von Ük Modul 302

Dokumentation von Ük Modul 302 Dokumentation von Ük Modul 302 Von Nicolas Kull Seite 1/ Inhaltsverzeichnis Dokumentation von Ük Modul 302... 1 Inhaltsverzeichnis... 2 Abbildungsverzeichnis... 3 Typographie (Layout)... 4 Schrift... 4

Mehr

Swisscom TV Medien Assistent

Swisscom TV Medien Assistent Swisscom TV Medien Assistent Mithilfe dieses Assistenten können Sie Fotos und Musik, die Sie auf Ihrem Computer freigegeben haben, auf Swisscom TV geniessen. Diese Bedienungsanleitung richtet sich an die

Mehr

! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006

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

Mehr

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

SANDBOXIE konfigurieren

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

Mehr

Netzwerkeinstellungen unter Mac OS X

Netzwerkeinstellungen unter Mac OS X Netzwerkeinstellungen unter Mac OS X Dieses Dokument bezieht sich auf das D-Link Dokument Apple Kompatibilität und Problemlösungen und erklärt, wie Sie schnell und einfach ein Netzwerkprofil unter Mac

Mehr

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Das komplette Material finden Sie hier: Download bei School-Scout.de

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

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen Alexander Schunk Henry Trobisch Inhalt 1. Vergleich der Unit-Tests... 2 2. Vergleich der Codeabdeckungs-Tests... 2 3. Vergleich

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

Mehr

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Bevor Sie die Platte zum ersten Mal benutzen können, muss sie noch partitioniert und formatiert werden! Vorher zeigt sich die Festplatte

Mehr

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

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

Mehr

EINFACHES HAUSHALT- KASSABUCH

EINFACHES HAUSHALT- KASSABUCH EINFACHES HAUSHALT- KASSABUCH Arbeiten mit Excel Wir erstellen ein einfaches Kassabuch zur Führung einer Haushalts- oder Portokasse Roland Liebing, im November 2012 Eine einfache Haushalt-Buchhaltung (Kassabuch)

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

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline Öffentliche Ordner Offline INDEX Öffentliche Ordner erstellen Seite 2 Offline verfügbar einrichten Seite 3 Berechtigungen setzen Seite 7 Erstelldatum 12.08.05 Version 1.1 Öffentliche Ordner Im Microsoft

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

Microsoft Office 365 Kalenderfreigabe

Microsoft Office 365 Kalenderfreigabe Microsoft Office 365 Kalenderfreigabe Schritt-für-Schritt-Anleitung zur Kalenderfreigabe mit Microsoft Outlook 2010 Unter Office 365 können Sie Ihre persönlichen Daten freigeben. Wie so eine Freigabe einzurichten

Mehr

VB.net Programmierung und Beispielprogramm für GSV

VB.net Programmierung und Beispielprogramm für GSV VB.net Programmierung und Beispielprogramm für GSV Dokumentation Stand vom 26.05.2011 Tel +49 (0)3302 78620 60, Fax +49 (0)3302 78620 69, info@me-systeme.de, www.me-systeme.de 1 Inhaltsverzeichnis Vorwort...2

Mehr

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

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

Mehr

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein Einrichtung von orgamax-mobil Um die App orgamax Heute auf Ihrem Smartphone nutzen zu können, ist eine einmalige Einrichtung auf Ihrem orgamax Rechner (bei Einzelplatz) oder Ihrem orgamax Server (Mehrplatz)

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme Novell Client Anleitung zur Verfügung gestellt durch: ZID Dezentrale Systeme Februar 2015 Seite 2 von 8 Mit der Einführung von Windows 7 hat sich die Novell-Anmeldung sehr stark verändert. Der Novell Client

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

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

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

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

Excel-Anwendung Wartungsplan

Excel-Anwendung Wartungsplan Excel-Anwendung Wartungsplan 1. Eigenschaften 2. Installation 3. Makros in Excel 2010 aktivieren 4. Hinweise zur Eingabe der Daten 5. Dateneingabe 6. Suchblatt 7. Autor 1. Eigenschaften (zurück) Wartungsplan

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

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser Seite 1 von 14 Cookie-Einstellungen verschiedener Browser Cookie-Einstellungen verschiedener Browser, 7. Dezember 2015 Inhaltsverzeichnis 1.Aktivierung von Cookies... 3 2.Cookies... 3 2.1.Wofu r braucht

Mehr

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren Verwaltungsdirektion Informatikdienste Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren Inhaltsverzeichnis Einleitung... 3 Installation WSUS Server... 4 Dokumente... 4 Step by Step Installation...

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

1. Einführung. 2. Archivierung alter Datensätze

1. Einführung. 2. Archivierung alter Datensätze 1. Einführung Mit wachsender Datenmenge und je nach Konfiguration, kann orgamax mit der Zeit langsamer werden. Es gibt aber diverse Möglichkeiten, die Software wieder so zu beschleunigen, als würden Sie

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

Dokumentenverwaltung. Copyright 2012 cobra computer s brainware GmbH

Dokumentenverwaltung. Copyright 2012 cobra computer s brainware GmbH Dokumentenverwaltung Copyright 2012 cobra computer s brainware GmbH cobra Adress PLUS ist eingetragenes Warenzeichen der cobra computer s brainware GmbH. Andere Begriffe können Warenzeichen oder anderweitig

Mehr

GeoPilot (Android) die App

GeoPilot (Android) die App GeoPilot (Android) die App Mit der neuen Rademacher GeoPilot App machen Sie Ihr Android Smartphone zum Sensor und steuern beliebige Szenen über den HomePilot. Die App beinhaltet zwei Funktionen, zum einen

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

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

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

Mehr

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

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

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

Mehr

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

Dossier: Rechnungen und Lieferscheine in Word

Dossier: Rechnungen und Lieferscheine in Word www.sekretaerinnen-service.de Dossier: Rechnungen und Lieferscheine in Word Es muss nicht immer Excel sein Wenn Sie eine Vorlage für eine Rechnung oder einen Lieferschein erstellen möchten, brauchen Sie

Mehr

Wie benutzt man TortoiseSVN

Wie benutzt man TortoiseSVN Wie benutzt man TortoiseSVN 1 Inhaltsverzeichnis 1.Benötigte Vorkenntnisse...3 2.Benötigte Software...3 3.Schritt 1 Software installieren...3 4.Schritt 2 einen Ordner anlegen...3 5.Schritt 3 Projekt auschecken...4

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

Modellbildungssysteme: Pädagogische und didaktische Ziele

Modellbildungssysteme: Pädagogische und didaktische Ziele Modellbildungssysteme: Pädagogische und didaktische Ziele Was hat Modellbildung mit der Schule zu tun? Der Bildungsplan 1994 formuliert: "Die schnelle Zunahme des Wissens, die hohe Differenzierung und

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

teamspace TM Outlook Synchronisation

teamspace TM Outlook Synchronisation teamspace TM Outlook Synchronisation Benutzerhandbuch teamsync Version 1.4 Stand Dezember 2005 * teamspace ist ein eingetragenes Markenzeichen der 5 POINT AG ** Microsoft Outlook ist ein eingetragenes

Mehr

Installationsanleitung CLX.PayMaker Home

Installationsanleitung CLX.PayMaker Home Installationsanleitung CLX.PayMaker Home Inhaltsverzeichnis 1. Installation und Datenübernahme... 2 2. Erste Schritte Verbindung zur Bank einrichten und Kontoinformationen beziehen... 4 3. Einrichtung

Mehr

Anleitung Captain Logfex 2013

Anleitung Captain Logfex 2013 Anleitung Captain Logfex 2013 Inhalt: 1. Installationshinweise 2. Erste Schritte 3. Client-Installation 4. Arbeiten mit Logfex 5. Gruppenrichtlinien-Einstellungen für die Windows-Firewall 1. Installationshinweis:

Mehr

Urlaubsregel in David

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

Mehr

Lieber SPAMRobin -Kunde!

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

Mehr

Tipps und Tricks zu Netop Vision und Vision Pro

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

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht:

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Beiträge erstellen in Joomla Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Abbildung 1 - Kontrollzentrum Von hier aus kann man zu verschiedene Einstellungen

Mehr

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock infach Ihr Weg zum finanzellen Erfolg Geld Florian Mock FBV Die Grundlagen für finanziellen Erfolg Denn Sie müssten anschließend wieder vom Gehaltskonto Rückzahlungen in Höhe der Entnahmen vornehmen, um

Mehr

2.1 Erstellung einer Gutschrift über den vollen Rechnungsbetrag

2.1 Erstellung einer Gutschrift über den vollen Rechnungsbetrag 1. Einführung Manchmal ist es notwendig, dem Kunden eine Gutschrift zu einer bestimmten Rechnung, über einzelne Positionen oder auch völlig frei von einer Basis-Rechnung zu erstellen. Die verschiedenen

Mehr

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst. 40-Tage-Wunder- Kurs Umarme, was Du nicht ändern kannst. Das sagt Wikipedia: Als Wunder (griechisch thauma) gilt umgangssprachlich ein Ereignis, dessen Zustandekommen man sich nicht erklären kann, so dass

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

FLASH USB 2. 0. Einführung DEUTSCH

FLASH USB 2. 0. Einführung DEUTSCH DEUTSCH FLASH ROTE LED (GESPERRT) GRÜNE LED (ENTSPERRT) SCHLÜSSEL-TASTE PIN-TASTEN BLAUE LED (AKTIVITÄT) Einführung Herzlichen Dank für Ihren Kauf des Corsair Flash Padlock 2. Ihr neues Flash Padlock 2

Mehr

1 Voraussetzungen für Einsatz des FRITZ! LAN Assistenten

1 Voraussetzungen für Einsatz des FRITZ! LAN Assistenten AVM GmbH Alt-Moabit 95 D-10559 Berlin Faxversand mit dem FRITZ! LAN Assistenten Mit dem FRITZ! LAN Assistenten können Sie einen Computer als FRITZ!fax Server einrichten, über den dann Faxe von anderen

Mehr

MetaQuotes Empfehlungen zum Gebrauch von

MetaQuotes Empfehlungen zum Gebrauch von MetaQuotes Empfehlungen zum Gebrauch von MetaTrader 4 auf Mac OS Auch wenn viele kommerzielle Angebote im Internet existieren, so hat sich MetaQuotes, der Entwickler von MetaTrader 4, dazu entschieden

Mehr

Mediator 9 - Lernprogramm

Mediator 9 - Lernprogramm Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop

Mehr

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test?

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Auch wenn die Messungsmethoden ähnlich sind, ist das Ziel beider Systeme jedoch ein anderes. Gwenolé NEXER g.nexer@hearin gp

Mehr

Anleitung zur Verwendung der VVW-Word-Vorlagen

Anleitung zur Verwendung der VVW-Word-Vorlagen Anleitung zur Verwendung der VVW-Word-Vorlagen v1.0. Feb-15 1 1 Vorwort Sehr geehrte Autorinnen und Autoren, wir haben für Sie eine Dokumentenvorlage für Microsoft Word entwickelt, um Ihnen die strukturierte

Mehr

BEO-Sanktionsprüfung Eine Einführung zum Thema Sanktionsprüfung und eine Übersicht zur BEO-Lösung.

BEO-Sanktionsprüfung Eine Einführung zum Thema Sanktionsprüfung und eine Übersicht zur BEO-Lösung. BEO-Sanktionsprüfung Eine Einführung zum Thema Sanktionsprüfung und eine Übersicht zur BEO-Lösung. BEO GmbH Hennengärtli Endingen Tel.: 0 / 00-0 Fax: 0 / 00- info@beo-software.de www.beo-software.de Sanktionsprüfung

Mehr

Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express

Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express Howto Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express Peter Bitterlich Markus Langer 12. Oktober 2012 Zusammenfassung Dieses Dokument erklärt Schritt für Schritt die Installation

Mehr