Echtzeitanwendungen mit Java Real Time Specification for Java
|
|
- Mina Geiger
- vor 6 Jahren
- Abrufe
Transkript
1 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 Informationssysteme Betreuer: Dipl.-Inf. Sebastian Theiss Vortragender: Thomas Mayer
2 Echtzeitanwendungen mit Java X-45C Folie 2
3 Echtzeitanwendungen mit Java Gliederung Echtzeitsysteme Warum Java? Real-time Spezification for Java Speichermanagement Scheduling/Threading Synchronisation Metronom Folie 3
4 Echtzeitsysteme Forderung nach korrekten Ergebnis, dabei Einhaltung von Zeitrestriktionen Ein Ergebnis muss innerhalb eines fest definierten Zeitintervalls (Deadline) berechnet werden können Unterscheidung: harte Echtzeit und weiche Echtzeit Folie 4
5 Warum Java? Markt für Echtzeitsysteme stark gestiegen Automobilindustrie, Fabriksteuerung, Haushaltsgeräte Echtzeitsysteme müssen schnell und effizient entwickelt werden Forderung nach einer weit verbreiteten und etablierten Hochsprache Java: etablierte Hochsprache für die schnelle und effiziente Entwicklung komplexer Software Folie 5
6 Real-time Spezification for Java (RTSJ) RTSJ von SUN ist das Ergebnis vom JSR-01 Beginn der Arbeit an JSR-01: März 1999 RTSJ 1.0 wurde im Januar 2002 vom Java Community Process bestätigt Richtlinien bei der Entwicklung von RTSJ Deterministische Ausführung von Java Code Abwärtskompatibel Weiterhin plattformunabhängig Keine syntaktischen Erweiterungen Leicht erweiterbar Folie 6
7 Real-time Spezification for Java (RTSJ) Im Sommer 2006 veröffentlicht IBM Websphere Real Time RTSJ vollständig implementiert Aktuell: WebSphere Real Time V2.0, veröffentlicht im September 2008 Quelle: Folie 7
8 Real-time Spezification for Java (RTSJ) Vorstellung der RTSJ anhand folgender Schwerpunkte: Speichermanagement Scheduling/Threading Synchronisation Folie 8
9 RTSJ Speichermanagement Speicherbereiche Java Heap Garbage Collector übernimmt Speicherverwaltung Keine harte Echtzeit Immortal Memory Existiert bis zum Ende der Anwendung Wird nicht durch den Garbage Collector verwaltet Für harte Echtzeit geeignet Folie 9
10 RTSJ Speichermanagement Speicherbereiche Scope Memory Mehrere Instanzen können erzeugt werden Referenzzähler Für harte Echtzeit geeignet 2 Arten: LTMemory lineare Zeit VTMemory eigener Algorithmus Java Heap Immortal Memory Scoped Memory Java Heap Ja Ja Nein Immortal Memory Ja Ja Nein Scoped Memory Ja Ja Eingeschränkt Folie 10
11 RTSJ Scheduling/Threading Standard-Java-Thread Linux POSIX SCHED_OTHER 40 Prioritätsstufen Pro Prioritätsstufe eine FIFO Warteschlange T1 T2 T1 T2 T1 Round-Robin-Verfahren Folie 11
12 RTSJ Scheduling/Threading Standard-Java-Thread Linux POSIX SCHED_OTHER 40 Prioritätsstufen Pro Prioritätsstufe eine FIFO Warteschlange T1 T2 T1 T2 T1 Round-Robin-Verfahren Alle Threads bekommen Standard-Linux-Priorität Es existiert genau eine Warteschlange Folie 12
13 RTSJ Scheduling/Threading Echtzeit-Thread Realtime Thread Referenzen auf Java Heap Priorität NoHeap Realtime Thread Garbage Collector Unterbrechungen durch GC Weiche Echtzeit Realtime Thread Realtime NoHeapRealtime Thread Keine Referenzen auf Java Heap Harte Echtzeit Java Thread No Realtime Folie 13
14 RTSJ Scheduling/Threading Echtzeit-Thread Speicherbeschränkungen, maximal zur Verfügung stehender Speicher Periodische und aperiodische waitfornextperiod() Zeitliche Restriktionen über Release Parameter Startzeit, Deadline, Periode, Ausführungszeit (Kosten) MissHandler, OverrunHandler Folie 14
15 RTSJ Scheduling/Threading Echtzeit-Thread-Scheduling RTSJ 28 Prioritätsstufen für Echtzeit-Threads Prioritäten-basierter Scheduler: PriorityScheduler Implementierung eines eigenen Schedulers möglich IBM WebSphere RT Prioritäten von 11 bis 38 Linux POSIX SCHED_FIFO 99 Prioritätsstufen Keine Abarbeitung in Zeitscheiben Blockierung, freiwilliges Abgeben, Thread höherer Priorität Folie 15
16 RTSJ Synchronisation Synchronisation Priorität Kritische Bereiche von Monitoren überwacht Synchronized { } Warteschlangen vor Ressourcen Height Middle Middle > Low, Height ist blockiert Low Sperren von Objekt O Height benötig O, blockiert Folie 16
17 RTSJ Synchronisation Priority Inheritance Prioritätenvererbung Priorität NoHeap Realtime Thread Realtime Thread Garbage Collector Realtime Priorität Java Thread No Realtime Height NoHeapRealtimeThread Middle Low RealtimeThread Low entsperrt O Sperren von Objekt O Height benötig O, blockiert Low erbt Priorität von Height Folie 17
18 RTSJ Synchronisation Kommunikationswarteschlangen Verbinden genau 2 Threads miteinander WaitFreeWriteQueue read() RT NHRT write( myobject ) force( myobject ) WaitFreeReadQueue write( myobject ) RT NHRT read() waitfordata() Folie 18
19 RTSJ Zusammenfassung Zusammenfassung RTSJ garantiert den zuverlässigen Einsatz von Java in Echtzeitanwendungen Hauptproblem: nicht deterministische Speicherverwaltungs- Algorithmus Folie 19
20 Metronom Standard-Java-Garbage Collection Mark-Phase Markieren aller lebenden Objekte Ausgehen von Wurzelstrukturen (globale Referenzen, Threads) Sweep-Phase Alle nicht markierten Objekte als freien Speicher markieren Quelle: Folie 20
21 Metronom Grundidee Phasen unterbrechbar gestalten Quelle: Folie 21
22 Metronom Write-Barrier Quelle: Enge Zusammenarbeit zwischen Metronom und RTVM Verfolgung aller Veränderungen von Referenzen Gezieltes Suchen nach Hidden-Objects Folie 22
23 Metronom Arraylets Quelle: Folie 23
24 Metronom Tuning Metronom Quelle: Verbose GC Tuning Fork Folie 24
25 Vielen Dank Vielen Dank für Ihre Aufmerksamkeit! Folie 25
26 RTSJ Speichermanagement Speicherbereiche Direkter Zugriff auf physikalischen Speicher Erfolgt auf Bitebene Get(), Set() Schutzmechanismen für RTVM Folie 26
27 Threading Standard-Java-Threads class mythreadclass extends java.lang.thread { volatile static boolean Stop = false; public static void main(string args[]) throws InterruptedException { mythreadclass thread1 = new mythreadclass(); thread1.setpriority(6); mythreadclass thread2 = new mythreadclass(); thread2.setpriority(4); thread1.start(); thread2.start(); } Thread.sleep(5*1000); Stop = true; } public void run() { System.out.println("Created thread"); int count = 0; for (;Stop!= true;) { count++; Thread.yield(); } System.out.println("Thread terminates. Loop count is " + count); } Folie 27
28 Metronom Scheduling Alarm-Thread Überprüft ob Quantum der GC zugeordnet ist GC-Thread Realisiert GC-Phasen Schlafen legen nach Ablauf des GC-Quantums Folie 28
29 Metronom Quelle: Folie 29
30 Metronom Quelle: Folie 30
Java 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
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
MehrInstitut für Informatik Arbeitsgruppe Softwaretechnik Warburger Str. 100 33098 Paderborn. Java Real-Time. Seminarausarbeitung im Rahmen des Seminars
Institut für Informatik Arbeitsgruppe Softwaretechnik Warburger Str. 100 33098 Paderborn Java Real-Time Seminarausarbeitung im Rahmen des Seminars Trends in der Softwaretechnik für Echtzeitsysteme Sommersemester
MehrThe Real-Time Specification for Java
Echtzeitprogrammierung in Java The Real-Time Specification for Java Andrzej Kononowicz Clausthal 2003 Real-Time Java Specification 1 Eignung von Java für Echtzeitsysteme Java wurde nicht zur Programmierung
MehrReal Time Java: Ein Überblick
Real Time Java: Ein Überblick Seminararbeit im Fach Informatik im Rahmen des Seminars Sicherheitskritische Systeme an der Universität Siegen, Fachgruppe für Praktische Informatik eingereicht bei Dr. Jörg
MehrGrundlagen zur nebenläufigen Programmierung in Java
Grundlagen zur nebenläufigen Programmierung in Java Karlsruher Entwicklertag 2013 5. Juni 2013 Referent: Christian Kumpe Inhalt des Vortrags Was zeigt dieser Vortrag? Ein einfaches Beispiel mit allerlei
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
Mehr5. Threads, Serverprozesse und Benachrichtigungen
5. Threads, Serverprozesse und Benachrichtigungen Threads allgemein Threads in Android: Handler und Messages Services: Local, Remote, Binding Benachrichtigungen Entwicklung mobiler Anwendungen Europäische
MehrVerteilte Systeme CS5001
Verteilte Systeme CS5001 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Client-Server-Anwendungen: Vom passiven (shared state) Monitor zum aktiven Monitor Monitor (Hoare, Brinch-Hansen,
MehrSynchronisation in Java. Invisible Web
Synchronisation in Java Studienprojekt Invisible Web Tang Zhihong Synchronisation in Java Synchronisationsproblem Monitore Wait und notify PipedInputStream und PipedOutputStream Synchronisation von Collections
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
MehrInstitut für Verteilte Systeme
Institut für Verteilte Systeme Prof. Dr. Franz Hauck Seminar: Multimedia- und Internetsysteme, Wintersemester 2010/11 Betreuer: Jörg Domaschka Bericht zur Seminarssitzung am 2011-01-31 Bearbeitet von :
MehrJava: Eine Übersicht. Dennis Giffhorn. Lehrstuhl für Programmierparadigmen Universität Karlsruhe
Java: Eine Übersicht Dennis Giffhorn Lehrstuhl für Programmierparadigmen Universität Karlsruhe Allgemeines Objektorientiert Syntaxfamilie von C/C++ Statisch getypt Entwickelt von Sun Microsystems class
Mehr2.2 Prozesse in Java
2.2 Prozesse in Java! Java sieht kein Schlüsselwort für Prozesse vor, sondern bestimmte Klassen und Schnittstellen. Mit anderen Worten: der Prozessbegriff wird mit Mitteln der Objektorientierung eingeführt.
MehrNebenläufige Anwendungen in Java (J2SE, Rich Client, J2EE)
CNAM Wintersemester 2014 / 2015 Nebenläufige Anwendungen in Java (J2SE, Rich Client, J2EE) Im Rahmen von: Betriebssysteme und nebenläufige Anwendungen Agenda Nebenläufigkeit in Java Anwendungen Basisfunktionen
MehrZur Erinnerung: Threads. Threadverwaltung. Threads: Prioritäten. Beispiel Flugbuchungsprogramm. Nichtdeterminismus
Zur Erinnerung: Threads Programmierung (fortgeschrittene Konzepte) Threads, Monitore, Semaphore und speisende en Wolf-Ulrich Raffel (uli@wuraffel.de) Möglichkeiten, Threads zu definieren Bildung einer
MehrPOSIX Echtzeit: Kernel 2.6 und Preempt-RT
POSIX Echtzeit: Kernel 2.6 und Preempt-RT Slide 1 - http://www.pengutronix.de - 21.01.2007 Echtzeit-Systemplanung Wenn das zeitliche Verhalten spezifiziert ist, kann auch spezifiziert werden, welche Applikationsteile
MehrEinführung in den NetBeans Profiler
Let s talk about IT Wenn s mal wieder länger dauert Einführung in den NetBeans Profiler Dominik Hofmann 14.01.2010 Themenüberblick Themen Grundlagen und Features des NetBeans Profilers CPU Profiling Memory
MehrProzesse und Scheduling
Betriebssysteme für Wirtschaftsinformatiker SS04 KLAUSUR Vorbereitung mit Lösungen / Blatt 1 Prozesse und Scheduling Aufgabe 1 : Scheduling Gegeben seien die folgenden Prozesse und die Längen des jeweiligen
MehrMultithreading ab Java 5: Die neuen Concurrency APIs
Multithreading ab Java 5: Die neuen Concurrency APIs Java Concurrency Spezifiziert in JSR166 Ab Java 5 fester Bestandteil von Java Durch zusätzliche Library auch vor Java 5 vorhanden backport-util-concurrent
MehrKapitel 6. Vererbung
1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben
MehrJava Virtual Machine (JVM) Bytecode
Java Virtual Machine (JVM) durch Java-Interpreter (java) realisiert abstrakte Maschine = Softwareschicht zwischen Anwendung und Betriebssystem verantwortlich für Laden von Klassen, Ausführen des Bytecodes,
MehrKapitel 6. Vererbung
1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben
MehrKlausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition)
Ein Prozess kann unmittelbar vom Zustand 1. Running in den Zustand Ready 2. Running in den Zustand Blocked 3. Ready in den Zustand Running Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition) Der Adressraum
MehrJava RMI Remote Method Invocation
Java RMI Remote Method Invocation Ziel: Aufruf von Instanzmethoden entfernter Objekte basierend auf Java. Paket: java.rmi und Unterpakete Topologie: RMI Registry RMI Server RMI Client Der Server registriert
MehrPrinzipien Objektorientierter Programmierung
Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................
MehrProf. Dr. Uwe Schmidt. 21. August 2007. Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)
Prof. Dr. Uwe Schmidt 21. August 2007 Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252) Zeit: 75 Minuten erlaubte Hilfsmittel: keine Bitte tragen Sie Ihre Antworten und fertigen
MehrJava für Computerlinguisten
Java für Computerlinguisten 2. Objektorientierte Programmierung Christian Scheible Institut für Maschinelle Sprachverarbeitung 28. Juli 2009 Christian Scheible Java für Computerlinguisten 28. Juli 2009
MehrScheduling in Echtzeitbetriebssystemen. Prof. Dr. Margarita Esponda Freie Universität Berlin
Scheduling in Echtzeitbetriebssystemen Prof. Dr. Margarita Esponda Freie Universität Berlin Echtzeitsysteme Korrekte Ergebnisse zum richtigen Zeitpunkt Hart Echtzeitsysteme Eine verspätete Antwort ist
MehrBetriebssysteme. CPU-Scheduling - Fallbeispiele. Sommersemester 2014 Prof. Dr. Peter Mandl. Prof. Dr. Peter Mandl Seite 1.
CPU-Scheduling - Fallbeispiele Sommersemester 2014 Prof. Dr. Peter Mandl Prof. Dr. Peter Mandl Seite 1 Gesamtüberblick 1. Einführung in 2. Betriebssystemarchitekturen und Betriebsarten 3. Interruptverarbeitung
MehrBetriebssysteme. Wintersemester 2015. Kapitel 2 Prozess und Threads. Patrick Kendzo ppkendzo@gmail.com
Betriebssysteme Wintersemester 2015 Kapitel 2 Prozess und Threads Patrick Kendzo ppkendzo@gmail.com Programm Inhalt Einleitung Prozesse und Threads Speicherverwaltung Eingabe und Ausgabe Dateisysteme Zusammenfassung
MehrJava Performance Tuning
Seminarunterlage Version: 5.04 Version 5.04 vom 16. Januar 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen
MehrBegriff: Scheduling Planung, Schedule Plan. Verplanung der CPU-Zeit an die Threads (bzw. Prozesse)
5 CPU-Scheduling Im folgenden wird von Threads gesprochen. Bei Systemen, die keine Threads unterstützen, ist der einzige "Thread" eines Prozesses gemeint. Früher wurde dieser Thread synonym mit dem Begriff
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
MehrMusterlösungen zur Klausur Informatik 3
Musterlösungen zur Klausur Informatik 3 Justus-Liebig-Universität Gießen Wintersemester 2003/2004 Aufgabe 1 (6 Punkte) Man kreuze bei den folgenden Deklarationen und Definitionen jeweils an, ob sie aus
MehrUniversität Augsburg, Institut für Informatik Sommersemester 2003 Prof. Dr. Bernhard Bauer 18. Oktober 2003 Stefan Fischer, Dr.
Universität Augsburg, Institut für Informatik Sommersemester 2003 Prof. Dr. Bernhard Bauer 18. Oktober 2003 Stefan Fischer, Dr. Martin Müller Informatik II 2. Semesterklausur Prüfungsmodul Informatik II
MehrParallele Programmierung in Java
PPJ-1 Parallele Programmierung in Java Prof. Dr. Uwe Kastens Sommersemester 2000 Vorlesung Parallele Programmierung in Java SS 2000 / Folie 01 PPJ-2 Ziele und Durchführung Die Studierenden sollen grundlegende
MehrGrundlagen der Informatik Ausnahmebehandlung & Threads
Grundlagen der Informatik Ausnahmebehandlung & Threads Prof. Dr. Bernhard Schiefer (basierend auf Unterlagen von Prof. Dr. Duque-Antón) bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Inhalt Ausnahmebehandlung
MehrEchtzeit mit Linux. Erweiterungen und deren Anwendung. Martin Krohn. 2. Februar 2006
Erweiterungen und deren Anwendung 2. Februar 2006 1 Einleitung Anwendungsgebiete 2 Linux als Echtzeitbetriebssystem Eignung von Linux 3 Erweiterungen für Linux RT-Linux RTAI- Real-Time Application Interface
MehrA Kompilieren des Kernels... 247. B Lineare Listen in Linux... 251. C Glossar... 257. Interessante WWW-Adressen... 277. Literaturverzeichnis...
1 Einführung................................................ 1 1.1 Was ist ein Betriebssystem?............................... 1 1.1.1 Betriebssystemkern................................ 2 1.1.2 Systemmodule....................................
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
MehrAusgewählte Kapitel des Software Engineering
Seminar WS 2005/06 Ausgewählte Kapitel des Software Engineering durchgeführt am Institut für Wirtschaftsinformatik der Johannes Kepler Universität Linz Arbeitsgruppe Software Engineering Altenberger Str.
MehrDas Monitorkonzept Brinch-Hansen
Das Monitorkonzept (nach Hoare/Brinch Brinch-Hansen 1974) Nur ein Prozess bzw. Thread kann zu einem bestimmten Zeitpunkt im Monitor aktiv sein => gegenseitiger Ausschluss, mutual exclusion. Geschützte
MehrMobile und Verteilte Datenbanken
Mobile und Verteilte Datenbanken Java RMI Vorlesung Wintersemester 2010/2011 groppe@ifis.uni-luebeck.de Institut für Informationssysteme Universität zu Lübeck Java Remote Method Invocation (RMI) Realisierung
MehrNebenläufige Programmierung I
Nebenläufige Programmierung I Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS06 2 Ziele Grundlegende Begriffe der nebenläufigen Programmierung verstehen lernen Nebenläufige Programme
MehrDipl.-Inf. J. Richling Wintersemester 2003/2004. Weiche Echtzeit
Dipl.-Inf. J. Richling Wintersemester 2003/2004 Weiche Echtzeit Wiederholung - Resultat/Wert-Funktion "harte" Echtzeit Wert Zeit Wert Zeit Wert Deadline Zeit "weiche" Echtzeit Wert Deadline Zeit Deadline
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
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrNebenläufige Programmierung in Java
Informatik IV 37-004 SS 2002 Thomas Gross Diese Slides kommen ohne Gewähr. 9-1 Thomas Gross 1997-2000 Nebenläufige Programmierung in Java Threads und deren Zustände Speichermodell Einfache Synchronisation
MehrVorbereitung zur Prüfung Echtzeitbetriebssysteme
Vorbereitung zur Prüfung Echtzeitbetriebssysteme Zugelassene Hilfsmittel: Taschenrechner Bitte verwenden Sie keinen roten Farbstift! 1. Echtzeitbetriebssysteme - Allgemein (15 Punkte) 1.1. Warum setzen
MehrSysteme 1. Kapitel 5. Scheduling
Systeme 1 Kapitel 5 Scheduling Scheduling Verteilung und Zuweisung von begrenzten Ressourcen an konkurrierende Prozesse Beispiel: -> Zeitablaufsteuerung Zwei Prozesse zur gleichen Zeit rechenbereit auf
MehrKapitel 6. Vererbung
Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java Bisherige Beobachtungen zu Objekten: werden in Klassen zusammengefasst besitzen Eigenschaften und Verhalten verbergen private Informationen werden geboren, leben und
MehrMulti-Threading. Ralf Abramowitsch Vector Informatik GmbH abramowitsch@lehre.dhbw-stuttgart.de
Multi-Threading Ralf Abramowitsch Vector Informatik GmbH abramowitsch@lehre.dhbw-stuttgart.de Einführung in Threads Threads synchronisieren ThreadPools Thread = unabhängiger Ausführungspfad, der gleichzeitig
MehrBetriebssysteme. 4y Springer. Eine kompakte Einführung mit Linux. Albrecht Achilles. Mit 31 Abbildungen
Albrecht Achilles 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Betriebssysteme Eine kompakte Einführung mit Linux
Mehr#define N 5 // Anzahl der Philosophen. while (TRUE) { // Der Philosoph denkt
Sep 19 14:20:18 amd64 sshd[20494]: Accepted rsa for esser from ::ffff:87.234.201.207 port 61557 Sep 19 14:27:41 amd64 syslog-ng[7653]: STATS: dropped 0 Sep 20 01:00:01 amd64 /usr/sbin/cron[29278]: (root)
MehrTechnische Informatik II
Institut für Technische Informatik und Kommunikationsnetze Technische Informatik II Übung 1: Prozesse und Threads Aufgabe 1: Prozesse und Threads a) Wie verhält sich eine Applikation die aus mehreren Prozessen
MehrCPU-Scheduling - Grundkonzepte
CPU-Scheduling - Grundkonzepte Sommersemester 2015 Seite 1 Gesamtüberblick 1. Einführung in Computersysteme 2. Entwicklung von Betriebssystemen 3. Architekturansätze 4. Interruptverarbeitung in Betriebssystemen
MehrJava Batch Der Standard für's Stapeln
Java Batch Der Standard für's Stapeln Berlin Expert Days 18.09.2015 Dirk Weil, GEDOPLAN GmbH Dirk Weil GEDOPLAN GmbH, Bielefeld GEDOPLAN IT Consulting Konzeption und Realisierung von IT-Lösungen GEDOPLAN
MehrZusammenfassung Modul 223
Zusammenfassung Modul 223 von Christian Roth Powered by Schuschu Bison Schweiz AG, Surentalstrasse 10, CH-6210 Sursee, www.bison-group.com Inhaltsverzeichnis 1 Entwurfmuster... 3 1.1 Singleton... 3 1.1.1
MehrGrundlagen der Programmierung Prof. H. Mössenböck. 10. Klassen
Grundlagen der Programmierung Prof. H. Mössenböck 10. Klassen Motivation Wie würde man ein Datum speichern (z.b. 13. November 2004)? 3 Variablen int da; String month; int ear; Unbequem, wenn man mehrere
MehrArchitektur Verteilter Systeme Teil 2: Prozesse und Threads
Architektur Verteilter Systeme Teil 2: Prozesse und Threads 21.10.15 1 Übersicht Prozess Thread Scheduler Time Sharing 2 Begriff Prozess und Thread I Prozess = Sequentiell ablaufendes Programm Thread =
MehrJava Game Development Fabian Birzele Programmierpraktikum 2008 / 2009
Java Game Development Fabian Birzele Programmierpraktikum 2008 / 2009 Fabian Birzele, LMU Institut für Informatik, Lehrstuhl für Praktische Informatik und Bioinformatik, 2008: Programmierpraktikum 1 Ziele
MehrKlausur zur Vorlesung Grundlagen der Betriebssysteme WS 2011 / 2012
Name: Matrikelnummer: Studiengang: INF CV IM Lehramt BSc MSc BEd MEd Diplom Klausur zur Vorlesung Grundlagen der Betriebssysteme WS 0 / 0 Montag, den. Februar 0, 09: Uhr 0: Uhr Prof. Dr. D. Zöbel, Dipl.
MehrDä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
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrGame Engine Architecture and Development. Platform Unabhängiger Code Multi Threading in Game Engines Profiling
Game Engine Architecture and Development Platform Unabhängiger Code Multi Threading in Game Engines Profiling Folien Die Folien werden auf acagamics.de hochgeladen Das Passwort ist 60fps (ohne ) Rückblick:
MehrKapitel 2. Java: Der Einstieg. 2.1 Grundlegendes zu Java. 2.1.1 Historisches. 2.1.2 Eigenschaften von Java
Kapitel 2 Java: Der Einstieg Im vorigen Kapitel haben wir die Syntax der Sprache Mini-Java kennengelernt. Bevor wir in Kapitel 3 ausführlich auf Syntax und Semantik der Programmiersprache Java eingehen
MehrJava Einführung Collections
Java Einführung Collections Inhalt dieser Einheit Behälterklassen, die in der Java API bereitgestellt werden Wiederholung Array Collections (Vector, List, Set) Map 2 Wiederholung Array a[0] a[1] a[2] a[3]...
Mehr6. Tutorium zu Softwaretechnik I
6. Tutorium zu Softwaretechnik I Parallelität und Testen Michael Hoff 01.07.2014 INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum
MehrJava-Schulung Grundlagen
Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1
Kapitel 11 Fehler und Ausnahmen Fehler und Ausnahmen 1 Ziele Fehlerquellen in Programmen und bei der Programmausführung verstehen Das Java-Konzept der Ausnahmen als Objekte kennenlernen Ausnahmen auslösen
MehrUntersuchung der Einsetzbarkeit von Echtzeit-Java in der Radarsignalverarbeitung
Untersuchung der Einsetzbarkeit von Echtzeit-Java in der Radarsignalverarbeitung Ralf Holzheu 30. Oktober 2004 Ralf Holzheu Fachhochschule Ulm Studiengang Technische Informatik Sommersemester 2004 Diplomarbeit
MehrMobile und Verteilte Datenbanken
Mobile und Verteilte Datenbanken Java RMI Vorlesung Wintersemester 2013/2014 groppe@ifis.uni-luebeck.de Institut für Informationssysteme Universität zu Lübeck Kommunikations-Middleware Bietet höhere Kommunikations-Dienste
Mehr7. Performance und Speicherauslastung
7. Performance und Speicherauslastung Java-Parameter mit Performance-Einfluss Versteckte Speicherlecks Direkte Zeitmessung in Java Konzept von Performance-Messwerkzeugen Netbeans-Profiler Software-Qualität
MehrRTEMS- Echtzeitbetriebssystem
RTEMS- Echtzeitbetriebssystem Name: Hussein Hammoud Matrikel- Nr.: 230768 Studiengang: Technische Informatik Fach: Projekt Eingebettete Kommunikation Technische Universität Berlin Sommersemester 2006 RTEMS-
MehrThemen. Web Service - Clients. Kommunikation zw. Web Services
Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur
MehrVerteilte Echtzeit-Systeme
- Verteilte Echtzeit-Systeme Hans-Albrecht Schindler Wintersemester 2015/16 Teil B: Echtzeit-Betriebssysteme Abschnitt 9: Scheduling gemischter Prozessmengen CSI Technische Universität Ilmenau www.tu-ilmenau.de
MehrTypische Probleme. 7. Performance und Speicherauslastung. Parameter von java mit Performance-Einfluss. Parameter von javac mit Performance-Einfluss
7. Performance und Speicherauslastung Java-Parameter mit Performance-Einfluss Versteckte Speicherlecks Direkte Zeitmessung in Java Konzept von Performance-Messwerkzeugen Netbeans-Profiler Software-Qualität
Mehr5.3 Prozessumlagerung (process) swapping
5.3 Prozessumlagerung (process) swapping = Umlagerung des Adressraums eines Prozesses zwischen Arbeitsspeicher und Hintergrundspeicher, falls Arbeitsspeicher zu klein für alle Prozesse (aber groß genug
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine
MehrLeJOS: Mindstorms in Java programmieren
LeJOS: Mindstorms in Java programmieren Alexander Koller Softwareprojekt "Sprechende Roboter" 30. April 2004 Überblick Warum Java? Was ist LeJOS? Motoren steuern Auf Sensoreingaben reagieren Wie geht's
MehrProgrammieren in Java
Programmieren in Java Dateien lesen und schreiben 2 Übersicht der heutigen Inhalte File Streams try-with-resources Properties csv-dateien 3 Klasse File Die Klasse java.io.file bietet Unterstützung im Umgang
MehrJava Einführung Methoden in Klassen
Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding
MehrEinführung in die Programmierung Blockkurs Java
Michael Bader 8. 12. April 2002 Freitag Inhaltsübersicht Exceptions und Errors Ausnahmebehandlung: try/catch/finally Threads Zugriffskontrolle bei gemeinsamen Variablen: synchronized, wait(), notify()
MehrVariablen manipulieren per JDI
Variablen manipulieren per JDI Zusammenfassung Jede moderne Java IDE verfügt über eine mächtige und dennoch meist einfach zu bedienende Benutzeroberfläche die das finden von Fehlern in lokalen oder entfernt
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 02: Klassen & Objekte Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Klassen Grundstruktur einer Java-Klasse Eigenschaften (Attribute) Variablen
MehrJava Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7
Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck
MehrÜbung zu Grundlagen der Betriebssysteme. 7. Übung 27.11.2012
Übung zu Grundlagen der Betriebssysteme 7. Übung 27.11.2012 Threads Thread (Faden des (Kontrollflusses)): ist ein sequentieller Abarbeitungsablauf (Kontrollfluss) innerhalb eines Prozesses. Umfasst ein
MehrMusterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9
Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung
MehrSimple Scope. ecos-vertiefung. Florian Franzmann Tobias Klaus Peter Wägemann
Simple Scope ecos-vertiefung Florian Franzmann Tobias Klaus Peter Wägemann Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme) http://www4.cs.fau.de
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
MehrPraktikum Compilerbau Sitzung 9 Java Bytecode
Praktikum Compilerbau Sitzung 9 Java Bytecode Prof. Dr.-Ing. Gregor Snelting Matthias Braun und Sebastian Buchwald IPD Snelting, Lehrstuhl für Programmierparadigmen KIT Universität des Landes Baden-Württemberg
MehrSmalltalk vs. Java c Chris Burkert 2002. Smalltalk versus Java
Smalltalk versus Java Gliederung Einführung Geschichte sprachliche Aspekte technische Aspekte theoretische Aspekte praktische Aspekte Fazit Einführung - Merkmale Objektorientierung Einführung - Merkmale
MehrOptimierung der Code-Generierung virtualisierender Ausführungsumgebungen zur Erzielung deterministischer Ausführungszeiten
Optimierung der Code-Generierung virtualisierender Ausführungsumgebungen zur Erzielung deterministischer Ausführungszeiten Martin Däumler Matthias Werner Lehrstuhl Betriebssysteme Fakultät für Informatik
MehrProbeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
MehrEchtzeitfähige Ereignisgetriebene Scheduling-Strategien
Friedrich-Alexander-Universität Erlangen-Nürnberg Ausgewählte Kapitel eingebetteter Systeme Echtzeitfähige Ereignisgetriebene Scheduling-Strategien Sven Kerschbaum 1. Einführung Bei einem eingebetteten
MehrTypumwandlungen bei Referenztypen
Typumwandlungen bei Referenztypen Genau wie es bei einfachen Typen Typumwandlungen gibt, gibt es auch bei Referenztypen Umwandlungen von einem Referenztypen in einen anderen Referenztypen, die wie bei
MehrJava - Programmierung - Objektorientierte Programmierung 1
Java - Programmierung - Objektorientierte Programmierung 1 // Klassen und Objekte public class KlaObj public static void main(string args []) Klasse1 a; a = new Klasse1("heute", 47); Klasse1 b = new Klasse1
Mehr8 Zugriffstypen ( Zeiger )
8 Zugriffstypen ( Zeiger ) 1. Zugriffstypen, die auf Daten in einem Storage Pool zeigen Heap. 2. Allgemeine Zugriffstypen, die auf (mehr oder weniger) beliebige Daten zeigen. 3. Zugriffsparameter für Unterprogramme
Mehr