Prozesssteuerung & Robotik Real Time.NET. Sebastian Klose 7. Januar 2009
|
|
- Curt Bretz
- vor 7 Jahren
- Abrufe
Transkript
1 Prozesssteuerung & Robotik Real Time.NET Sebastian Klose 7. Januar 2009
2 Gliederung 2 Überblick über.net Analyse der Echtzeittauglichkeit Geschwindigkeit Speicherverwaltung Hardwarezugriff Timing Echtzeit mit dem Compact/Micro Framework RT.NET Geschwindigkeit Speicherverwaltung Hardwarezugriff Timing Evaluation
3 3 Überblick über.net
4 Überblick über.net 4 Plattform Desktop Framework Windows Desktop + Server Compact Framework Windows Mobile/CE, Xbox Micro Framework 32 Bit CPUs (auch ohne MMU) Mono Version 3.5 SP Größe 250MB 7MB 200KB 70MB Ausführung JIT JIT Interpreter JIT GC compacting, generational Mark & Sweep compacting, generational Mark & Sweep Mark & Sweep Windows, Linux, Mac OS X, BSD, Solaris, iphone, Wii compacting, generational Mark & Sweep
5 .NET Micro Framework 5
6 .NET Micro Framework 6
7 7 Analyse der Echtzeittauglichkeit
8 Echtzeittauglichkeit - Geschwindigkeit 8 Untersucht von Chris Tacke auf Basis vom CF 2.0 Veröffentlicht im MSDN Magazine 2006
9 Echtzeittauglichkeit - Geschwindigkeit 9 ee #define GPIO3 (1 << 3)... DWORD *p = MapAddress(0x40E00000); DWORD *gpdr = p + (0x10 / sizeof(dword)); DWORD *gpsr = p + (0x18 / sizeof(dword)); DWORD *gpcr = p + (0x24 / sizeof(dword)); *gpdr = GPIO3; while(true) { *gpsr = GPIO3; *gpcr = GPIO3; } C C# C# Periodenlänge: 110ns int gpio3 = (1 << 3); PhysicalAddressPointer pap; pap = new PhysicalAddressPointer(0x40E0 0000, 0x6B); // make an GPIO output int gpdr = pap.readint32(0x10); pap.writeint32(gpdr gpio3); while(true) { // turn it off pap.writeint32(gpio3, 0x24); // turn it on pap.writeint32(gpio3, 0x18); } Periodenlänge: 740ns Micro Framework: Performance remains an area of ongoing research // toggle GPIO 3 int gpio3 = (1 << 3); // map all of GPIO space PhysicalAddressPointer pap; pap = new PhysicalAddressPointer(0x40E0 0000, 0x6B); unsafe { int *p = (int*)pap.getunsafepointer(); int *gpsr = p + (0x18 / 4); int *gpcr = p + (0x24 / 4); int *gpdr = p + (0x10 / 4); while(true) { // set the pin *gpsr = gpio3; *gpcr = gpio3; } } Periodenlänge: 110ns
10 Echtzeittauglichkeit - Geschwindigkeit 10 Michael H. Lutz von Siemens Health Services Messungen auf Basis von.net 1.0
11 Echtzeittauglichkeit - Speicherverwaltung 11 Alle Frameworks verwenden Mark & Sweep Algorithmus Dauer eines Durchlaufs abhängig von Anzahl der Objekte im Gesamtsystem Anzahl der Generationen Defragmentierung des Arbeitsspeichers GC wird aktiv, wenn Objekte der Größe von 1MB allokiert wurden (CF) Größe von Gen0 einen Schwellenwert überschreitet (Desktop) Die Anwendung in den Hintergrund verschoben wird Ein Fehler beim allokieren von Speicher auftrat GC.Collect() explizit aufgerufen wird
12 Echtzeittauglichkeit - Hardwarezugriff 12 Desktop & Compact Framework Komponente für Zugriff auf seriellen Port keine weiteren Mechanismen vorgesehen P/Invoke unter Windows CE Abbildung von physikalischen auf virtuelle Adressen VirtualAlloc VirtualCopy Micro Framework Konzept von Managed Drivers für GPIO, PWM/VTU, I2C, SPI, USB 1.1, or USART herstellerspezifische APIs für andere Hardware
13 Hardwarezugriff Micro Framework 13 using System; using System.Threading; using Microsoft.SPOT; using Microsoft.SPOT.Hardware; public class Program { public static void Main() { InterruptPort port = new InterruptPort(Cpu.Pin.GPIO_Pin3, false, Port.ResistorMode.PullDown, Port.InterruptMode.InterruptEdgeBoth); } port.oninterrupt += new GPIOInterruptEventHandler(port_OnInterrupt); Thread.Sleep(Timeout.Infinite); } private static void port_oninterrupt(cpu.pin port, bool state, TimeSpan time) { Debug.Print("Pin=" + port + " State=" + state + " Time=" + time); }
14 Echtzeittauglichkeit - Timing 14 System.Windows.Forms.Timer basiert auf Win32 Timer minimale Intervalllänge 50ms System.Timers.Timer und System.Threading.Timer minimale Intervalllänge 15ms Microsoft.SPOT.ExtendedTimer nur im Micro Framework QueryPerformanceFrequency + QueryPerformanceCounter nicht Teil von.net, aber der P/Invoke erreichbar hochauflösender Timer Auflösung hängt von Plattform ab Counts/s auf diesem Laptop (~0,07µs) Alle Timer geben keine Garantie für Einhaltung des Intervalls
15 Echtzeittauglichkeit - Timing 15 System.Threading.Thread basiert auf normalen Windows Threads nur 5 Prioritäten vorgesehen (keine davon für Echtzeit) Echtzeitpriorität kann per P/Invoke auf Echtzeit gesetzt werden keine periodischen Threads mit garantierter Startzeit Priority Inversion Windows CE implementiert Priority Ceiling Protokoll.NET CF Anwendungen profitieren aber nicht davon
16 16 Echtzeit mit Microsoft.NET
17 Echtzeit mit dem.net Framework 17 Verhindern, dass GC aktiv wird alle Objekte bei Initialisierung anlegen nach der Initialisierung keine neuen Objekte mehr anlegen kein boxing/unboxing verwenden performancekritische Teile beim Micro Framework in nativen Code auslagern exakte Timer mit QueryPerformanceCounter implementieren
18 18 Real Time.NET
19 RT.NET - Überblick 19 2 Ansätze für ein echtzeitfähiges.net Framework 1. Adaption der RTSJ vorgeschlagen von University of York keine Implementierung verfügbar 2. Austausch nicht-echtzeitfähiger Komponenten vorgeschlagen und implementiert von Martin von Löwis und Andreas Rasche
20 RT.NET - Ziele 20 AOT Compiler statt JITter echtzeitfähiger Garbage Collector Erweiterung von System.Threading mehr Prioritäten periodische Threads Priority Ceiling Protokoll direkter Zugriff auf die Hardware Interrupt Handler
21 RT.NET - Geschwindigkeit 21
22 RT.NET Speicherverwaltung 22 Referenzzählung statt Mark & Sweep Objekte werden sofort freigegeben Garbage Collection findet immer zur gleichen Zeit statt potentielle Probleme zirkuläre Referenzen Freigabe eines Objekts kann zur Freigabe weiterer Objekte führen Erweiterte Referenzzählung Objekte werden nicht sofort freigegeben, sondern in eine Queue eingeordnet Hintergrundthread löscht Objekte in Queue Thread kann in den RT Schedule eingeplant werden
23 RT.NET - Timing 23 public delegate void ThreadStart(); public class PeriodicThread { PeriodicThread(ThreadStart start, RelativeTime period); static void WaitforNextPeriod(); static void Sleep(RelativeTime time); static PeriodicThread CurrentThread(); void Start(); ThreadPriority Priority {get; set;}; }
24 RT.NET - Timing 24 enum MutexProtocol { PriorityCeiling, PriorityInheritance, None } class ExtendedMutex: Mutex { public ExtendedMutex(); public ExtendedMutex(PriorityCeiling ceiling); public bool WaitOne(int millisecondstimeout, bool exitcontext); public void ReleaseMutex(); public void Close(); public ThreadPriority PriorityCeiling{get; set;} public MutexProtocol Protocol{get; set;} }
25 RT.NET - Hardwarezugriff 25 struct Port { [MemoryAlias(0xffb2)] static byte DataRegister; [PortAlias(0xffa0)] static byte OutputPort; } [InterruptHandler] static void Irq0H() { } H8_3297.Irq0 = Irq0H;
26 RT.NET - Evaluation 26
27 RT.NET - Evaluation 27
28 Referenzen 28 [1] An Overview of the.net Compact Framework Garbage Collector - Steven Pratschner [2] Garbage Collection: Automatic Memory Management in the Microsoft.NET Framework - Jeffrey Richter [3] C# and the.net Framework: Ready for Realtime? Michael H. Lutz, Phillip A. Laplante [4] Towards a Real-Time Implementation of the ECMA Common Language Infrastructure Martin v. Löwis, Andreas Rasche [5] C# For Real Time - Examining Execution Speed of JITted Code With CF Chris Tacke
29 Referenzen 29 [6] Comparing the Timer Classes in the.net Framework Class Library - Alex Calvo [7] The.NET Micro Framework [8] Embedded.NET Jens Kühner / Vallon GmbH, dotnetpro 11/08 [9] Die Garbage Collection des.net Frameworks Christoph Oster, dotnetpro 7/07 [10] Requirements for a Real-Time.NET Framework A. Zerzelidis and A.J. Wellings Department of Computer Science, University of York, U.K.
Echtzeitanwendungen mit Java Real Time Specification for Java
Fakultät Informatik» Institut für Angewandte Informatik» Lehrstuhl für Technische Informationssysteme Echtzeitanwendungen mit Java Real Time Specification for Java Vortrag im Rahmen des Hauptseminars Technische
MehrSeminar Softwarearchitekturen SoSe Martin Schrage
Seminar Softwarearchitekturen SoSe 2011 Martin Schrage Gliederung 1. Common Language Infrastructur 2. Microsoft.NET 2.1Common Language Runtime 2.2 Programmausführung 2.3 Framework Class Library 2.4 Programmiersprachen
MehrKapitel 21 Nativer Code
Kapitel 21 Nativer Ali Jannessari IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Wann muss man verwalteten und nicht-verwalteten
MehrShort Introduction to C# C# (C SHARP) Microsofts Antwort auf Java
Short Introduction to C# C# (C SHARP) Microsofts Antwort auf Java Short Introduction to C# C# (C SHARP) Microsofts Antwort auf Java Standardisierung durch die ECMA und ISO Short Introduction to C# C# (C
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...
MehrWindows CE. Process Control and Robotics. Fabian Garagnon
Windows CE Process Control and Robotics Fabian Garagnon 14.01.2009 Agenda 3 Geschichte & Timeline Echtzeit & Multithreading Architektur Memory Management & Context Switch Entwicklung unter CE Interrupts
MehrEchtzeitprogrammierung in Java. Franziska Häger Seminar: Prozesssteuerung und Robotik
Echtzeitprogrammierung in Java Franziska Häger Seminar: Prozesssteuerung und Robotik Agenda Einführung Warum Java? Java Real Time Probleme Real Time Specification for JAVA (RTSJ) Programmierung Threads
MehrJava Garbage Collector: Funktionsweise und Optimierung. Mathias Dolag Prof. Dr. Peter Mandl (DOAG 2012, )
Java Garbage Collector: Funktionsweise und Optimierung Mathias Dolag Prof. Dr. Peter Mandl (DOAG 2012, 20.11.2012) 1 Agenda Algorithmen Tuning Performance-Messungen Zusammenfassung 2 Mathias Dolag / Prof.
MehrConcurrent Garbage Collector
Concurrent Garbage Collector Sprachen für Parallelprogrammierung: Seminar 6 Emre Kasif Selengin IPD Snelting, Lehrstuhl Programmierparadigmen KIT Universität des Landes Baden-Württemberg und nationales
MehrMicrosoft.NET Framework & Component Object Model. ein Vortrag von Florian Steuber
Microsoft.NET Framework & Component Object Model ein Vortrag von Florian Steuber Übersicht I..NET Framework 1. Was ist das.net Framework? 2. Das.NET Execution Model 3. Sprachunabhängigkeit, CTS und CLS
MehrUniversität Karlsruhe (TH) Moderne Programmiersysteme am Beispiel von.net
Moderne Programmiersysteme am Beispiel von.net Prof. Walter F. Tichy Was ist.net? Hannes Preishuber auf devtrain.de: (http://www.devtrain.de/artikel_823.aspx) Wenn man Hundert Menschen befragt,.net in
Mehr.Net Interoperabilität
.Net Interoperabilität Objektorientiertes Programmieren mit.net und C# Thomas Hörmann Institut für Informatik Software & Systems Engineering Agenda Einleitung P/Invoke Marshalling Component Object Model
MehrMono - Hands On. Anwendungsentwicklung mit Mono und Gnome. Mario Manno
Mono - Hands On Anwendungsentwicklung mit Mono und Gnome Mario Manno Chaos Computer Club Cologne e.v. http://koeln.ccc.de Mario Manno http://manno.name 25.06.2006 Vortrag Mario Manno (CCC) Mono - Hands
MehrTypsystem Plattform- und Sprachenunabhängigkeit in.net
Typsystem Plattform- und Sprachenunabhängigkeit in.net C# J# VB.NET Zwischencode CIL Windows Unix Auf welchen Grundlagen basiert dies? Komponenten & Frameworks Seite 1 Typsystem Grundlagen - CLR Common
MehrProgrammiertechnik II
Automatische Speicherverwaltung Speichermüll Objekte verweisen über Referenzen auf andere Objekte Objekte bilden Graph Explizites Freigeben von Objekten C: free() C++: delete Problem:
MehrBetriebssysteme. Wintersemester Kapitel 3 Speicherverwaltung. Patrick Kendzo
Betriebssysteme Wintersemester 2015 Kapitel 3 Speicherverwaltung Patrick Kendzo ppkendzo@gmail.com Programm Inhalt Einleitung Prozesse und Threads Speicherverwaltung Ein- / Ausgabe und Dateisysteme Zusammenfassung
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dynamische Datenobjekte Pointer/Zeiger, Verkettete Liste Eigene Typdefinitionen 1 Zeigeroperatoren & und * Ein Zeiger ist die Speicheradresse irgendeines Objektes. Eine
MehrRealTime Linux. Paul Seidel Seminar Prozessteuerung und Robotik WS 08/09 Lehrstuhl BS und Middleware Prof. Polze Hasso-Plattner-Institut Potsdam
RealTime Linux Paul Seidel Seminar Prozessteuerung und Robotik WS 08/09 Lehrstuhl BS und Middleware Prof. Polze Hasso-Plattner-Institut Potsdam Übersicht 2 Standard-Kernel Dual-Kernel RTAI/LXRT In-Kernel
MehrAufbau eines modernen Betriebssystems (Windows NT 5.0)
Aufbau eines modernen Betriebssystems (Windows NT 5.0) Moritz Mühlenthaler 14.6.2004 Proseminar KVBK Gliederung 1.Das Designproblem a) Überblick b) Design Goals c) Möglichkeiten der Strukturierung 2. Umsetzung
MehrEntwicklung der Programmiersprache C#
Language Day HDM 2015 Entwicklung der Programmiersprache C# Referent: Mikhail Orleanskiy, IT-Designers GmbH (orleanskiy@it-designers.de) Stand: 6. November 2015 Eine Präsentation der IT-Designers Gruppe
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa Peter Zeller AG Softech FB Informatik TU Kaiserslautern Speichermanagement Wie viel Speicher braucht ein Programm? Wofür wird Speicher benötigt? Wie ist der Speicher
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
MehrCross-Platform Mobile mit.net
Cross-Platform Mobile mit.net Mobile Entwicklungslandschaft Nativ Crosscompiled Hybrid Web Beste Usability? Überschaubare Kosten? Was ist Xamarin? Was ist Xamarin? 2011 Gegründet aus dem Ximian, Novell
Mehr4. Objektorientierte Programmierung mit C++
4. Objektorientierte Programmierung mit C++ Einführung C++ / Entwicklung/ Sprachfamilie Nicht objektorientierte Erweiterungen von C Grundlagen des Typkonzepts von C++ Ziele der Objektorientierung Objekt
MehrJürg Gutknecht, SI und ETH Zürich, April 2015
Jürg Gutknecht, SI und ETH Zürich, April 2015 Der Staubsauger könnte ein Mikrofon eingebaut haben, welches sämtliche Geräusche im Raum aufnimmt und via Stromkabel an einen Geheimdienst weiterleitet Die
Mehr.NET als Microsofts Entwicklerplattform
.NET als Microsofts Entwicklerplattform Frank Prengel Technologieberater Microsoft Deutschland http://blogs.msdn.com/frankpr Agenda Was ist.net eigentlich? Microsoft.NET heute.net Framework 2.0, 3.0.NET
MehrGrundlagen der Informatik 0
Technische Universität Darmstadt 01.07.2013 Grundlagen der Informatik 0 Vorlesung 0 Java ist eine Programmiersprache Ilkay Baytekin Douglas Crockford http://media.smashingmagazine.com/wp-content/uploads/2012/04/doug-crockford-image.jpg
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)
MehrKonzepte von Betriebssystem-Komponenten
Konzepte von Betriebssystem-Komponenten Thema: Research OS - JX Michael Schmidt (swmeschm@cip.informatik.uni-erlangen.de) Inhalt Was ist JX, warum wurde es entwickelt? Systemaufbau Performance-Vergleich
Mehr1. Übung zu "Numerik partieller Differentialgleichungen"
1. Übung zu "Numerik partieller Differentialgleichungen" Simon Gawlok, Eva Treiber Engineering Mathematics and Computing Lab 22. Oktober 2014 1 / 15 1 Organisatorisches 2 3 4 2 / 15 Organisatorisches Ort:
MehrHeiko Bobzin Poet Software GmbH
Embedded Java - Entwicklungswerkzeuge für komplexe Geräte Heiko Bobzin Poet Software GmbH Überblick Embedded Java - was meint das? Komplexe Systeme - Ein Beispiel Edit, compile, debug,... Zusammenfassung
MehrEvaluierung der QoS-Unterstützung in TAO/ACE. Großer Beleg - Zwischenstand. Ansgar Konermann 16. Juli 2002
Evaluierung der QoS-Unterstützung in TAO/ACE Großer Beleg - Zwischenstand Ansgar Konermann 16. Juli 2002 Gliederung Aufgabenstellung Echtzeitfähigkeit Probleme herkömmlicher ORBs Entwicklungsrichtlinien
MehrJava Real-Time Specification
Ausgewählte Kapitel eingebetteter Systeme Java Real-Time Specification Tobias Distler 05.07.2006 Java und Echtzeit? Problem Nichtdeterministisches Verhalten der Garbage Collection Weitere Nachteile Scheduling
MehrKapitel 21 Nativer Code
Kapitel 21 Nativer Korbinian Molitorisz IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Wann muss man verwalteten und
MehrSpeichermanagement Software Entwicklung 1
Speichermanagement Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller Speicher ist eine wichtige Ressource für Softwaresysteme. Viele nicht-funktionale Eigenschaften hängen vom angemessenen
MehrC++ vs. Java. Hello world! Java C++ class HelloWorld { static public void main(string args) { System.out.println("Hello World!
Hello world! Java class HelloWorld { static public void main(string args) { System.out.println("Hello World!"); } } C #include main() { printf("hello World!\n"); } C++ #include using
MehrÜbungen zu Systemprogrammierung 1 (SP1)
Übungen zu Systemprogrammierung 1 (SP1) Ü1-2 Speicherverwaltung Andreas Ziegler, Stefan Reif, Jürgen Kleinöder Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität
MehrBeteiligte Typen (Auszug)
Threads 1 Beteiligte Typen (Auszug) public sealed class Thread { public static Thread CurrentThread { get; public static void Sleep(int milliseconds) { public Thread(ThreadStart startmethod) { public string
MehrÜbungen zu Systemprogrammierung 1
Übungen zu Systemprogrammierung 1 Ü1-2 Speicherverwaltung Sommersemester 2018 Christian Eichler, Jürgen Kleinöder Lehrstuhl für Informatik 4 Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl
MehrEinführung in die Programmierung
1 Diese Vorlesung: Einführung in.net 2 Einführung in die Programmierung Sebastien Vaucouleur ETH Zurich Kurze (< 2 Stunden) Einführung in.net Was ist.net Geschichte von.net Mehrwert von.net Eiffel +.NET
MehrC# im Vergleich zu Java
C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung
MehrOSEK-OS. Oliver Botschkowski. oliver.botschkowski@udo.edu. PG AutoLab Seminarwochenende 21.-23. Oktober 2007. AutoLab
OSEK-OS Oliver Botschkowski oliver.botschkowski@udo.edu PG Seminarwochenende 21.-23. Oktober 2007 1 Überblick Einleitung Motivation Ziele Vorteile Einführung in OSEK-OS Architektur Task Management Interrupt
MehrVorlesung Programmieren
Vorlesung Programmieren Speicherverwaltung und Parameterübergabe Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Gültigkeitsbereich von
MehrMicrosoft.NET Framework
Microsoft.NET Framework Anita Sosnecki Universität Bonn Institut für Informatik Seminar Softwaretechnologie WS 2003 Übersicht Einleitung Was ist.net?.net Framework.NET Komponenten Assemblies Deployment
MehrEntwicklung einer echtzeitfähigen CLI-Laufzeitumgebung für den Einsatz in der Automatisierungstechnik
Entwicklung einer echtzeitfähigen CLI-Laufzeitumgebung für den Einsatz in der Automatisierungstechnik Echtzeit 2010 Alexej Schepeljanski Martin Däumler Matthias Werner Echtzeit 2010 / 18. November 2010
Mehrim Rahmen des Seminars - Programmiersprachen Markus Nestvogel
C# im Rahmen des Seminars - Programmiersprachen Markus Nestvogel 2 Gliederung 1. Einführung 2. Microsoft.NET 3. C# 3 1 Einführung objektorientierte Programmiersprache für Microsoft.NET entwickelt Konkurrenz
MehrÜbung 1 mit C# 6.0 MATTHIAS RONCORONI
Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,
MehrUSB auf 2x Seriell Adapter - USB zu RS232 / RS422 / RS485 Seriell Konverter (COM) StarTech ID: ICUSB
USB auf 2x Seriell Adapter - USB zu RS232 / RS422 / RS485 Seriell Konverter (COM) StarTech ID: ICUSB2324852 Der ICUSB2324852 2 Port USB-auf-RS232/RS422/RS485-Seriell-Adapter mit COM-Speicherung ermöglicht
MehrWintersemester 2009/10 Helmut Seidl Institut für Informatik TU München
Informatik2 Wintersemester 2009/10 Helmut Seidl Institut für Informatik TU München 1 0 Allgemeines Inhalt dieser Vorlesung: Nebenläufigkeit in Java; Funktionales Programmieren mit OCaml :-) 2 1 Threads
MehrProgrammieren in Java
Programmieren in Java Vorlesung 07: Composite Classes Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2017 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 23 Inhalt
MehrSpeichermanagement Software Entwicklung 1
Speichermanagement Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller Speicher ist eine wichtige Ressource für Softwaresysteme. Viele nicht-funktionale Eigenschaften hängen vom angemessenen
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
MehrGrundlagen von C# - 1
Grundlagen von C# - 1 Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Über diesen Kurs 2. Benötigte Software 3. Exkurs: Architektur von.net und C# 4. Erstes Programm: Hello World Grundlegende Eigenschaften
MehrDie Lebensdauer von Objekten steuern
Die Lebensdauer von Objekten steuern In diesem Kapitel lernen Sie wie sich die Speicherverwaltung von Microsoft.NET von der traditionellen C++-Speicherverwaltung unterscheidet. wie Sie Ihre Klassen mit
MehrC# anhand von ECMA-334. Das große Seminar WS 04/05. 07.12.2004 Daniel Wiese
C# anhand von ECMA-334 Das große Seminar WS 04/05 07.12.2004 Daniel Wiese Die Geschichte von C# Standard ECMA 334 Entwicklungsumgebung Sprachelemente von C# Datentypen Variablen und Parameter Ausdrücke
MehrCrashkurs C++ - Teil 1
Crashkurs C++ - Teil 1 Intro Speicherverwaltung Variablen, Pointer, Referenzen Felder statische & dynamische Allozierung Birgit Möller & Denis Williams AG Bioinformatik & Mustererkennung Institut für Informatik
MehrMeine SPS kann Linux, und nun?
http://www.arvero.de Meine SPS kann Linux, und nun? Ein Linux-basierter Software-Stack für industrielle Eingebettete Systeme Autor: Christoph Stoidner Zur Person / Firma Christoph Stoidner Diplom. Informatiker
MehrBetriebssysteme KU - Einführungstutorium
Betriebssysteme KU - Einführungstutorium SWEB-Tutoren 5. Oktober 2008 1 Grundlagen 2 SWEB 3 Kernel Basics Memory Management Details 4 Userspace 5 Hacking 6 Beispiele 7 Assignment 0 Aufgaben eines Betriebssystems
Mehr0. Einführung & Motivation
0. Einführung & Motivation Ansatz: "C++ für Java-Kenner" Konzentration auf semantische Unterschiede 'gleichartiger' Konzepte Erörterung der C++ -spezifischen Konzepte (Overloading, Templates) Anspruch
MehrThomas Claudius Huber Trivadis Services AG. Endlich Cross-Platform: Universal- Windows-Apps für Windows 10
Thomas Claudius Huber Trivadis Services AG Endlich Cross-Platform: Universal- Windows-Apps für Windows 10 Thomas Claudius Huber Principal Consultant bei Trivadis Pluralsight-Autor, Buchautor C#, XAML,
MehrSystemanforderungen für Qlik Sense. Qlik Sense 3.0 Copyright QlikTech International AB. Alle Rechte vorbehalten.
Systemanforderungen für Qlik Sense Qlik Sense 3.0 Copyright 1993-2016 QlikTech International AB. Alle Rechte vorbehalten. Copyright 1993-2016 QlikTech International AB. Alle Rechte vorbehalten. Qlik, QlikTech,
MehrMICROSOFT.NET: EINE NEUE ENTWICKLUNGSPLATTFORM AUCH FÜR NUMERISCHE PROBLEME?
Titel MICROSOFT.NET: EINE NEUE ENTWICKLUNGSPLATTFORM AUCH FÜR NUMERISCHE PROBLEME? Jan Linxweiler, Sören Freudiger mail@bau-ings.de www.bau-ings.de 30.09.2004 Jan Linxweiler 1 Übersicht Prof. M. Krafczyk
MehrComputergestützte Ansteuerung digitaler Eisenbahnanlagen
Computergestützte Ansteuerung digitaler Eisenbahnanlagen Märklin Digital Paul Römer Agenda 2 Märklin & Märklin Digital Wissenswertes Bedienelemente Ansteuerung Steuercomputer Interface und Digitalstrom
MehrGoogle s JavaScript Engine: V8
Google s JavaScript Engine: V8 Thomas Hütter (1120239) Mario Preishuber (1120643) Fachbereich Computerwissenschaften Naturwissenschaftliche Fakultät 24. Februar 2014 1 von 17 INHALT Allgemein Was ist JavaScript?
MehrC#Objektorientierte. Aleksandra Maj. Programmiersprachen. Programmiersprachen am Beispiel C# Referat im Rahmen des Seminars. 15.
C#Objektorientierte Programmiersprachen am Beispiel C# Referat im Rahmen des Seminars Programmiersprachen 15.Juli 2004 Aleksandra Maj 1 1.Einleitung Kurze Geschichte und Ziele der neuen Programmiersprache
MehrCilk Sprache für Parallelprogrammierung. IPD Snelting, Lehrstuhl für Programmierparadigmen
Cilk Sprache für Parallelprogrammierung IPD Snelting, Lehrstuhl für Programmierparadigmen David Soria Parra Geschichte Geschichte Entwickelt 1994 am MIT Laboratory for Computer Science Cilk 1: Continuations
MehrLabVIEW Real Time Hands on
LabVIEW Real Time Hands on Dipl. Ing. Sebastian F. Kleinau Dipl. Ing. (FH) Marian Olef Applications Engineering National Instruments Deutschland GmbH Plattform für das grafische Systemdesign Desktop Real-Time
MehrMicrosoft.NET Gadgeteer: Ein raffinierter Weg zum Embedded-Produkt. ECC 2013 Marcel Berger
Microsoft.NET Gadgeteer: Ein raffinierter Weg zum Embedded-Produkt ECC 2013 Marcel Berger 1 Agenda Motivation Einführung Microsoft.NET Micro Framework Einführung Microsoft.NET Gadgeteer Vorteile Architektur
MehrSystemanforderungen für Qlik Sense. Qlik Sense June 2017 Copyright QlikTech International AB. Alle Rechte vorbehalten.
Systemanforderungen für Qlik Sense Qlik Sense June 2017 Copyright 1993-2017 QlikTech International AB. Alle Rechte vorbehalten. Copyright 1993 2017 QlikTech International AB. Alle Rechte vorbehalten. Qlik,
MehrEchtzeitprogrammierung und Echtzeitverhalten von Keil RTX. Frank Erdrich Semester AI 7
Echtzeitprogrammierung und Echtzeitverhalten von Frank Erdrich Semester AI 7 Inhalt Einleitung Echtzeit und Echtzeitsysteme Echtzeitprogrammierung Real-Time Operating System Keil RTOS RTX Zusammenfassung
MehrDynamische Speicherverwaltung
Dynamische Speicherverwaltung 1/ 23 Dynamische Speicherverwaltung Tim Dobert 17.05.2013 Dynamische Speicherverwaltung 2/ 23 Gliederung 1 Allgemeines zur Speichernutzung 2 Ziele und Nutzen 3 Anwendung in
MehrSystemanforderungen für Qlik Sense. Qlik Sense 3.1 Copyright QlikTech International AB. Alle Rechte vorbehalten.
Systemanforderungen für Qlik Sense Qlik Sense 3.1 Copyright 1993-2016 QlikTech International AB. Alle Rechte vorbehalten. Copyright 1993-2016 QlikTech International AB. Alle Rechte vorbehalten. Qlik, QlikTech,
MehrBetriebssysteme und Microkern
16. September 2004 Überblick 1 Einführung 2 Betriebssysteme 3 Monolith 4 5 Anhang Einführung Teil I Einführung Einführung Was ist ein Betriebssystem? Unterscheidung Was ist ein Betriebssystem? engl. Operating
MehrUnicode Support Atomic Operations Thread Support Type-Generic Makros Sicherheit Ease-of-Use C11. Thomas Duckardt
C11 Thomas Duckardt Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg 22.05.2014 1 / 22 Gliederung (Agenda)
MehrSchwerpunkte. 10. Felder (Arrays) Grundprinzip von Arrays. Klassifikation von Typen in Programmiersprachen
Schwerpunkte 10. Felder (Arrays) Teil 1 Java-Beispiele: Echo.java Primzahlen.java Monate.java Klassifikation von Typen in Programmiersprachen Array: einziger strukturierter Typ in Java Deklaration, Erzeugung
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
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin
MehrLavA OS: Ein Betriebssystem für konfigurierbare MPSoCs
LavA OS: Ein Betriebssystem für konfigurierbare MPSoCs Diplomarbeit Abschlussvortrag Stephan Vogt stephan.vogt@cs.uni-dortmund.de 1 Inhalt Einleitung Wiederverwendung von BS Arbeiten an CiAO Kommunikation
MehrSymbian OS. OS für kleine Endgeräte: Sven Walter
OS für kleine Endgeräte: Sven Walter 19.07.2004 1 1. Einleitung Symbian ist ein Software Unternehmen, das ein offenes Betriebssystem für datenfähige Mobiltelefone entwickelt. Es wurde im Juni 1998 von
MehrHW/SW Codesign für Real-time Ethernet basierte Steuergeräte
HW/SW Codesign für Real-time Ethernet basierte Steuergeräte Related Work Für das Fach: Anwendungen 2 In der Arbeitsgruppe CoRE Communication over Real-time Ethernet Friedrich Groß Agenda Einführung Rückblick
MehrImplementierung der Jikes Research Virtual Machine
Fakultät Informatik Institut für technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Implementierung der Jikes Research Virtual Machine Hauptseminar Technische Informatik
MehrEchtzeitbetriebssysteme
Speicherverwaltung (Memory Management) Aufgaben der Memory-Management-Unit ist l der Speicherschutz und l die Adressumsetzung Wird durch Hardware unterstützt l Memory Management Unit (MMU) l MMU wird vom
MehrIBL_DB_Service.library
Ingenieurbüro Lauer GmbH PC- und Embedded-PC-basierte Steuerungstechnik IBL_DB_Service.library Bibliotheksversion: Dokumentversion: Bibliothekspräfix: Bibliotheksart: V1.0.34301.x V1.0.3 IBLDB intern Releasedatum:
MehrCrashkurs C++ Wiederholung
Crashkurs C++ Wiederholung #include int main(void) { int i, j; bool is_prime; for (j = 1; j < 1000; j += 2) { is_prime = true; for (i = 3; i
MehrAgenda. Informatik I WS05/06 Folien von Tobias Dezulian
15.12.2005 Agenda Geltungsbereich (Scope) von Variablen Blöcke Der Call-Stack Einschub: Debugging unter Eclipse Der Heap Lebensdauer von Objekten Müllabfuhr: Garbage Collection Exceptions Geltungsbereich
MehrLösung der OOP-Prüfung WS12/13
2.1.2013 Lösung der OOP-Prüfung WS12/13 1. Aufgabe a) Da der Konstruktor im protected-bereich steht, können keine eigenständigen Objekte der Klasse angelegt werden. Durch den protected-konstruktor wird
MehrLine-of-Business-Apps mit der Universal Windows Platform entwickeln. Thomas Claudius
Line-of-Business-Apps mit der Universal Windows Platform entwickeln Thomas Claudius Huber @thomasclaudiush Thomas Claudius Huber Principal Consultant bei Trivadis Pluralsight-Autor, Buchautor C#, XAML,
MehrEs ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.
Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe
MehrKommunikation. Björn und Georg
Kommunikation Björn und Georg CORBA CORBA (Common Object Request Broker Architecture) Entwicklung der OMG ( Object Management Group) Zusammenschluss von 800 Firmen Hardware- und Progammiersprachen-unabhängiges
MehrUrsprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java
Ursprünge Die Syntax von Java Borland Software Corp 1995 Syntax: Pascal Objektorientierte Prorammierung optional Plattformen: Windows (Linux, Mac OS X) Sun Microsystems 1995 Syntax: C/C++ Objektorientiert
MehrLinux wird echtzeitfähig: RT-Extension vs. PREEMPT_RT
Linux wird echtzeitfähig: RT-Extension vs. PREEMPT_RT Carsten Emde Open Source Automation Development Lab (OSADL) eg Zitat aus dem Jahre 2004, unbekannte Quelle It's impossible to turn a General Purpose
MehrMemory Models Frederik Zipp
Memory Models Frederik Zipp Seminar: Programmiersprachen für Parallele Programmierung (SS 2010) Fakultät für Informatik - IPD SNELTING LEHRSTUHL PROGRAMMIERPARADIGMEN 1
Mehr7 Laufzeit-Speicherverwaltung
7.1 Grundlagen Bevor wir die Code-Generierung betrachten, müssen wir uns Gedanken über zur Laufzeit des zu generierenden Programms notwendige Aktivitäten zur Zuordnung und Freigabe von Speicherplatz machen.
MehrObjektorientierte Programmierung Teil 1: Einführung
Objektorientierte Programmierung Teil 1: Einführung Prof. Dr. Schoop FHT Esslingen, Sommersemester 2005 Agenda Beispielszenario Eigenschaften des objektorientierten Ansatzes Konzepte des objektorientierten
MehrEntwicklung einer Java Add-In Servertask
Entwicklung einer Java Add-In Servertask Andy Brunner Kappelistrasse 43 CH-8002 Zürich Andy.Brunner@ABData.CH ABData, Andy Brunner, Zürich EntwicklerCamp 2009 1 Zu meiner Person Seit 34 Jahren in der IT
MehrRoboter-Echtzeitsteuerungen mit Windows CE
Roboter-Echtzeitsteuerungen mit Windows CE Dipl.-Ing. Harald Staab Fraunhofer Institut für Produktionstechnik und Automatisierung Abt. Robotersysteme Folie 1 Übersicht 2. Robotersteuerungen ein typischer
MehrEINFÜHRUNG IN DIE PROGRAMMIERUNG
EINFÜHRUNG IN DIE PROGRAMMIERUNG GRUNDLAGEN Tobias Witt!! 24.03.2014 ORGANISATORISCHES 09:00-10:30! Täglich Übungen zur Vertiefung! Laptop hier nicht erforderlich! Linux, OS X! Freitag: http://hhu-fscs.de/linux-install-party/
MehrJust-In-Time-Compiler (2)
Just-In-Time-Compiler (2) Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2011/2012 Just-In-Time-Compiler (2) 1/13 2011-09-12 Just-In-Time-Compiler
MehrWas ist Reference Counting Implementierung. Ende. Reference Counting. Kevin Köster. Uni Hamburg. 31. März Kevin Köster Reference Counting 1/58
Reference Counting Kevin Köster Uni Hamburg 31. März 2013 Kevin Köster Reference Counting 1/58 Kevin Köster Reference Counting 2/58 Beschreibung Dateisystem Praxis Frage Wann wissen wir, ob ein Objekt
Mehr