Kapitel 15 Die CLI und Kellermaschinen
|
|
- Detlef Lang
- vor 8 Jahren
- Abrufe
Transkript
1 Kapitel 15 Die CLI und Kellermaschinen Korbinian Molitorisz IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH)
2 Agenda Ausführungsmodell von.net Interoperabilität Die CLI und ihre Bestandteile Die CLR als Kellermaschine Definition wichtiger Begriffe 1
3 Traditionelle Ausführung C++ Code Nicht-verwaltete Anwendungen C++ Übersetzer ASM Code (Linker) Dynamisches Laden gemeinsamer Module Betriebssystem (Windows, Linux, Unix,...) Klassen und alle Funktionen werden vom Übersetzer in Maschinencode übersetzt. Klassenstrukturen nach der Übersetzung nicht mehr erkennbar. Das Programm ist selbst zuständig für die Speicherverwaltung, Zeiger, Sicherheit und etc. 2
4 Ausführung unter.net-architektur Verwalteter Code ( Managed Code ) Nicht-verwaltete Anwendungen Klassenbibliothek ( Framework Class Library, FCL) Sämtlicher Code wird unter Aufsicht der Laufzeitumgebung CLR ausgeführt Laufzeitumgebung Sicherheit, Speicherbereinigung, Versionierung,... Klassenbibliothek GUI, Collections, Threads, Netzwerk, Reflection, XML,... Verwalteter Code Verwaltete Daten: Laufzeitumgebung ( Common Language Runtime, CLR) Betriebssystem (Windows, Linux, Unix,...) Code unter Kontrolle der CLR Daten, die von der CLR während des Programmablaufs verwendet werden (Anlegen, Verwenden, Zerstören) 3
5 Einheitliches Ausführungsmodell C# C# C++ VB... if (a>b) max=a; else max=b; Übersetzer Übersetzer Übersetzer Übersetzer Sprachintegration erfolgt auf Ebene der CIL Interoperabilität CIL-Code (+ Metadaten) Lader Verifizierer JIT-Übersetzer Maschinencode Ausgabe ist von CPU und Betriebssystemversion abhängig Protabilität IL_0004: ldloc.0 IL_0005: ldloc.1 IL_0006: ble.s IL_0008: ldloc.0 IL_0009: stloc.2 IL_000a: br.s IL_000c: ldloc.1 IL_000d: stloc.2 mov ebx,[-4] mov edx,[-8] cmp ebx,edx jle 17 mov ebx,[-4] mov [-12],ebx... CIL IL_000c IL_000e Intel-Code 4
6 Interoperabilität Interoperabilität auf Codeebene Sprachen werden gleichwertig, da alle Übersetzer CIL-Code erzeugen Eine C# Klasse kann von einer VB.NET Klasse abgeleitet sein Einheitliche Fehlerbehandlung 5
7 Beispiel: Interoperabilität auf Codeebene VB.NET Code (Datei BasicDog.vb): Namespace DogClone Public Class BasicDog Public Sub Bark(ByVal strname as System.String) End Sub End Class End Namespace System.Console.WriteLine("Hello, {0}!",strName) C# Code (Datei ExtDog.cs): namespace DogClone { } public class ExtendedDog : BasicDog { } public void Growl(string strname) { } System.Console.WriteLine("Hello, {0}. I will bite you!",strname); Vollständiger Quellcode: Demo 1 6
8 Beispiel: Interoperabilität auf Codeebene Verwendung beider Klassen (C# Code): using DogClone; class DogDemo { public static void Main() { ExtendedDog Beagle = new ExtendedDog(); Beagle.Bark("Michael"); Beagle.Growl("Simon"); System.Console.ReadLine(); } } 7
9 CLI Common Language Infrastructure CLI = Grundgerüst der.net-architektur Ziel : Entwicklung von Anwendungen in beliebigen Sprache und Ausführung in verschiedenen Umgebungen. Erweiterung bestehender Anwendungen ohne Neuentwicklung oder Anpassung. Wird im ECMA-Standard 335 definiert (4th Edition, June 2006) ISO : Information technology. Office machines 060 : Languages used in information technology CLI ähnelt in vielen Punkten CORBA von der Object Management Group (OMG) COM/Distributed COM (DCOM) Java 8
10 CLI Common Language Infrastructure (ECMA-335) Schicht I: Architektur und Konzepte Beschreibt die grundlegende Architektur der CLR Definiert das gemeinsame Typsystem (Common Type System, CTS) Definiert das virtuelle Ausführungssystem (Virtual Execution System, VES), Enthält die Common Language Specification (CLS). 9
11 CLI Common Language Infrastructure (ECMA-335) Schicht II: Metadaten und Semantik Stellt die Beschreibung der Metadaten zur Verfügung: physikalische Anordnung (als Dateiformat) logischer Inhalt (als Menge von Tabellen und Beziehungen) Semantik (aus der Sicht eines hypothetischen Assemblers namens ilasm ). Schicht III: CIL-Befehlssatz Detaillierte Beschreibung des Common Intermediate Language (CIL)-Befehlssatzes. 10
12 CLI Common Language Infrastructure (ECMA-335) Schicht IV: Profile und Bibliotheken Stellt eine Übersicht der CLI-Bibliotheken und eine detaillierte Beschreibung der Klassen, Schnittstellen- und Werttypen im XML- Format zur Verfügung. Schicht V: Annexe Enthält einige in CIL implementierte Beispielprogramme, Informationen über spezifische Implementierung eines Assemblers, eine Maschinen-lesbare Beschreibung des CIL-Befehlssatzes und Werkzeuge zur CIL-Manipulation. 11
13 CLI Implementierungen Microsoft Windows (2000, XP, Vista, 7...): Microsoft.NET-Framework (+Compact Framework), Microsofts Implementierung des CLI-Standards (CLR und FCL) Microsoft Windows XP, FreeBSD, Mac OS X 10.2: SSCLI (Rotor): Shared Source Common Language Infrastructure (Rotor Community Site) Linux, Unix (Solaris): Project Mono by Ximian (Gnome) und Novell: DotGNU (Webservices und C#) : 12
14 Quelle: Stutz, Neward, Shilling: Shared Source CLI Essentials, O'Reilly, 2003 Komponenten der SSCLI VS.NET C# JScript VB VC/MC++ Debugger Designers SDK Tools CorDBG ILAsm ILDAsm ILDbDump SN MetaInfo PEVerify System web (ASP.NET) Session State UI Caching HtmlControls Security WebControls Configuration Simple web services Protocols Discovery Description XSLT Collections Configuration Diagnostics System.XML XPath Memory mgmt Stacks & Threads Globalization IO Net Serialization System Reflection Resources Security System.WinForms Design ComponentModel Drawing2D Imaging System.Drawing System.Data (ADO.NET) ADO SQL Design ServiceProcess Text Threading Printing Text Adapters Runtime InteropServices Remoting Serialization Common Language Infrastructure Metadata mgmt Domains & Loaders CTS JIT-Compiler Boot Loader Platform Adaption Layer (PAL) Threads Sync Timers Filesystem ECMA Standard zusätzlich in Rotor enthalten in kommerzieller CLR enthalten 13
15 CLI Common Language Infrastructure Die CLI enthält zwei Hauptbestandteile: Common Language Runtime (CLR) Eine verwaltete Ausführungsumgebung, welche von verschiedenen Sprachen verwendet werden kann. Framework Class Libraries (FCL) Services und Strukturen um komplexe Anwendungen zu entwickeln. Framework Class Libraries Collections Text Security System Threading IO Diagnostics Reflection Runtime Globalization XML Network Common Language Runtime Common Type System Metadata System Virtual Execution System 14
16 CLR Common Language Runtime Gemeinsames Typsystem (CTS): Kern der CLR Beschreibt Datentypen von.net und ihr Verhalten Definiert einen Mechanismus, damit die Programme in unterschiedlichen Sprachen miteinander kommunizieren können Typverwaltung Verifikation Konversion Metadatensystem: Typen beschreiben sich selbst Sprachunabhängig Metadaten können auch von andren Werkzeugen verwendet werden Virtuelles Ausführungssystem: Implementiert das CTS-Modell Lädt.NET Programme und führt diese aus Späte Bindung 15
17 CLR Virtuelle Maschine Was ist eine virtuelle Maschine (VM)? Eine in Software implementierte CPU. VM hat eigenen Befehlssatz unabhängig von Host-System. VM hat normalerweise seine eigene Speicherverwaltung und kann z.b eigene Primitive für Nebenläufigkeit anbieten. Befehle werden interpretiert / JIT-übersetzt. andere Beispiele: Java-VM, Smalltalk-VM, Pascal P-Code Programme (F#, C#, C++,...) CLR z.b. x86 Maschinencode 16
18 CLR Virtuelle Maschine Warum eine Virtuelle Maschine (VM)? Eine VM überbrückt die Lücke zwischen Hochsprache und niedrigen Aspekten einer realen Maschine. Zugriffe auf das Host-Betriebssystem sind beschränkt und geschehen durch die VM. Es ist relativ einfach, eine VM zu implementieren und einfacher, für eine VM zu kompilieren als zu einer realen Maschine. Programme (F#, C#, C++,...) CLR z.b. x86 Maschinencode 17
19 Warum eine virtuelle Maschine? Einfachere Portierbarkeit (Plattform- und Sprachunabhängigkeit) ohne VM: je ein Übersetzer pro Sprache und Plattform (z.b. 4 4=16) C# VB.NET Oberon Eiffel... Übersetzer Windows MacOS Linux PalmOS mit VM: Übersetzung in Zwischensprache (unter.net: CIL) ein Übersetzer pro Sprache und eine CLR (JIT-Übersetzer) pro Plattform (z.b. 4+4=8) C# VB.NET Oberon Eiffel CIL Windows MacOS Linux PalmOS 18
20 Warum eine virtuelle Maschine? Kompaktheit des Zwischencodes Kompakter als Quellcode Kompakter als nativer Code Optimierter Code Mehr Möglichkeiten zur Optimierung des Maschinencodes Analysierung der Zielmaschinenkonfiguration vom JIT-Übersetzer Laufzeitoptimierung Ressourcenverbrauch Sicherheitsfunktionen können von der VM verifiziert werden. Profiling und Debugging sind einfach zu implementieren. 19
21 Kellermaschine vs. Registermaschine Kellermaschine Alle Argumente einer Funktion liegen auf dem Keller Jeder Form der Kommunikation erfolgt über den Keller Beispiel: add(17,25) 3 Kelleranweisungen für add-befehl 20
22 Kellermaschine vs. Registermaschine Registermaschine Register: Eine nummerierte Speicherzelle, um die Daten zu halten. Die Werte im Register werden addiert und das Ergebnis in einem anderen Register gespeichert. Beispiel: add(17,25) 1 Registeranweisung für add-befehl Registerbasierte VMs: Parrot-VM (Perl6) und PHP 21
23 Kellermaschine vs. Registermaschine Warum definiert man die Zwischensprache auf einer Keller- und nicht auf einer Registermaschine? Portabilität: Von jeglicher Architektur abstrahiert Problem bei Registermaschinen: Zuordnung von VM-Registern zu Hardwareregistern, verschiedene Anzahl und Größe der Register. Interoperabilität: Die Zwischensprache CIL ist nur ein kompakter, einfacher, kellerbasierter Bytecode und einfach zu produzieren. Verifikation: Während der statischen Analyse kennt der Compiler alle Argumente, ihre Typen und weiß, wo sie herkommen Änderung von Werten: In einer Registermaschine muss der ganze Code einer Methode geprüft werden, um ein Wertänderung im Register zu erkennen. In einer Kellermaschine wird das Ergebnis nur einmal zugewiesen. 22
24 Kellermaschine vs. Registermaschine Was ist mit der Instruktionsabarbeitung? Die Instruktionsabarbeitung bei Kellermaschinen ist schwerfällig Beim Interpretieren (nicht beim JITten) entsteht zusätzlicher Aufwand beim Zuordnen von virtuellen zu nativen Instruktionen. Mit einem JIT-Übersetzer kann man eine sehr gute Performanz erreichen: Nach dem JITten schrumpf die Anzahl an tatsächlich auszuführenden Operationen um die Hälfte. 23
25 Wichtige Begriffe Assembly Modul (engl. module) Metadaten Manifest Lader und JIT-Übersetzer Ladezyklus 27
26 Assembly Prog.cs class A {... } class B {... } Lib.cs class C {... } Assembly csc Prog.cs,Lib.cs Prog.exe Manifest Metadaten CIL-Code für A CIL-Code für B CIL-Code für C Kein Eintrag in der Windows-Registry Nachfolger von COM-Komponenten Lader 28
27 Assembly Logische Einheit für: Auslieferung, Kapselung, Laden, Versionierung und Sicherheit.NET-Komponente im Sinne der komponentenorientierten Softwareentwicklung Fasst Module und Ressourcendateien zusammen Als ausführbare Datei (.exe) oder als Bibliotheksbaustein (.dll) Wird vom Übersetzer oder Assembly Linker (al.exe) erzeugt Mehrstufige Versionsnummer Container für verwaltete Module 29
28 Modul Physische Einheit: 1.NET-Modul = 1.NET-PE-Datei Enthält Typdefinitionen mit Metadaten und CIL-Code der Methoden wird vom Übersetzer erzeugt 30
29 Metadaten Die Beschreibung von Typen wird als Metadaten bezeichnet Der Übersetzer erstellt Metadaten bei Bedarf Enthalten: Schnittstellenbeschreibung von: Klassen, Methoden, Variablen Parametern, Typen, Versionsnummer und öffentlichen Schlüssel (asymmetrische Verschlüsselung für Code-Signatur) Ermöglichen: Zugriff auf Typinformationen zur Laufzeit (Reflection) Dynamisches Laden Versionsprüfung 31
30 Assembly und Modul Eine Assembly kann aus mehreren Modulen bestehen Single module-assembly Multi module-assembly Jede Assembly enthält ein primäres Modul mit Manifest: Metadaten Lader IL-Code JIT-Übersetzer Primäres Modul Manifest Metadaten IL Code Metadaten Metadaten IL Code Modul 1 Metadaten IL Code IL Code Modul 3 Modul 2 32
31 Manifest Inhaltverzeichnis einer Assembly Identität einer Assembly Speichert Informationen über die Bestandteile einer Assembly Name der Assembly Landes- und Sprachinformation Prozessorinformationen (32-/64-bit) Welche Module gehören dazu, wo sind diese zu finden Attribute zum Ausführungskontext (Debug/Release) Externe und lokale Typen Versionsinformation Strong Name und etc. 33
32 Lader Liest die Metadaten und legt im Hauptspeicher eine interne Repräsentation der Klassen und ihrer Mitglieder an Eine Klasse wird nur dann geladen, wenn sie auch referenziert wird Die Konsistenz der Metadaten wird geprüft 34
33 JIT-Übersetzer Basiert auf Ergebnissen des Laders (Konsistenzprüfung) Der IL-Code wird zu nativem Code übersetzt und anschließend ausgeführt. Eine Methode wird genau dann übersetzt, wenn Sie das erste mal aufgerufen wird Die kompilierte Methode bleibt im Hauptspeicher, wenn es keine Speicherbeschränkungen gibt. Nur ein JIT-Vorgang pro Methode Bei Geräten mit wenig Speicher neu-jitten möglich (Smartphones/Embedded). 35
34 Der Ladezyklus Vorkompilieren Ein verwaltetes Modul kann von IL nach nativem Code vorkompiliert werden Spart Zeit für JIT-Übersetzer, wenn das Modul wiederholt ausgeführt werden soll z. B. Übersetzung während der Installation Bei der Ausführung des vorkompilierten Moduls muss die Original IL-Version vorhanden sein, da der native Code keine Metadaten enthält. 36
35 Der Ladezyklus Anlegen und Ausführen einer verwalteten.net-anwendung (engl. assembly): Datenübertragung Anfragen und Kontrollfluss Quelltext Übersetzer Laufzeitumgebung (CLR) Metadaten IL-Code Modul Lader JIT-Übersetzer Interne Datenstrukturen Nativer Code Ausführungseinheit 37
Kapitel 15 Die CLI und Kellermaschinen
Kapitel 15 Die CLI und Kellermaschinen Korbinian Molitorisz IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Agenda Ausführungsmodell
MehrVorlesung AFCW, Microsoft.NET Wintersemester 2002/03. Völlig neue Systemstruktur als Antwort auf Java
.NET Vorlesung Application Frameworks and Componentware Peter Sturm Universität Trier.NET Völlig neue Systemstruktur als Antwort auf Java Assembly = Komponente Zwischensprache (IL = Intermediate Language)
Mehr.NET Framework. 3. Das.NET Framework
3. Das.NET Framework.NET Framework 3.1 Übersicht - 2002 von Microsoft bereitgestellt - Ziel: Entwicklung von Anwendungen (Windows, Web, Embedded,..) bequemer und sicherer zu machen und bestehenden Code
MehrSoftware Reuse Sommer Einfache, aus 3 Komponenten bestehende, Anwendung Was ist eine Komponente?
Rückblick Einfache, aus 3 Komponenten bestehende, Anwendung Was ist eine Komponente? Eine einzelne Klasse? Eine ganze Anwendung? Komponente In sich abgeschlossener Baustein Klar definierte Schnittstelle
MehrCLR CIL MCS ECMA-335. Linux.Ne t. 2005 Albrecht Liebscher, Erlanger Linux Tage
C# CLR CIL MCS ECMA-335 Linux.Ne t Was ist.net? Microsoft Homepage:.NET is the Microsoft Web services strategy to connect information, people, systems and devices through software. Mono Handbuch:.Net besteht
MehrUniversität Karlsruhe (TH) Moderne Entwicklungsumgebungen am Beispiel.NET
Forschungsuniversität gegründet 1825 Moderne Entwicklungsumgebungen am Beispiel.NET Die.NET-Grundlagen Ali Jannesari Institut für Programmstrukturen und Datenorganisation (IPD) Inhalt Grundlagen.NET Überblick
Mehr4D Server v12 64-bit Version BETA VERSION
4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und
Mehr.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
MehrIn 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC
PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com
MehrMicrosoft.NET Überblick. Matthias Nübling
Microsoft.NET Überblick Matthias Nübling Gliederung Was ist Microsoft.NET? Überblick wichtiger.net-technologien Common Language Runtime.NET Framework ADO.NET Windows Forms Web Forms mit ASP.NET Web Services
MehrDiplomarbeit Antrittsvortrag
Diplomarbeit Antrittsvortrag Christian Müller Run-time byte code compilation, interpretation and optimization for Alice Betreuer: Guido Tack Verantwortlicher Prof.: Gert Smolka Die nächsten 15 Minuten...
MehrStarthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum
Starthilfe für C# Inhaltsverzeichnis Allgemeines... 2 Bezugsquellen... 2 SharpDevelop... 2.NET Runtime... 2.NET SDK... 2 Installation... 2 Reihenfolge... 2 Vorschlag für eine Ordnerstruktur... 3 Arbeit
MehrEinführung in Microsoft.NET
Einführung in Microsoft.NET Martin Saternus Martin Saternus Technical Student Consultant Microsoft Academic Program Microsoft Deutschland GmbH i-martsa@microsoft.com In diesem Vortrag Der Weg zu Microsoft.NET
MehrVorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick
Vorlesung Objektorientierte Softwareentwicklung Sommersemester este 2008 Kapitel 0. Java-Überblick Was sind die Ziele? Warum Java? Komplexe Anwendungen e-business verteilt zuverlässig sicher mobil persistent
MehrDie Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter
Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
MehrGliederung. .NET Vision. Was ist Microsoft.NET? Microsoft.NET Überblick. Was ist Microsoft.NET? Überblick wichtiger.net-technologien.
Gliederung Microsoft.NET Überblick Matthias Nübling Was ist Microsoft.NET? Überblick wichtiger.net-technologien Common Language Runtime ADO.NET Windows Forms Web Forms mit ASP.NET Visual Studio.NET Was
MehrEs 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
MehrWEBINAR@LUNCHTIME THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ
WEBINAR@LUNCHTIME THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ HERZLICH WILLKOMMEN BEI WEBINAR@LUNCHTIME Moderation Anne K. Bogner-Hamleh SAS Institute GmbH Education Consultant Training
MehrC++ 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()
MehrMetaQuotes 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
MehrMicrosoft.NET. InfoPoint 8. Juni 2005 Stefan Bühler
Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler Inhalt Was ist.net Was steckt dahinter Warum ist.net so wie es ist Die Säulen von.net.net Framework 2.0 / VisualStudio 2005 Beispiel Referenzen & Links
Mehr8a. Exkurs.NET. 8a.1.NET Architektur
8a. Exkurs.NET Inhalt: 8a.1.NET Architektur 8a.2 Kooperation von Anwendungen über ADO -.NET 8a.3 Unterschiede gegenüber gewöhnlicher WIN32- Programmierung 1 8a.1.NET Architektur Bislang wurden die C/C++
MehrVB.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
MehrWillkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java
Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen
Mehrschnell 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
Mehr2. 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
MehrProgrammierung 2. Übersetzer: Code-Erzeugung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.
1 Programmierung 2 Übersetzer: Code-Erzeugung Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 Bytecodes Der Java Übersetzer erzeugt keine Maschinensprache
MehrVirtual Desktop Infrasstructure - VDI
Virtual Desktop Infrasstructure - VDI Jörg Kastning Universität Bielefeld Hochschulrechenzentrum 5. August 2015 1/ 17 Inhaltsverzeichnis Was versteht man unter VDI? Welchen Nutzen bringt VDI? Wie funktioniert
MehrIn 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC
PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com
Mehrmywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger
mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger Grundlegendes Oracle9i PostgreSQL Prevayler Memory mywms bietet umfangreiche Konfigurationsmöglichkeiten um die Daten dauerhaft zu speichern.
MehrVisual Basic Express Debugging
Inhalt Dokument Beschreibung... 1 Projekt vorbereiten... 1 Verknüpfung zu Autocad/ProStructures einstellen... 2 Debugging... 4 Autocad/ProSteel Beispiel... 5 Dokument Beschreibung Debuggen nennt man das
MehrProseminar Technische Informatik A survey of virtualization technologies
Proseminar Technische Informatik A survey of virtualization technologies Referent: Martin Weigelt Proseminar Technische Informatik - A survey of virtualization technologies 1 Übersicht 1. Definition 2.
MehrDie ersten C#- Programme erstellen
Zusatzkapitel zu Kapitel 3: Die ersten C#- Programme erstellen I - Erste Schritte Richtig einsteigen: Programmieren lernen mit Visual C# 2005 Website zum Buch: www.vsxpress.de Auf den folgenden Seiten
MehrFassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing
Fassade Objektbasiertes Strukturmuster C. Restorff & M. Rohlfing Übersicht Motivation Anwendbarkeit Struktur Teilnehmer Interaktion Konsequenz Implementierung Beispiel Bekannte Verwendung Verwandte Muster
MehrInstallation der SAS Foundation Software auf Windows
Installation der SAS Foundation Software auf Windows Der installierende Benutzer unter Windows muss Mitglied der lokalen Gruppe Administratoren / Administrators sein und damit das Recht besitzen, Software
MehrEIDAMO Webshop-Lösung - White Paper
Stand: 28.11.2006»EIDAMO Screenshots«- Bildschirmansichten des EIDAMO Managers Systemarchitektur Die aktuelle EIDAMO Version besteht aus unterschiedlichen Programmteilen (Komponenten). Grundsätzlich wird
MehrKompilieren und Linken
Kapitel 2 Kompilieren und Linken Bevor wir uns auf C++ selbst stürzen, brauchen wir einiges Vorgeplänkel, wie man komfortabel ein größeres C++- kompilieren kann. Mit Java stellt sich der Kompiliervorgang
MehrWorkshop: 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
Mehrmobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005
Das Software Studio Christian Efinger mobilepoi 0.91 Demo Version Anleitung Erstellt am 21. Oktober 2005 Kontakt: Das Software Studio Christian Efinger ce@efinger-online.de Inhalt 1. Einführung... 3 2.
MehrJava Entwicklung für Embedded Devices Best & Worst Practices!
Java Entwicklung für Embedded Devices! George Mesesan Microdoc GmbH Natürlich können wir dieses neue log4j Bundle auch auf dem Device verwenden. Ist doch alles Java. Java Micro Edition (ME) Java Standard
MehrWeb Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen
9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.
MehrIBM 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,
Mehr360.NET. Jan Schenk Developer Evangelist Web/Live Microsoft Deutschland
360.NET Jan Schenk Developer Evangelist Web/Live Microsoft Deutschland Was ist.net? Eine Strategie Eine Plattform Eine Laufzeitumgebung Eine Software-Sammlung Ein Set von Services Warum so ein Framework?
MehrHowto. Einrichten des TREX Monitoring mit SAP Solution Manager Diagnostics
Howto Einrichten des TREX Monitoring mit SAP Solution Manager Diagnostics Inhaltsverzeichnis: 1 GRUNDEINSTELLUNGEN IM SAP SOLUTION MANAGER... 3 1.1 ANLEGEN EINES SERVERS... 3 1.2 ANLEGEN EINES TECHNISCHEN
MehrAnleitung zum Prüfen von WebDAV
Anleitung zum Prüfen von WebDAV (BDRS Version 8.010.006 oder höher) Dieses Merkblatt beschreibt, wie Sie Ihr System auf die Verwendung von WebDAV überprüfen können. 1. Was ist WebDAV? Bei der Nutzung des
MehrJ.5 Die Java Virtual Machine
Java Virtual Machine Die Java Virtual Machine 22 Prof. Dr. Rainer Manthey Informatik II Java-Compiler und Java Virtual Machine Quellcode-Datei class C... javac D.java Java-Compiler - Dateien class class
MehrPHP Kurs Online Kurs Analysten Programmierer Web PHP
PHP Kurs Online Kurs Analysten Programmierer Web PHP Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses PHP Modul 1 - Einführung und Installation PHP-Umgebung Erste Lerneinheit Introduzione
MehrWorkflow Systeme mit der Windows Workflow Foundation
Studiengang Electronic Business (EB) Diplomarbeit (280000) Workflow Systeme mit der Windows Workflow Foundation externe Betreuung durch Christoph Müller vorgelegt bei Prof. Dr. Michael Gröschel von Hans-Martin
MehrSQL Server 2008 Standard und Workgroup Edition
September 2008 Produktgruppe: Server Lizenzmodell: Microsoft Server Server/ Serverlizenz Zugriffslizenz () pro Gerät Zugriffslizenz () pro Nutzer Produktgruppe: Server Lizenzmodell: Microsoft Server Pro
MehrWhite Paper. Embedded Treiberframework. Einführung
Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded
MehrModerne Entwicklungsumgebungen am Beispiel von.net
Moderne Entwicklungsumgebungen am Beispiel von.net Prof. Dr. Walter F. Tichy Dipl.-Inform. David J. Meder M.Sc. Ali Jannesari IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum
MehrLizenzierung 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Ü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
MehrJava Einführung Programmcode
Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:
MehrVersion 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.
MehrBegleitendes Praktikum zur Vorlesung Künstliche Intelligenz
Begleitendes Praktikum zur Vorlesung Künstliche Intelligenz SS12 Kontakt Internet: http://cvpr.uni-muenster.de/teaching/ss12/ki/ RSS-Feed Kalender Dipl.-Math. Michael Schmeing m.schmeinguni-muenster.de
MehrFragen 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
MehrHow-to: Webserver NAT. Securepoint Security System Version 2007nx
Securepoint Security System Inhaltsverzeichnis Webserver NAT... 3 1 Konfiguration einer Webserver NAT... 4 1.1 Einrichten von Netzwerkobjekten... 4 1.2 Erstellen von Firewall-Regeln... 6 Seite 2 Webserver
Mehr0. Einführung. C und C++ (CPP)
C und C++ (CPP) 0. Einführung Prof. Dr. Marc Rennhard Institut für angewandte Informationstechnologie InIT ZHAW Zürcher Hochschule für Angewandte Wissenschaften marc.rennhard@zhaw.ch Marc Rennhard, 05.01.2010,
MehrWINDOWS 8 WINDOWS SERVER 2012
WINDOWS 8 WINDOWS SERVER 2012 IT Fachforum 2012 :: 24.09.-27.09.2012 Andreas Götzfried IT Fachforum::Agenda Windows 8 Windows Server 2012 Zertifizierung WINDOWS 8 Schöne neue Welt Andreas Götzfried Windows
MehrInstallationsanleitung
Installationsanleitung zu @Schule.rlp (2015) Inhaltsverzeichnis Inhaltsverzeichnis... 1 Voraussetzungen... 2 vorbereitende Aufgaben... 3 Installation @Schule.rlp (2015):... 3 Installation Java SE Runtime
MehrBrownbag Session Grundlagen Virtualisierung Von VM s und Containern
Brownbag Session Grundlagen Virtualisierung Von VM s und Containern 13.07.2012 Nils Domrose inovex GmbH Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. Worum geht s?...falls
MehrSQL Server 2005 Standard Edition SQL Server 2005 Enterprise Edition SQL Server 2005 Workgroup Edition
SQL Server 2005 Standard Edition SQL Server 2005 Enterprise Edition SQL Server 2005 Workgroup Edition Produktgruppe: Server SQL Server 2005 Standard Edition, Enterprise Edition, Workgroup Edition Lizenzmodell:
MehrLEHRSTUHL FÜR DATENBANKEN
LEHRSTUHL FÜR DATENBANKEN Informatik II für Verkehrsingenieure Java & Eclipse Installationsguide Prof. Dr.-Ing. Wolfgang Lehner > Was ist Eclipse? Eine sogenannte Integrierte Entwicklungsumgebung (engl.
MehrDiplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008
Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen
MehrObjectBridge Java Edition
ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente
MehrCADEMIA: Einrichtung Ihres Computers unter Linux mit Oracle-Java
CADEMIA: Einrichtung Ihres Computers unter Linux mit Oracle-Java Stand: 21.02.2015 Java-Plattform: Auf Ihrem Computer muss die Java-Plattform, Standard-Edition der Version 7 (Java SE 7) oder höher installiert
MehrWo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite http://www.hp.
Erfahrungen mit dem Insight Manager von HP Dipl. Ing. Elektrotechnik (FH) - Automatisierungs- / Regelungstechnik DV-Spezialist Landesbank Rheinland-Pfalz Abteilung 2-351 Große Bleiche 54-56 55098 Mainz
Mehrcrm-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
MehrWorkflow, Business Process Management, 4.Teil
Workflow, Business Process Management, 4.Teil 24. Januar 2004 Der vorliegende Text darf für Zwecke der Vorlesung Workflow, Business Process Management des Autors vervielfältigt werden. Eine weitere Nutzung
MehrKonzepte von Betriebssystem-Komponenten
Konzepte von Betriebssystem-Komponenten Wilhelm.Haas@informatik.stud.uni-erlangen.de 11. Januar 2005 1 Einleitung Im Jahre 1998 lies Microsoft verlauten, dass sie mit der Entwicklung einer neuen Version
MehrSafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen
SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen Um die maximale Sicherheit für das Betriebssystem und Ihre persönlichen Daten zu gewährleisten, können Sie Programme von Drittherstellern
MehrEntwicklungsumgebungen. Packer, Vagrant, Puppet. Alexander Pacnik Mannheim, 10.11.2014
Entwicklungsumgebungen Packer, Vagrant, Puppet Alexander Pacnik Mannheim, 10.11.2014 inovex... über inovex und den Referenten 2 Entwicklungsumgebungen... Übersicht Einführung Packer Konfiguration Packer
MehrKurzfassung der Studienarbeit
Kurzfassung der Studienarbeit Abteilung Informatik Namen der Studenten Roman Widmer Mikkala Pedersen Studienjahr Sommersemester 2004 Titel der Studienarbeit.NET Skript Debugger Examinator Der GUI-Builder
MehrDieses Dokument beschreibt die Installation des Governikus Add-In for Microsoft Office (Governikus Add-In) auf Ihrem Arbeitsplatz.
IInsttallllattiionslleiittffaden Dieses Dokument beschreibt die Installation des Governikus Add-In for Microsoft Office (Governikus Add-In) auf Ihrem Arbeitsplatz. Voraussetzungen Für die Installation
MehrSEP 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
MehrFormular»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
MehrEinführung zu den Übungen aus Softwareentwicklung 1
Einführung zu den Übungen aus Softwareentwicklung 1 Dipl.-Ing. Andreas Riener Universität Linz, Institut für Pervasive Computing Altenberger Straße 69, A-4040 Linz riener@pervasive.jku.at SWE 1 // Organisatorisches
MehrEinrichtung des Cisco VPN Clients (IPSEC) in Windows7
Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über
MehrTips, Tricks und HOWTOs Virtualisierung für Profis und Einsteiger Serverkonsolidierung, Testumgebung, mobile Demo
virtuelle Maschinen mit VMware und Virtual PC Tips, Tricks und HOWTOs Virtualisierung für Profis und Einsteiger Serverkonsolidierung, Testumgebung, mobile Demo virtuelle DMZ mit IPCop und Webserver unter
MehrQt-Projekte mit Visual Studio 2005
Qt-Projekte mit Visual Studio 2005 Benötigte Programme: Visual Studio 2005 Vollversion, Microsoft Qt 4 Open Source s. Qt 4-Installationsanleitung Tabelle 1: Benötigte Programme für die Qt-Programmierung
MehrSFKV MAP Offline-Erfassungstool. Installationsanleitung
SFKV MAP Offline-Erfassungstool Autor(en): Martin Schumacher Ausgabe: 16.02.2010 1. Allgemein Damit das Offlinetool von MAP ohne Internetverbindung betrieben werden kann, muss auf jedem Arbeitsplatz eine
MehrOntrack EasyRecovery 11 Neue Funktionen. S.M.A.R.T.-Analysefunktion Wiederherstellung von VMware VMDK-Images Datenlöschfunktion
Ontrack EasyRecovery 11 Neue Funktionen S.M.A.R.T.-Analysefunktion Wiederherstellung von VMware VMDK-Images Datenlöschfunktion S.M.A.R.T.-Analysefunktion S.M.A.R.T. Scan identifiziert die Menge und den
MehrDynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München
Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester
Mehr3. Stored Procedures und PL/SQL
3. Stored Procedures und PL/SQL Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln
MehrNetzwerkeinstellungen 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
MehrKurzanleitung zu XML2DB
Kurzanleitung zu XML2DB Inhaltsverzeichnis 1. Einleitung...3 2. Entwicklungsumgebung...3 3. Betriebsanleitung...3 3.1 Einrichten der Java Umgebung...3 3.2 Allgemeines zu java und javac...4 3.2.1 Allgemeines
MehrTapps mit XP-Mode unter Windows 7 64 bit (V2.0)
Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) 1 Einleitung... 2 2 Download und Installation... 3 2.1 Installation von WindowsXPMode_de-de.exe... 4 2.2 Installation von Windows6.1-KB958559-x64.msu...
MehrSource Code Konverter... 2. Online: (VB.net <-> C#)... 3. Kommerzielle Produkte (VB, C#, C++, Java)... 3. Code Nachbearbeitung in der Praxis...
Autor: Thomas Reinwart 2008-05-05 office@reinwart.com Inhalt Source Code Konverter... 2 Online: (VB.net C#)... 3 Kommerzielle Produkte (VB, C#, C++, Java)... 3 Code Nachbearbeitung in der Praxis...
MehrWhitepaper. Produkt: combit List & Label 16. List & Label Windows Azure. combit GmbH Untere Laube 30 78462 Konstanz
combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit List & Label 16 List & Label Windows Azure List & Label Windows Azure - 2 - Inhalt Softwarevoraussetzungen 3 Schritt 1: Neues Projekt
MehrSEW Übung EMFText. 1 Aufgabe. 2 Domänenbeschreibung. 3 Installation von Eclipse/EMFText. 4 Schritt-für-Schritt Anleitung. 4.
SEW Übung EMFText 1 Aufgabe Erstellen Sie eine textuelle Domänenspezifische Sprache Domain-specific Language (DSL) mit dem Werkzeug EMFText. Die Sprache soll dazu dienen Formulare (Fragen, Antworttypen
MehrAnleitung über den Umgang mit Schildern
Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder
MehrVirtueller Campus. Virtueller Campus Horw mit interaktiver Steuerung. HowTo: Externe Bibliotheken
Virtueller Campus Virtueller Campus Horw mit interaktiver Steuerung Bachelor Diplomarbeit FS 2013 Inhaltsverzeichnis 1. EINLEITUNG... 1 2. VORBEDINGUNGEN... 1 3. ORDNERSTRUKTUR ERWEITERN... 1 4. PROJEKT
MehrMSI TECHNOLOGY. RaidXpert AMD. Anleitung zur Installation und Konfiguration MSI
MSI TECHNOLOGY GMBH RaidXpert AMD Anleitung zur Installation und Konfiguration MSI RaidXpert AMD Inhalt 1.0 Voreinstellungen für ein Raid System im BIOS... 3 2.0 Einstellungen für ein Raid System im Utility...
MehrSchritt-Schritt-Anleitung zum mobilen PC mit Paragon Drive Copy 10 und VMware Player
PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com
MehrHTW-Aalen. OpenVPN - Anleitung. Eine Installations- und Nutzungsanleitung zu OpenVPN
HTW-Aalen OpenVPN - Anleitung Eine Installations- und Nutzungsanleitung zu OpenVPN Sabine Gold Oktober 2013 Inhaltsverzeichnis 1 Download und Installation des OpenVPN-Clients... 2 1.1. Betriebssystem Windows...
MehrCADEMIA: Einrichtung Ihres Computers unter Windows
CADEMIA: Einrichtung Ihres Computers unter Windows Stand: 21.02.2015 Java-Plattform: Auf Ihrem Computer muss die Java-Plattform, Standard-Edition der Version 7 (Java SE 7) oder höher installiert sein.
MehrProgrammierung für Mathematik (HS13)
software evolution & architecture lab Programmierung für Mathematik (HS13) Übung 5 1 Aufgabe: Eclipse IDE 1.1 Lernziele 1. Die Entwicklungsumgebung Eclipse einrichten. 2. Eclipse kennen lernen und mit
Mehr