11. Fallstudie: Plurix 11.1 Entwurfsziele & Charakteristiken

Größe: px
Ab Seite anzeigen:

Download "11. Fallstudie: Plurix 11.1 Entwurfsziele & Charakteristiken"

Transkript

1 11. Fallstudie: Plurix 11.1 Entwurfsziele & Charakteristiken Schnelles und leichtgewichtes OS: - übersichtlich, - kompakter Code, - direkte Adressierung, - keine Datenserialisierung, - kein Lader und kein Binder, - Verzicht auf heterogene Hardware, - Programmierung auf Hardwareebene, - Weglassen einiger Betriebssystemschichten, - Nur ein einziger Adressraum für alle PCs im Cluster. 295 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

2 Verteiltes Betriebssystem für PC Cluster: - Kommunikation über einen Transaktionalen Verteilten Speicher (TVS). - Checkpointing für Fehlertoleranz und Persistenz, - inkrementelle verteilte Freispeichersammlung, - sprachbasierter Ansatz mit Java, - eigenständiges Betriebssystem. Hohe Durchsatzleistung pro Station: - bis zu Transaktionen pro Sekunde, - übersetzt Zeilen pro Sekunde, - bis 80 MB/s auf Disk schreiben, - Systemstart in ca. 1 Sek., - 3D Beschleunigung,... Geeignet auch für mobile Endgeräte: - wenig Hauptspeicher und schwache CPUs, - GPRS Datenraten sollen ausreichen, - sparsamer Batteriebetrieb, - verteilte Datenhaltung, - eingebettete Systeme. 296 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

3 Vereinfachte Benutzersicht: - ortsunabhängige Sicht auf den Gesamtcluster - Workspace enthält die Objekte eines Benutzers, - einfache Administrierung & Konfiguration, - ausführbare Texte à la Oberon. Programmierkomfort: - persistente Objekte, - Programmierung wie Einzelplatz, - automatische Freispeichersammlung. - objektorientierte Programmierung in Java, Erlernbarkeit/Teachability: - Betriebsmittel als Java-Klassen bzw. Java-Objekte, - (CPU, Memory, MMU, Network, Devices), - Shared Virtual Memory anstatt RPC, - Einsatz im Übungsbetrieb. 297 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

4 11.2 Objekt-orientierte Architektur Stationsobjekte zur Adressierung lokaler Objekte (z.b. Treiber). Event-Schleife verarbeitet kooperative Transaktionen. Maßgeschneiderte Speicherverwaltung für den TVS. Namensdienst für persistente Objekte. CPU Input Network... Devices StationVector[ ] Station Root Naming Heap Memory Interrupts Kernel TransactionVector[ Transactions[ ] ] Transaction EventLoop Public Users Config Devices 298 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

5 11.3 Verteilter Speicher = Distributed Shared Memory = DSM. = Verteilter Virtueller Speicher = VVS. Granularität: viele Objekte pro Seite. Seitenorientierter DSM in Plurix: - logischer Speicherzugriff mit einer Byteadresse, - Übersetzung in phys. Adresse durch MMU, - falls erforderlich werden 4K übertragen. Implizite Kommunikation: - über gemeinsamen Speicher, - kein RMI/RPC/Corba, - TCP/FTP extern, - keine Pipes, - kein MPI... Logical Memory DSM Physical Mem. MMU 299 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

6 Speicherorganisation DSM-Heap allen Stationen gemeinsam: - reguläre Transaktionsobjekte, - schwach konsistente Objekte, - spezielle System-Objekte, - Offscreen-Pixmap, 3.5 GB - Stationsobjekt, - Share-Sets. Lokaler Speicher: - Puffer (Grafik, Netz, Sound...), - Attribut "nontransactional", - Interrupt-Vektor, - Netzwerktreiber, - Seitentabellen... Physikalische Kacheln: 0.5 GB - mapped oder unmapped. > 32 MB 300 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

7 Stationsobjekt Clusterobjekt: - einmal pro Cluster vorhanden, - enthält unter anderem den Stationsarray. Stationsobjekt liefert den lokalen Kontext: - aktuell ausführende Transaktion, - eingehängte Transaktionen, - Focus- und Maus-Viewer, - System.out Viewer, - Standardtreiber, - IP-Adresse, - Desktop, Verzeichnisse, - User, Public, Kernel. thiscluster.station[ Station# ]. "System.out" übersetzt in "thiscluster.station[ Station# ].out" thisstation 301 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

8 Doppelköpfiges Objektformat im Heap Doppelköpfiges Format: - Trennung von Zeigern und Skalaren, - vereinfacht das Heap-Management. - Header in der Mitte des Blocks, - Zeiger zeigen auf den Header, - zwei Längenfelder. Rückwärtsverkettung (RV): - vereinfacht Garbage Collection, - Garbage hat keinen Backlink, - RV vereinfacht Relozierung, - zirka 3 Backlinks in-line, - weitere Backlinks extern (in Backpacks). Backlinks Zeiger Header Flags Winglet Skalare Stopper: - synchronisiert Heapwalk, - unterstes Bit in erster Referenz Winglet gesetzt (sonst nur 32-Bit alignierte Adressen). Winglets erlauben das Durchlaufen des Heaps in beiden Richtungen. 302 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

9 Backchain Ursprünglich in Plurix verwendet. Jeder Speicherblock führt eine Backchain, eine Liste der Referenzen, welche auf ihn zeigen. Referenzen Im Falle einer Allozierung ( new ) wird der zugeordnete Zeiger in die Liste eingetragen. Wird eine Zeigervariable Backchain freigegeben, wird sie aus der Backchain entfernt. Wird ein gültiger Zeigerinhalt einer anderen Referenz zugewiesen (assigned), so wird auch dieser Zeiger eingetragen. Freispeichersammlung sammelt alle Blöcke mit leerer Backchain ein. Im Prinzip eine Abwandlung der Reference Counting Technik. Heap Objekt 303 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

10 Heap-Kompaktierung: - Dynamische Relozierung von allozierten Blöcken. - Zeiger mit Hilfe der Backchain anpassen. Vorteil: - inkrementelles Sammeln möglich. - Heap kann kompaktifiziert werden. - Zeiger einfach & eindeutig identifizierbar. Nachteil: - Zyklen werden nicht erkannt. - Referenzen sind doppelt so groß. - Austragen von Zeigern teuer O(n). Objekt - Zeigerverwaltung kostet Aufruf von Laufzeitfkt. Backpacks als Weiterentwicklung der Backchain: - Mehrzahl der Backlinks werden in-line untergebracht, - Weitere Backlinks liegen in separaten Heap-Blöcken, - Progressiv wachsende Containergrösse für die Backpacks. Backpacks Backlinks 304 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

11 Strenge Typisierung aller Heapblöcke... Wurzelobjekt: java.lang.object. Basistypen. Typendeskriptoren. ObjectType extends InterfaceType CodesegType ArrayType KlassType Instanzen => < Interface > Type of < Array > extends < Klasse > Methode Arrayvariable Instanzobjekt 305 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

12 Zweistufige Speicherallokation Problem: konkurrierende Allozierung im globalen Adreßraum - Transaktionen allozieren potentiell an der selben Adresse, - Kollisionen führen zu einer Serialisierung von TA's, - Gefahr von False-Sharing (Seitenflattern). Lösung: Aufteilung des DHS in Allozierungsbereiche - separater Allozierungsbereich für jeden Knoten. Beobachtung: Mehrzahl der Objekte im Cluster sind klein (< 1 KB) - Allozierung großer Objekte relativ selten: o Kollisionen bei Allozierung großer Objekte tolerierbar, o große Objekte direkt allozieren - für kleine Objekte Allokatoren verwenden. Allokatoren: - reguläre Objekte im DHS, - ermöglichen kollisionsfreie Allozierung, - Reduzieren die Gefahr von False Sharing, - erlauben Speicherbereiche mit unterschiedlicher Semantik (Speicher & Konsistenz). 306 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

13 11.4 Transaktionen Transaktionen als Aktivitätsträger (~ Threads), aber keine Prozesse. Verteiler Virtueller Speicher: - Speicherzugriffe werden mit Hilfe der MMU abgefangen, - seitenbasiertes VVS-System. Transaktionale Konsistenz: - rücksetzbare (kurze) Transaktionen, - Read- und Write-Sets am Ende der TA aus Seitentabellen ermittelbar. - Konfliktauflösung: FirstWins, durch zirkulierendes Token. - Rücksetzung mit Hilfe von Schattenkopien. Reset Write-Set Shadowcopies Read-Set 307 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

14 Transaktionsschleife (Scheduler) Kooperatives Multitasking (Oberon-style): - zentrale Event-Schleife => - System Transaktion (GC..), - Legacy Netzwerkprotokolle, - Tastatur & Mauslistener, - Benutzer-Transaktionen. Prioritäten möglich. System Network Input User System System System 308 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

15 11.5 SmartBuffers Transaktionen sind rücksetzbar, Hardware jedoch nicht. Lösung: rücksetzbare Pufferstrukturen - zwischen Interrupt- & Transaktionsraum. - Die Interrupt-Routine legt Eingabe-Daten in SB. - Eingaben bei Abbruch einer Transaktion nicht verloren. Smart-Buffer für wiederholbare Eingabe: - Schreibzeiger für die Interrupt-Routine (ausserhalb des DSM) wird nie zurückgesetzt, - Commitzeiger (im DSM) ist wirksam nach erfolgreichem Commit, - Lesezeiger (im DSM) für die Transaktion ist rücksetzbar. Transaction Space TA-committed TA-read INT-write Interrupt Space Ausgabepuffer können umgekehrt die Ausgaben einer TA verwerfen. Nicht alle Ausgaben können verzögert werden zu teuer. 309 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

16 11.6 Fehlertoleranz Typsichere Sprache für Anwendungen und Betriebssystem. Rückwärtsbehebung von Fehlern durch Sicherungspunkte: - Daten und Code liegen im TVS (auch Betriebssystem und Treiber), - lokale Sicherungspunkte sind überflüssig es genügt nur den TVS zu sichern. - Wiederanlauf vergleichsweise einfach, da Rücksetzbarkeit grundlegende Fähigkeit. Statt Bluescreen, schneller Wiederanlauf, mit Hilfe des PageServers: - bei schweren Fehlern vom letzten Sicherungspunkt aus, - Knoten führen Warmstart in ca. 160ms durch. - Recovery mit Text-UI: ein Knoten 350ms, für jeden weiteren Knoten +10ms. 310 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

17 Fehlererkennung Fehlererkennung im Netzwerkprotokoll - keine zuverlässige Gruppenkommunikation, - Paketverlust anhand Commit-Nr. (CNR) erkennen, - CNR wird hierzu mit jedem Commit-Paket inkrementiert, - jeder Knoten speichert CNR und verschickt diese mit jedem Paket. Fehlererkennung im Heap: - Heap-Konsistenz (gültige Referenzen) prüfen, - mehrere Generationen von Sicherungspunkten vorhalten. Byzantinische Fehler werden derzeit nicht berücksichtigt. Transaction History Buffer: - verpasste Write-Sets können bei Bedarf nachgefordert werden, - hierzu speichert jeder Knoten Write-Sets in einem Puffer. 311 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

18 Backward Recovery mit PageServer PageServer hört am Netz mit: - Seiteninvalidierungen protokollieren Basis für inkrementelles Checkpointing. - zwischen Sicherungspunkten werden geänderte Seiten aktiv angefordert. Erstellen eines Checkpoints: - Token anfordern, alle ausstehenden Seiten einsammeln. - Seiten werden asynchron auf Disk geschrieben. - Während dem Einsammeln können kurz keine TAs abgeschlossen werden. - Zeitdauer: 26ms + 0.5ms / Seite. Rücksetzbarkeit von Geräten ist besondere Herausforderung: - Gerätezustände von Natur aus nicht rücksetzbar, - werden daher im Interrupt-Space verwaltet. - individuelle Lösung in jedem Treiber: o Treiber speichert diese Informationen redundant im DSM ab o im Recovery-Fall wird er gerufen und kann hier die Informationen auslesen. teilweise auch Rücksetzbarkeit realisierbar: z.b. Grafikkarte per Double Buffering o zunächst in Offscreen Bereich zeichnen und beim Commit umschalten o alternativ einfach in sichtbaren Speicher zeichnen und bei einem Abort einen Redraw auslösen. 312 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

19 11.7 Orthogonale Persistenz Jedes beliebige Objekt/Typ kann persistent sein. Persistent sind alle Objekte, die vom Namensdienst aus erreichbar sind. Es besteht ein Namensdienst, aber ein Dateisystem ist fakultativ. Konzeptuell wird der DSM-Cluster nie abgeschaltet. Stationen verlassen den Cluster und treten wieder bei. Import & Export von serialisierten Objekten ist optional. Zwischen verschiedenen gleichzeitig aktiven DSM werden Kopien von serialisierten Objekten ausgetauscht => paging DSM pobject DSM #2 Serialisierung 313 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

20 11.8 Ausführbare Texte Jeder Text in einem Viewer ist ein potentieller Befehl: - Ausführen (Execute) mit <strg-e>, (bzw. verteilt ausführen mit <strg-d>), - In geschweiften Klammern verborgenen Text aktivieren, - Maus-Links: auswählen, Cursor setzen, - Maus-Rechts: ausführen/aktivieren. Aktive Textelemente: - analog zur Bedienung des Oberon Systems, jedoch keine Interclicks, - Bilder, URLs, Verzeichnisse, Menus, Syntaxfehler, Helpers, Hiders... Allgemeine Befehlssyntax: <evtl. Pfadname>/<Klassenname>"."<Methodenname> <textuelle Parameter> <evtl. Pfadname>/<Objektname>"."<Methodenname> <textuelle Parameter> Wahlweise textuelle oder graphische Bedienoberfläche (gekachelt). 314 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

21 11.9 Programmiermodell Typsichere Sprache (Java) mit Klassen, Objekten und Transaktionen. Implizite Transaktionen für jeden Befehl und jedes Ereignis: - automatisch erzeugt, - transparent für den Programmierer, - BeginOfTransaction wird vor Aufruf des Befehls eingefügt, - Kehrt der Aufruf zurück, so wird versucht die TA abzuschließen (EndOfTransaction), - gut für ereignisgetriebene Anwendungen (Vgl. Nachrichtenverarbeitung in Windows & X11). Explizite Transaktionen: - lang laufende Berechnungen unterteilen, - vermeiden von hohem Konfliktpotential. - Optionale Stackkonsolidierung erlaubt TAs auch mit nicht-leerem Stack zu terminieren. Konfliktpunkte in verteilten/parallelen Programmen: - sind durch integrierte Laufzeitbeobachtung einfach identifizierbar, - damit ist eine weitere Verfeinerung und schrittweise Optimierung möglich. Evt. TA freiwillig abbrechen, um Netzverkehr zu vermeiden: - falls keine Daten im Eingabepuffer, - nach Fehler in einer Kompilation auto. Aufräumen. 315 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

22 Explizite Transaktionen Programmierung mit expliziten Transaktionen ist intuitiv. Beispiel: neues TA-Objekt registrieren und aktuelles austragen public class myta extends Transaction { public boolean run() {... STATION.scheduler.install(new nxtta()); STATION.scheduler.uninstall(this);... }} Beispiel: Commit innerhalb der laufenden Transaktion public class SOR extends Transaction { public boolean run() {... for (int i=0; i<num_iterations; i++) { calcredvals(); this.commit(); calcblackvals(); this.commit(); }}} 316 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

23 Native Java Compiler (M. Schöttner) Java Source nach native i486: - < 200 kbyte JVM Bytecode, - stackbasierter Code (> Zeilen / sec.), - mit einfachem Peephole Optimizer. Direkte Übersetzung in den DSM: - Binden & Laden zur Compilationszeit, - frühe Initialisierung von Klassen, - Serialisierung entfällt. Direkte Programmierung der HW: - Compilerklasse MAGIC & Structs, - return sequenz für Interruptmethoden. - inline assembly code Java Übersetzung ist umständlich: - zyklisches Importieren & Initialisieren, - Polymorphien und Interfaces, Seiten Sprachspez. Multipass compiler 317 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

24 11.10 Anwendungsbeispiele Virtuelle Welt im DSM Speicher (o-27 in Space) DSM-Speicher geeignete Basis für ein Multiplayer Szenarium. Weltgraph ist "read mostly" und getrennt von den Views der Stationen. Modifikationen in entfernten Teilen der Welt werden nicht propagiert. Kein zentraler Server erforderlich. DSM im WAN noch offen. World graph DSM Station view Station view Station view 318 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

25 Wissenheim.de (Edutainment & Entertainment) 319 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

26 Parallele Anwendungen: RayTracer & Matrizenbenchmarks 320 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

27 Pro: - kompakt, schnell und übersichtlich. Contra: - fehlende Fairness, - Java Allozierungsstrategie, - Rücksetzbarkeit von HW-Ausgaben, - False-Sharing Situationen schwer erkennbar. Optimierungspotentiale: - verbesserte Strategie zur Konfliktauflösung, - optional schwache Konsistenzmodelle, - alternative Speicherverkettung, - explizite Variablenallozierung, - optimierender Compiler, - 64 Bit Adressraum, - Gigabit Ethernet, Bewertung 321 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

C. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme

C. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme C. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme Sammlung von Routinen, ohne Hierarchie, Kapselung und Schichtung. Jede Prozedur kann beliebige andere Prozeduren aufrufen und Datenstrukturen

Mehr

3. Betriebssystemorganisation

3. Betriebssystemorganisation 3. Betriebssystemorganisation 3.1 Monolithische Betriebssysteme Sammlung von Routinen, ohne Hierarchie, Kapselung und Schichtung. Jede Prozedur kann beliebige andere aufrufen und Datenstrukturen ändern.

Mehr

Rechnernutzung in der Physik. Betriebssysteme

Rechnernutzung in der Physik. Betriebssysteme Rechnernutzung in der Physik Betriebssysteme 1 Betriebssysteme Anwendungsprogramme Betriebssystem Treiber BIOS Direkter Zugriff von Anwenderprogrammen auf Hardware nur in Ausnahmefällen sinnvoll / möglich:

Mehr

Betriebssysteme Kap A: Grundlagen

Betriebssysteme Kap A: Grundlagen Betriebssysteme Kap A: Grundlagen 1 Betriebssystem Definition DIN 44300 Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften dieser Rechenanlage die Basis der möglichen Betriebsarten

Mehr

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Name: Matrikel-Nr: Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Bitte schreiben Sie leserlich und antworten Sie kurz und präzise. 1. Zeichnen Sie das Schichten-Modell eines Computersystems und markieren

Mehr

Java Virtual Machine (JVM) Bytecode

Java 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,

Mehr

8.4 Das Andrew File System 393 8.5 Ausblicke 404 8.6 Zusammenfassung 410 Übungen 411

8.4 Das Andrew File System 393 8.5 Ausblicke 404 8.6 Zusammenfassung 410 Übungen 411 Inhaltsverzeichnis Vorwort 11 Aufgabenbereiche und Leserschaft 11 Aufbau dieses Buches 12 Literatur 12 Änderungen in dieser Auflage 13 Danksagungen 14 Web-Site 14 Kapitel 1 Charakteristische Eigenschaften

Mehr

Vorkurs C++ Programmierung

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

Mehr

Kapitel 6. Vererbung

Kapitel 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

Mehr

Kapitel 6. Vererbung

Kapitel 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

Mehr

Smartphone Entwicklung mit Android und Java

Smartphone Entwicklung mit Android und Java Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter

Mehr

Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008

Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008 Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008 Jörg Rödel Virtualization - Whats out there? Virtualisierung hat bereits längere Geschichte auf x86 Startete mit VMware Setzte

Mehr

Die L4-Mikrokern. Mikrokern-Familie. Hauptseminar Ansätze für Betriebssysteme der Zukunft. Michael Steil. Michael Steil 18.04.2002

Die L4-Mikrokern. Mikrokern-Familie. Hauptseminar Ansätze für Betriebssysteme der Zukunft. Michael Steil. Michael Steil 18.04.2002 Die L4-Mikrokern Mikrokern-Familie Hauptseminar Ansätze für Betriebssysteme der Zukunft 18.04.2002 Folie 1 Aufbau des Vortrags 1. Mikrokerne: Idee und Geschichte 2. L4: ein schneller Mikrokern 3. L4Linux:

Mehr

Implementierung der Jikes Research Virtual Machine

Implementierung 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

Mehr

Embedded-Linux-Seminare. Linux als Betriebssystem

Embedded-Linux-Seminare. Linux als Betriebssystem Embedded-Linux-Seminare Linux als Betriebssystem http://www.embedded-linux-seminare.de Diplom-Physiker Peter Börner Spandauer Weg 4 37085 Göttingen Tel.: 0551-7703465 Mail: info@embedded-linux-seminare.de

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen 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

Mehr

6.6 Persistenter virtueller Speicher

6.6 Persistenter virtueller Speicher 6.6 Persistenter virtueller Speicher Idee: alle Segmente sind persistent Datei -Begriff überflüssig! Aber: Segment hat erweiterten Deskriptor. bs-6.6 1 Segment überdauert Tod des erzeugenden Prozesses,

Mehr

Architektur Verteilter Systeme Teil 6: Interprozess-Kommunikation

Architektur Verteilter Systeme Teil 6: Interprozess-Kommunikation Architektur Verteilter Systeme Teil 6: Interprozess-Kommunikation 09.05.15 1 Literatur [6-1] http://php.net/manual/de/book.sockets.php [6-2] http://de.wikipedia.org/wiki/socket_(software) [6-3] http://php.net/manual/de/book.network.php

Mehr

User Level Device Driver am Beispiel von TCP

User Level Device Driver am Beispiel von TCP September 17, 2004 Einleitung Motivation für Userlevel Device Driver Probleme von Userlevel Device Driver Motivation für Userlevel Device Driver Modularität, leichterer Austausch/Erneuerung von Komponenten.

Mehr

Hardware Virtualisierungs Support für PikeOS

Hardware Virtualisierungs Support für PikeOS Virtualisierungs Support für PikeOS Design eines Virtual Machine Monitors auf Basis eines Mikrokernels Tobias Stumpf SYSGO AG, Am Pfaenstein 14, 55270 Klein-Winternheim HS Furtwangen, Fakultät Computer

Mehr

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 Verarbeitungsgrundlagen Teil 2 Virtual Storage el0100 copyright

Mehr

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221 Oracle 10g und SQL Server 2005 ein Vergleich Thomas Wächtler 39221 Inhalt 1. Einführung 2. Architektur SQL Server 2005 1. SQLOS 2. Relational Engine 3. Protocol Layer 3. Services 1. Replication 2. Reporting

Mehr

Verwaltung der MSATA-SSD bei HP Envy Ultrabook 4 und Ultrabook 6 mit Intel Smart Response Technologie

Verwaltung der MSATA-SSD bei HP Envy Ultrabook 4 und Ultrabook 6 mit Intel Smart Response Technologie Verwaltung der MSATA-SSD bei HP Envy Ultrabook 4 und Ultrabook 6 mit Intel Smart Response Technologie 1. Allgemeine Verwaltung / Feststellen der Größe der MSATA-SSD Die MSATA-SSD bei HP Envy Ultrabook

Mehr

Prozesse und Scheduling

Prozesse 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

Mehr

PVFS (Parallel Virtual File System)

PVFS (Parallel Virtual File System) Management grosser Datenmengen PVFS (Parallel Virtual File System) Thorsten Schütt thorsten.schuett@zib.de Management grosser Datenmengen p.1/?? Inhalt Einführung in verteilte Dateisysteme Architektur

Mehr

Shibboleth Clustering und Loadbalancing

Shibboleth Clustering und Loadbalancing Shibboleth Clustering und Loadbalancing STEINBUCH CENTRE FOR COMPUTING - SCC KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Computercluster

Mehr

Betriebssysteme Kap B: Hardwaremechanismen

Betriebssysteme Kap B: Hardwaremechanismen 1 Betriebssysteme Kap B: Hardwaremechanismen 2 Beispielprozessor Ein- / Ausgabe p[ ] ir Leitwerk pc Register a f sp Rechenwerk Speicher m[ ] Spezielle Register Flagregister f f.i: Interrupt-Enable-Flag

Mehr

7.1.1 Grundzüge der Fernaufruf-Implementierung

7.1.1 Grundzüge der Fernaufruf-Implementierung 7.1.1 Grundzüge der Fernaufruf-Implementierung = Aufrufbeziehung Aufrufer Vertreter (proxy, client stub) Fernaufrufdienst A d a p t e r Treiber (skeleton, server stub) Fernaufrufdienst Aufgerufener (Modul,

Mehr

1. Java ist... 2. Stammbaum der Programmiersprachen 3. Die "Softwarekrise"

1. Java ist... 2. Stammbaum der Programmiersprachen 3. Die Softwarekrise im Überblick im Überblick Inhalt 1. Java ist... 2. Stammbaum der Programmiersprachen 3. Die Softwarekrise 1. Merkmale von Software 2. Fortlaufende Veränderungen 3. Erschwerte Rahmenbedingungen bei der

Mehr

CORBA. Systemprogrammierung WS 2006-2007

CORBA. Systemprogrammierung WS 2006-2007 CORBA Systemprogrammierung WS 2006-2007 Teilnehmer: Bahareh Akherattalab Babak Akherattalab Inhaltsverzeichnis: Verteilte Systeme Vergleich zwischen lokale und verteilte Systeme Verteilte Anwendungen CORBA

Mehr

Praktikum Compilerbau Sitzung 9 Java Bytecode

Praktikum 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

Mehr

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Vorlesung 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

Mehr

Anleitung zur Installation eines Clusters unter VMWare 4.0 (Built 4460)

Anleitung zur Installation eines Clusters unter VMWare 4.0 (Built 4460) Anleitung zur Installation eines Clusters unter VMWare 4.0 (Built 4460) Schritt 1: Erstellen der virtuellen Maschinen 1. Menü File, New, New Virtual Machine... wählen. 2. Auf Weiter > klicken. 3. Die Option

Mehr

Transparente Nutzung von Multi-GPU Cluster unter Java/OpenMP

Transparente Nutzung von Multi-GPU Cluster unter Java/OpenMP Transparente Nutzung von Multi-GPU Cluster unter Java/OpenMP Dipl. Inf. Thorsten Blaß Programming Systems Group Martensstraße 3 91058 Erlangen Ausblick Motivation Einführung Java/OpenMP (JaMP) JaMP Sprache

Mehr

Projekt für Systemprogrammierung WS 06/07

Projekt für Systemprogrammierung WS 06/07 Dienstag 30.01.2007 Projekt für Systemprogrammierung WS 06/07 Von: Hassan Bellamin E-Mail: h_bellamin@web.de Gliederung: 1. Geschichte und Definition 2. Was ist Virtualisierung? 3. Welche Virtualisierungssoftware

Mehr

Grundlagen der Rechnerarchitektur

Grundlagen der Rechnerarchitektur Grundlagen der Rechnerarchitektur Ein und Ausgabe Übersicht Grundbegriffe Hard Disks und Flash RAM Zugriff auf IO Geräte RAID Systeme SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 2 Grundbegriffe

Mehr

Version 2.0. Copyright 2013 DataCore Software Corp. All Rights Reserved.

Version 2.0. Copyright 2013 DataCore Software Corp. All Rights Reserved. Version 2.0 Copyright 2013 DataCore Software Corp. All Rights Reserved. VDI Virtual Desktop Infrastructure Die Desktop-Virtualisierung im Unternehmen ist die konsequente Weiterentwicklung der Server und

Mehr

Prinzipien Objektorientierter Programmierung

Prinzipien 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........................

Mehr

RAID. Name: Artur Neumann

RAID. Name: Artur Neumann Name: Inhaltsverzeichnis 1 Was ist RAID 3 1.1 RAID-Level... 3 2 Wozu RAID 3 3 Wie werden RAID Gruppen verwaltet 3 3.1 Software RAID... 3 3.2 Hardware RAID... 4 4 Die Verschiedenen RAID-Level 4 4.1 RAID

Mehr

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

Mehr

5 Speicherverwaltung. bs-5.1 1

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

Mehr

Java Performance Tuning

Java 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

Mehr

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008 PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2007/2008 FB Informatik

Mehr

Programmierung. Programme, Compiler, virtuelle Maschinen, Java

Programmierung. Programme, Compiler, virtuelle Maschinen, Java Programmierung Programme, Compiler, virtuelle Maschinen, Java Programme Ein Programm ist eine Folge von Anweisungen, die einem Computer sagen, was er tun soll tuwas.c for(int i=0; i=0; i

Mehr

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ Objektorientierte Programmierung Objektorientierte Programmierung Eine Einführung mit BlueJ stellt die Daten, ihre Struktur und ihre Beziehungen zueinander in den Vordergrund. Weniger im Blickpunkt: die

Mehr

5. Threads, Serverprozesse und Benachrichtigungen

5. 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

Mehr

Transaktionsverwaltung

Transaktionsverwaltung Transaktionsverwaltung VU Datenbanksysteme vom 21.10. 2015 Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Transaktionsverwaltung

Mehr

COMPOSITA: Eine Studie über Laufzeit-Architekturen für massiv parallele Systeme

COMPOSITA: Eine Studie über Laufzeit-Architekturen für massiv parallele Systeme COMPOSITA: Eine Studie über Laufzeit-Architekturen für massiv parallele Systeme Luc Bläser HSR Hochschule für Technik Rapperswil Jürg Gutknecht ETH Zürich Vortrag KPS 2013 1 Oktober 2013 Motivation Heutige

Mehr

Memory Management. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at

Memory Management. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at Memory Management Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1 Speicherverwaltung Effektive Aufteilung und Verwaltung des Arbeitsspeichers für BS und Programme Anforderungen

Mehr

Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance

Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance 5. November 2013 Prof. Dr. Christian Tschudin Departement Mathematik und Informatik, Universität Basel Repetition

Mehr

SPARC LDom Performance optimieren

SPARC LDom Performance optimieren SPARC LDom Performance optimieren Marcel Hofstetter hofstetter@jomasoft.ch http://www.jomasoftmarcel.blogspot.ch Mitgründer, Geschäftsführer, Enterprise Consultant JomaSoft GmbH 1 Inhalt Wer ist JomaSoft?

Mehr

Kernel Programmierung unter Linux. Programmierung von Kernelmodulen. Referent Klaus Ruhwinkel

Kernel Programmierung unter Linux. Programmierung von Kernelmodulen. Referent Klaus Ruhwinkel Kernel Programmierung unter Linux Programmierung von Kernelmodulen Referent Klaus Ruhwinkel Das Betriebssystem Aufbau des Betriebssystem: Es besteht aus den Betriebssystemkern und den sonstigen Betriebssystemkomponenten

Mehr

Xenologie oder wie man einen Plastikmainframe baut

Xenologie oder wie man einen Plastikmainframe baut Xenologie oder wie man einen Plastikmainframe baut Alexander Schreiber http://www.thangorodrim.de/ Chemnitzer Linux-Tage 2006 I think there is a world market for maybe five computers.

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Erste Schritte mit Eclipse

Erste Schritte mit Eclipse Erste Schritte mit Eclipse März 2008, KLK 1) Java Development Kit (JDK) und Eclipse installieren In den PC-Pools der HAW sind der JDK und Eclipse schon installiert und können mit dem Application Launcher

Mehr

Erfahrungen mit parallelen Dateisystemen

Erfahrungen mit parallelen Dateisystemen Erfahrungen mit parallelen n frank.mietke@informatik.tu-chemnitz.de Fakultätsrechen- und Informationszentrum (FRIZ) Professur Rechnerarchitektur Technische Universität Chemnitz 25.09.2007 - Megware HPC

Mehr

Einführung in den NetBeans Profiler

Einfü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

Mehr

Java Einführung Programmcode

Java 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:

Mehr

6 Speicherverwaltung

6 Speicherverwaltung 6 Speicherverwaltung 6.1 Hintergrund Ein Programm muß zur Ausführung in den Hauptspeicher gebracht werden und in die Prozeßstruktur eingefügt werden. Dabei ist es in mehreren Schritten zu modifizieren.

Mehr

Remote-Administration von eingebetteten Systemen mit einem Java-basierten Add-On-Modell

Remote-Administration von eingebetteten Systemen mit einem Java-basierten Add-On-Modell Remote-Administration von eingebetteten Systemen mit einem Java-basierten Add-On-Modell F. Burchert, C. Hochberger, U. Kleinau, D. Tavangarian Universität Rostock Fachbereich Informatik Institut für Technische

Mehr

Datenbanksystem. System Global Area. Hintergrundprozesse. Dr. Frank Haney 1

Datenbanksystem. System Global Area. Hintergrundprozesse. Dr. Frank Haney 1 Datenbanksystem System Global Area Hintergrundprozesse Dr. Frank Haney 1 Komponenten des Datenbanksystems System Global Area Program Global Area Hintergrundprozesse Dr. Frank Haney 2 System Global Area

Mehr

Virtualisierung Betrachtung aktueller Hypervisor wie Xen, KVM und Hyper-V

Virtualisierung Betrachtung aktueller Hypervisor wie Xen, KVM und Hyper-V Ausgewählte Kapitel der Systemsoftware Virtualisierung Betrachtung aktueller Hypervisor wie Xen, KVM und Hyper-V Guilherme Bufolo Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik

Mehr

Grundlagen zur nebenläufigen Programmierung in Java

Grundlagen 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

Mehr

13. Übung mit Musterlösung

13. Übung mit Musterlösung 13. Übung mit Musterlösung 1 Lösung 1 Teil 1.Multiple Choice) Bewertung: Ein Punkt für richtige Antwort, für jede falsche Antwort ein Punktabzug. a) Für die Exponentialverteilung ist die Zeit bis zum nächsten

Mehr

Caching. Hintergründe, Patterns &" Best Practices" für Business Anwendungen

Caching. Hintergründe, Patterns & Best Practices für Business Anwendungen Caching Hintergründe, Patterns &" Best Practices" für Business Anwendungen Michael Plöd" Senacor Technologies AG @bitboss Business-Anwendung!= Twitter / Facebook & co. " / kæʃ /" bezeichnet in der EDV

Mehr

OFS: Ein allgemeines Offline-Dateisystem auf Basis von FUSE

OFS: Ein allgemeines Offline-Dateisystem auf Basis von FUSE OFS: Ein allgemeines Offline-Dateisystem auf Basis von FUSE Tobias Jähnel und Peter Trommler Fakultät Informatik Georg-Simon-Ohm-Hochschule Nürnberg http://offlinefs.sourceforge.net Übersicht Hintergrund

Mehr

Tutorium Java Ein Überblick. Helge Janicke

Tutorium Java Ein Überblick. Helge Janicke Tutorium Java Ein Überblick Helge Janicke 26. Oktober 2000 1 VORRAUSSETZUNGEN ZUM PROGRAMMIEREN MIT JAVA. 1 1 Vorraussetzungen zum Programmieren mit Java. Was braucht man, wenn man mit Java programmieren

Mehr

Remote- und Server-Programmierung. Dr. Wolfgang Süß Thorsten Schlachter

Remote- und Server-Programmierung. Dr. Wolfgang Süß Thorsten Schlachter Remote- und Server-Programmierung Dr. Wolfgang Süß Thorsten Schlachter Remote Method Invocation (RMI) Servlets WebServices 2 Remote Method Invocation (RMI) Das Remote Method Invocation (RMI)-Framework

Mehr

Betriebssysteme WS 2012/13 Peter Klingebiel, DVZ. Zusammenfassung Kapitel 4 - Datenträger/Dateiverwaltung

Betriebssysteme WS 2012/13 Peter Klingebiel, DVZ. Zusammenfassung Kapitel 4 - Datenträger/Dateiverwaltung Betriebssysteme WS 2012/13 Peter Klingebiel, DVZ Zusammenfassung Kapitel 4 - Datenträger/Dateiverwaltung Zusammenfassung Kapitel 4 Dateiverwaltung 1 Datei logisch zusammengehörende Daten i.d.r. permanent

Mehr

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer)

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer) Programmieren I Grundlagen von JAVA Dr. Klaus Höppner Hello World in JAVA Hochschule Darmstadt WS 2007/2008 Elementare Datentypen 1 / 17 2 / 17 Eigenschaften von JAVA Prinzipieller Ablauf Plattform-und

Mehr

Blätter zur Vorlesung Sommersemester 2004. Betriebssysteme. Prof. Dr. P. Schulthess Dr. M. Schöttner & al.

Blätter zur Vorlesung Sommersemester 2004. Betriebssysteme. Prof. Dr. P. Schulthess Dr. M. Schöttner & al. Blätter zur Vorlesung Sommersemester 2004 Betriebssysteme Prof. Dr. P. Schulthess Dr. M. Schöttner & al. Verteilte Systeme, Informatik, Universität Ulm 1. Vorschau 1.1 Einordnung & Organisation Voraussetzungen:

Mehr

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des

Mehr

Hochschule Niederrhein Grundlagen der Prof. Dr. Nitsche Fachbereich 03 Java Programmierung Bachelor Informatik SS 2015 Übung 1. Grundlagen von Java

Hochschule Niederrhein Grundlagen der Prof. Dr. Nitsche Fachbereich 03 Java Programmierung Bachelor Informatik SS 2015 Übung 1. Grundlagen von Java Grundlagen von Java Aufgabe 1: Typen und Zuweisungen in Java Welche der folgenden Java-Anweisungen sind fehlerhaft? Handelt es sich um einen Compiler- oder einen Laufzeitfehler? Anmerkung: Folgefehler

Mehr

Technische Informatik I. Übung 3 Speicherhierarchie. v t d 0 d 1 d 2 d 3 0 1 2 3. Technische Informatik I Übung 3. Technische Informatik I Übung 3

Technische Informatik I. Übung 3 Speicherhierarchie. v t d 0 d 1 d 2 d 3 0 1 2 3. Technische Informatik I Übung 3. Technische Informatik I Übung 3 Institut für Kommunikationsnetze und Rechnersysteme Technische Informatik I Paul J. Kühn, Matthias Meyer Übung 3 Speicherhierarchie Inhaltsübersicht Aufgabe 3.1 Daten-Cache Aufgabe 3.2 Virtueller Speicher

Mehr

Warum EJB Technologie (1)?

Warum EJB Technologie (1)? Datenbanken und Informationssysteme 2 SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn Datenbanken und Informationssysteme 2 - Prof. Dr. Stefan Böttcher - SS 2004 Folie EJB - 1 Warum EJB Technologie

Mehr

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

Mehr

Vererbung versus Delegation

Vererbung versus Delegation Vererbung versus Delegation class A { public void x() { z(); } protected void z() { /* A-Code */... } } class B extends A { protected void z() { /* B-Code */... } public void y() { delegate.x(); } private

Mehr

Selbstbestimmtes Lernen. Proinformatik III Objektorientierte Programmierung. Format. Inhalt. Buzzwords

Selbstbestimmtes Lernen. Proinformatik III Objektorientierte Programmierung. Format. Inhalt. Buzzwords 4.0 Proinformatik III Objektorientierte Programmierung Michael Kölling University of Kent Canterbury, UK Selbstbestimmtes Lernen Vorlesung Tutorium Übungen Buch Web-Seite Üben, üben, üben! Format Vorlesung:

Mehr

http://www.cis.upenn.edu/~bcpierce/unison/download/stable/unison- 2.9.1/

http://www.cis.upenn.edu/~bcpierce/unison/download/stable/unison- 2.9.1/ Einführung Was ist Unison? Unison ist ein Dateisynchronisationsprogramm für Windows und Unix. Es teilt sich viele Funktionen mit anderen Programmen, wie z.b. CVS und rsync. Folgend einige Vorteile des

Mehr

Windows Server 2012 R2

Windows Server 2012 R2 Windows Server 2012 R2 Eine Übersicht Raúl B. Heiduk (rh@pobox.com) www.digicomp.ch 1 Inhalt der Präsentation Die wichtigsten Neuerungen Active Directory PowerShell 4.0 Hyper-V Demos Fragen und Antworten

Mehr

8. Swapping und Virtueller Speicher

8. Swapping und Virtueller Speicher 8. Swapping und Virtueller Speicher Der physikalische Adreßraum wird weiter abgebildet auf Arbeitsspeicher und Plattenspeicher. Prozesse (deren benutzte Seiten) die nicht laufen (und bald nicht laufen)

Mehr

Adaptive und fehlertolerante MPI-Varianten. Heiko Waldschmidt 05.02.2007

Adaptive und fehlertolerante MPI-Varianten. Heiko Waldschmidt 05.02.2007 Adaptive und fehlertolerante MPI-Varianten Heiko Waldschmidt 05.02.2007 Übersicht Einleitung Fehlertolerante MPI-Varianten Adaptives MPI Fazit Heiko Waldschmidt Adaptive und fehlertolerante MPI-Varianten

Mehr

Web-Anwendungsentwicklung mit dem Delivery Server

Web-Anwendungsentwicklung mit dem Delivery Server Web-Anwendungsentwicklung mit dem Delivery Server Java-Framework auf Basis der Open API Bernfried Howe, Webertise Consulting GmbH WEBertise Consulting Dipl. Informatiker (Wirtschaftsinformatik) 2001-2010

Mehr

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 17. Kapitel 2 Architekturen 51. Kapitel 3 Prozesse 91

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 17. Kapitel 2 Architekturen 51. Kapitel 3 Prozesse 91 Inhaltsverzeichnis Vorwort 13 Kapitel 1 Einleitung 17 1.1 Definition eines verteilten Systems................................ 19 1.2 Ziele........................................................ 20 1.2.1

Mehr

Vorlesung: Betriebssysteme

Vorlesung: Betriebssysteme Vorlesung: Betriebssysteme T. Fahringer Institut für f r Informatik Universität t Innsbruck Thomas.Fahringer@uibk.ac.at 1 Kapitel I Betriebssysteme: Aufgaben und Überblick 2 Was ist ein Betriebssystem

Mehr

Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr

Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr Aufgabe 8.1: Zeigerverdopplung Ermitteln Sie an folgendem Beispiel den Rang für jedes Listenelement sequentiell und mit dem in der Vorlesung vorgestellten parallelen

Mehr

Java Batch Der Standard für's Stapeln

Java 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

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

Betriebssysteme K_Kap11C: Diskquota, Raid

Betriebssysteme K_Kap11C: Diskquota, Raid Betriebssysteme K_Kap11C: Diskquota, Raid 1 Diskquota Mehrbenutzer-BS brauchen einen Mechanismus zur Einhaltung der Plattenkontingente (disk quotas) Quota-Tabelle enthält Kontingenteinträge aller Benutzer

Mehr

Oracle VM 3 Manager als virtuelle Maschine auf dem Oracle VM 3 Server

Oracle VM 3 Manager als virtuelle Maschine auf dem Oracle VM 3 Server Oracle VM 3 Manager als virtuelle Maschine auf dem Oracle VM 3 Server Martin Bracher Senior Consultant 26.12.2011 Oracle VM die Virtualisierungslösung von Oracle besteht aus zwei Komponenten. Einerseits

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

Applications Applets (eingeschränkte Rechte)

Applications Applets (eingeschränkte Rechte) 1 Arten von Java-Programmen Man unterscheidet 2 verschiedene Arten von Java-Programmen: Applications Applets (eingeschränkte Rechte) Erstere sind eigenständige Programme. Letztere sind "kleine" Programme,

Mehr

72 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

72 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner 4. Namensdienste 4.1 Motivation Namen statt Adressen: people prefer names, machines use addresses. Abbildung von Namen auf dahinter stehende Objekte. Beispiel: URL Namensauflösung (nach Coulouris): 72

Mehr

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm

Mehr

C vs. C++ Sebastian Meyer. Proseminar C - Grundlagen und Konzepte. Universität Hamburg

C vs. C++ Sebastian Meyer. Proseminar C - Grundlagen und Konzepte. Universität Hamburg C vs. C++ Sebastian Meyer Universität Hamburg Proseminar C - Grundlagen und Konzepte 2013 1 / 31 Gliederung 1 Einführung 2 Vergleich der Spracheigenschaften 3 Neue Sprachelemente in C++ 4 Fazit 5 Zusammenfassung

Mehr

1 Proseminar: Konzepte von Betriebssystem-Komponenten. Thema: Server OS AS/400 Referend: Sand Rainer. Server OS - AS/400

1 Proseminar: Konzepte von Betriebssystem-Komponenten. Thema: Server OS AS/400 Referend: Sand Rainer. Server OS - AS/400 1 Proseminar: Konzepte von Betriebssystem-Komponenten Server OS - AS/400 Gliederung Was ist eine AS/400? Wie ist OS/400 aufgebaut? Was kann eine AS/400? Bsp.: Logische Partitionierung 2 Proseminar: Konzepte

Mehr

Windows Vista Windows Phone 7

Windows Vista Windows Phone 7 Windows Vista Windows Phone 7 Softwarearchitekturen Referent: Frank Urrigshardt Übersicht Windows Vista Historische Entwicklung Programmierung NT Programmierschnittstelle Win32 Programmierschnittstelle

Mehr

Wiederanlauf (Recovery)

Wiederanlauf (Recovery) DEVO 8.1 Wiederanlauf (Recovery) DEVO 8.2 Ziele Wiederherstellung eines konsistenten Datenbankzustandes nach einem Fehler. Fehler: Transaktionsabbruch: eine Transaktion muß nach einem logischen Fehler

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr