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

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

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

138 Verteilte Betriebssysteme, Winter 2005 Verteilet Systeme, Universität Ulm, M. Schöttner 6. Replikation und Konsistenz 6.1 Motivation Replikation: redundantes Vorhalten von Daten auf verschied. Knoten. - Code: unproblemantisch, da i.d.r. unveränderlich, - Daten: o für Daten, die nur gelesen

Mehr

Java RMI Remote Method Invocation

Java 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

Mehr

Ein Laufzeitsystem für hochgradig parallele Simulationen

Ein Laufzeitsystem für hochgradig parallele Simulationen Ein Laufzeitsystem für hochgradig parallele Simulationen Luc Bläser ETH Zürich / LBC Informatik Seminar für Verkehrssimulation TU Berlin, 6. Juni 2008 Motivation Parallele Simulation Selbstaktive Agenten

Mehr

Übung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012

Übung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012 Übung zu Grundlagen der Betriebssysteme 13. Übung 22.01.2012 Aufgabe 1 Fragmentierung Erläutern Sie den Unterschied zwischen interner und externer Fragmentierung! Als interne Fragmentierung oder Verschnitt

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

Java: Eine Übersicht. Dennis Giffhorn. Lehrstuhl für Programmierparadigmen Universität Karlsruhe

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

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

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

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

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

Der Scheduler von Windows Konzepte und Strategien

Der Scheduler von Windows Konzepte und Strategien Gliederung Der Scheduler von Windows Konzepte und Strategien Daniel Lohmann 1 Grundbegriffe 2 Eigenschaften des Schedulers Grundlegende Eigenschaften Prioritätenmodell Dynamische Prioritätenanpassungen

Mehr

Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind

Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind Betriebssysteme Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind Umfaßt z.b. auch Compiler, Interpreter und Dienstprogramme

Mehr

Software-basierter Speicherschutz durch spezialisierte Java-VMs auf Mikrocontrollersystemen

Software-basierter Speicherschutz durch spezialisierte Java-VMs auf Mikrocontrollersystemen Software-basierter Speicherschutz durch spezialisierte Java-VMs auf Mikrocontrollersystemen Christian Wawersich Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Universität Erlangen-Nürnberg

Mehr

Java Real-Time Specification

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

Mehr

6 Speicherorganisation

6 Speicherorganisation Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen Speicherbereich für

Mehr

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Die Idee Virtuelle Adressen Prozess 1 Speicherblock 0 Speicherblock 1 Speicherblock 2 Speicherblock 3 Speicherblock 4 Speicherblock

Mehr

5.4 Klassen und Objekte

5.4 Klassen und Objekte 5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen

Mehr

Vorlesung "Verteilte Systeme" Sommersemester 1999. Verteilte Systeme. Adreßraum. Rechner. Verteilte Systeme, Sommersemester 1999 Folie 19.

Vorlesung Verteilte Systeme Sommersemester 1999. Verteilte Systeme. Adreßraum. Rechner. Verteilte Systeme, Sommersemester 1999 Folie 19. Verteilte Systeme 19. Distributed Shared Memory Sharing!! No Sharing! Sharing? Evolution der Berechnungsmodelle Vergangenheit Gemeinsamer Speicher Einzelrechner Gegenwart Nachrichtenkommunikation Verteilte

Mehr

Kapitel VI. Speicherverwaltung. Speicherverwaltung

Kapitel VI. Speicherverwaltung. Speicherverwaltung Kapitel VI Speicherverwaltung 1 Speicherverwaltung Computer exekutiert Programme (mit Daten) im Hauptspeicher. Hauptspeicher: Großes Array von Wörtern (1 oder mehrere Bytes) Jedes Wort hat eine eigene

Mehr

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Architektur Verteilter Systeme Teil 2: Prozesse und Threads Architektur Verteilter Systeme Teil 2: Prozesse und Threads 21.10.15 1 Übersicht Prozess Thread Scheduler Time Sharing 2 Begriff Prozess und Thread I Prozess = Sequentiell ablaufendes Programm Thread =

Mehr

Multiuser Client/Server Systeme

Multiuser Client/Server Systeme Multiuser /Server Systeme Christoph Nießner Seminar: 3D im Web Universität Paderborn Wintersemester 02/03 Übersicht Was sind /Server Systeme Wie sehen Architekturen aus Verteilung der Anwendung Protokolle

Mehr

Grundlagen von Python

Grundlagen von Python Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren

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

Thread-Erzeugung kostengünstiger als Prozesserzeugung Thread-Umschaltung kostengünstiger als Prozessumschaltung

Thread-Erzeugung kostengünstiger als Prozesserzeugung Thread-Umschaltung kostengünstiger als Prozessumschaltung 1.5 Threaded Server Server als ein Prozess mit mehreren Threads Threads Thread als Aktivitätsträger virtueller Prozessor eigener Programmzähler eigener Stackbereich eingebettet in den Kontext eines Prozesses

Mehr

J.5 Die Java Virtual Machine

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

Mehr

Multicore Programming: Transactional Memory

Multicore Programming: Transactional Memory Software (STM) 07 Mai 2009 Software (STM) 1 Das Problem 2 Probleme mit 3 Definitionen Datenspeicherung Konflikterkennung Granularität Optimierungsmöglichkeiten Software (STM) 4 Software (STM) Beispielimplementation

Mehr

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful

Mehr

G JINI G.2 G.4. 1 Überblick. 1.1 Programmiermodell. 1.1 Programmiermodell (2) Diensteplattform für Java. Hintergrund. JINI Dienst.

G JINI G.2 G.4. 1 Überblick. 1.1 Programmiermodell. 1.1 Programmiermodell (2) Diensteplattform für Java. Hintergrund. JINI Dienst. 1 Überblick Diensteplattform für Java von Sun Microsystems G JINI Programmiermodell für Dienste Infrastruktur Unterstützungsdienste Hintergrund Nomadic computing mobile Geräte dynamische Dienstnutzung

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

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

Einführung in die Programmierung 1

Einführung in die Programmierung 1 Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener

Mehr

Kapitel 6 Speicherverwaltung Seite 1 zum Teil nach: Silberschatz&Galbin, Operating System Concepts, Addison-Wesley)

Kapitel 6 Speicherverwaltung Seite 1 zum Teil nach: Silberschatz&Galbin, Operating System Concepts, Addison-Wesley) Kapitel 6 Speicherverwaltung Seite 1 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

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

Java für Embedded Systems

Java für Embedded Systems Java für Embedded Systems Marc Balmer, micro systems marc@msys.ch 25. April 2001 Java-fähige Embedded Systems Palm PDA TINI Board Java-Ring ibutton Cyberflex Smart Card... Embedded Systems Steuer- und

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

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

4 Objektorientierte Programmierung mit Java 4.1 Java-Grundlagen

4 Objektorientierte Programmierung mit Java 4.1 Java-Grundlagen 4 Objektorientierte Programmierung mit Java 4.1 Java-Grundlagen Highlights: objektorientierte Sprache Plattformunabhängigkeit bei Hardware und Betriebssystem optimale Einbindung im Internet und Intranet

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

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

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

Blöcke und Grand Central Dispatch

Blöcke und Grand Central Dispatch Blöcke und Grand Central Dispatch Multithreading ist ein Thema, mit dem sich alle Programmierer bei der modernen Anwendungsentwicklung beschäftigen müssen. Selbst wenn Sie glauben, dass Ihre Anwendung

Mehr

Javakurs für Anfänger

Javakurs 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

Mehr

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Java Kurs für Anfänger Einheit 4 Klassen und Objekte Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse

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

Inhaltsverzeichnis. 1.1 Der Begriff des Betriebssystems 1.2 Zur Geschichte der Betriebssysteme 1.3 Aufbau eines Rechners

Inhaltsverzeichnis. 1.1 Der Begriff des Betriebssystems 1.2 Zur Geschichte der Betriebssysteme 1.3 Aufbau eines Rechners Inhaltsverzeichnis Systemprogrammierung - Kapitel 1 Einführung 1/19 1.1 Der Begriff des Betriebssystems 1.2 Zur Geschichte der Betriebssysteme 1.3 Aufbau eines Rechners E/A-Operationen, Speicherstrukturen

Mehr

Protected User-Level DMA in SCI Shared Memory Umgebungen

Protected User-Level DMA in SCI Shared Memory Umgebungen Protected User-Level DMA in SCI Shared Memory Umgebungen Mario Trams University of Technology Chemnitz, Chair of Computer Architecture 6. Halle Chemnitz Seminar zu Parallelverarbeitung und Programmiersprachen

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

1 Polymorphie (Vielgestaltigkeit)

1 Polymorphie (Vielgestaltigkeit) 1 Polymorphie (Vielgestaltigkeit) Problem: Unsere Datenstrukturen List, Stack und Queue können einzig und allein int-werte aufnehmen. Wollen wir String-Objekte, andere Arten von Zahlen oder andere Objekttypen

Mehr

Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161?

Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161? Was machen wir heute? Betriebssysteme Tutorium 2 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 1

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

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

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

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

Kapitel 6. Vererbung

Kapitel 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

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

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

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 20.11.2013 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Wdhlg.: Attributinformationen in

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

Vortrag zum Seminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Bruno Kleinert fuddl@gmx.de. 20. Juni 2007

Vortrag zum Seminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Bruno Kleinert fuddl@gmx.de. 20. Juni 2007 User Mode Linux (UML) Vortrag zum Seminar Konzepte und Techniken virtueller Maschinen und Emulatoren Friedrich-Alexander-Universität Erlangen-Nürnberg Bruno Kleinert fuddl@gmx.de 20. Juni 2007 Überblick

Mehr

Objektorientierte Programmierung

Objektorientierte 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

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

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

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr

2.2 Prozesse in Java

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

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

Seminar "Ausgewählte Themen in Hardwareentwurf und Optik" im HS 2007. Transactional Memory. Vortrag von Erdin Sinanović

Seminar Ausgewählte Themen in Hardwareentwurf und Optik im HS 2007. Transactional Memory. Vortrag von Erdin Sinanović Seminar "Ausgewählte Themen in Hardwareentwurf und Optik" im HS 2007 Transactional Memory Vortrag von Erdin Sinanović Übersicht Was ist Transactional Memory (TM)? Wie programmiert man mit TM? Software

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

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

Bedeutung der Metadateien. Alle Metadaten werden in Dateien gehalten. NTFS ist ein Journal-File-System

Bedeutung der Metadateien. Alle Metadaten werden in Dateien gehalten. NTFS ist ein Journal-File-System 6 Beispiel: Windows NT (NTFS) 6.3 Metadaten 6 Beispiel: Windows NT (NTFS) 6.3 Metadaten 6.3 Metadaten 6.3 Metadaten (2) Alle Metadaten werden in Dateien gehalten Indexnummer 0 1 2 3 4 5 6 7 8 16 17 MFT

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

mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger

mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger Grundlegendes Oracle9i PostgreSQL Prevayler Memory mywms bietet umfangreiche Konfigurationsmöglichkeiten um die Daten dauerhaft zu speichern.

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

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

MMU Virtualisierung. ISE Seminar 2012. Thomas Schaefer 1

MMU Virtualisierung. ISE Seminar 2012. Thomas Schaefer 1 MMU Virtualisierung ISE Seminar 2012 Thomas Schaefer 1 Inhalt Allgemein MMU: Virtualisiert Probleme Problem 1: Ballooning Problem 2: Memory-Sharing Kurz: Problem 3 & 4 Translation Lookside Buffer TLB in

Mehr

Einführung in die technische Informatik

Einführung in die technische Informatik Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Betriebssysteme Aufgaben Management von Ressourcen Präsentation einer einheitlichen

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 21. Oktober 2015 Entstehung von Java 1991 entwickeln Mike Sheridan, James

Mehr

Prüfungsprotokoll der mündlichen Prüfung Verteilte Systeme 1678 (Bachelor Informatik)

Prüfungsprotokoll der mündlichen Prüfung Verteilte Systeme 1678 (Bachelor Informatik) Prüfungsprotokoll der mündlichen Prüfung Verteilte Systeme 1678 (Bachelor Informatik) Prüfer: Prof. Dr. Haake Semester der Prüfung: WS 10/11 Datum der Prüfung: 02.05.2011 Dauer: ca. 25 min Note: 2.0 Hier

Mehr

Wie groß ist die Page Table?

Wie groß ist die Page Table? Wie groß ist die Page Table? Im vorigen (typischen) Beispiel verwenden wir 20 Bits zum indizieren der Page Table. Typischerweise spendiert man 32 Bits pro Tabellen Zeile (im Vorigen Beispiel brauchten

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

Excel beschleunigen mit dem mit Windows HPC Server 2008 R2

Excel beschleunigen mit dem mit Windows HPC Server 2008 R2 Excel beschleunigen mit dem mit Windows HPC Server 2008 R2 Steffen Krause Technical Evangelist Microsoft Deutschland GmbH http://blogs.technet.com/steffenk Haftungsausschluss Microsoft kann für die Richtigkeit

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

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

Probeklausur: Programmierung WS04/05

Probeklausur: 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,

Mehr

Java für C++ Programmierer

Java für C++ Programmierer Java für C++ Programmierer Alexander Bernauer bernauer@inf.ethz.ch Einführung in die Übungen zu Informatik II (D ITET) FS2010 ETH Zürich Ziel Allgemeiner Überblick Kennenlernen der Suchbegriffe Warum Java?

Mehr

Java-Programmierung. Remote Method Invocation - RMI

Java-Programmierung. Remote Method Invocation - RMI Java-Programmierung Remote Method Invocation - RMI Entwicklungsmethoden Sockets Entwurf verteilter Anwendungen ist relativ aufwändig, da zunächst ein Kommunikationsprotokoll entwickelt werden muss aufwändig

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

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

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

Verteilte Systeme. Verteilte Systeme. 9 Verteilte Dateisysteme SS 2015

Verteilte Systeme. Verteilte Systeme. 9 Verteilte Dateisysteme SS 2015 Verteilte Systeme SS 2015 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 7. Juli 2015 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/13) i

Mehr

Handbuch für die Erweiterbarkeit

Handbuch für die Erweiterbarkeit Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6

Mehr

Datenintegrität und Transaktionskonzept

Datenintegrität und Transaktionskonzept und Transaktionskonzept 1. / Datenkonsistenz 1 Mögliche Gefährdung der : Missachtung von Konsistenzbedingungen ("Semantische Integrität") Inkorrekte Verweise auf Datensätze in verschiedenen Tabellen ("Referentielle

Mehr

Programmieren in Java

Programmieren 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

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

Reihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03

Reihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 Reihungen Martin Wirsing in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 2 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch und im Speicher Grundlegende Algorithmen auf Reihungen

Mehr

View. Arbeiten mit den Sichten:

View. Arbeiten mit den Sichten: View "individuelle Sicht" (vgl. 3-Schichten-Modell) virtuelle Tabellen: in der DB wird nicht deren Inhalt, sondern nur die Ableitungsregel gespeichert. Arbeiten mit den Sichten: Anfragen: kein Problem.

Mehr

Programmieren in Java

Programmieren in Java Einführung in die Objektorientierung Klassen 2 Prozeduale Programmierung Bisher: Klassische prozeduale Programmierung Java ist allerdings eine objektorientierte Sprache Rein prozeduale Programmierung daher

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