Seminar Informatik Im Rahmen des Master-Studiengangs Technische Informatik

Größe: px
Ab Seite anzeigen:

Download "Seminar Informatik Im Rahmen des Master-Studiengangs Technische Informatik"

Transkript

1 Im Rahmen des Master-Studiengangs Technische Informatik Nebenläufigkeit und Parallelverarbeitung auf mobilen Plattformen Bearbeitung: Betreuung: Prof. Dr. Hans W. Nissen Fakultät für Informations- Medien- und Elektrotechnik Abgabedatum:

2 Inhaltsverzeichnis 1. Einführung Was sind Tasks, Prozesse und Threads? Illusion von Multitasking auf mobilen Geräten Marktübersicht der mobilen Welt Anforderungen an mobile Lösungen Abgrenzung Analyse mobiler Plattformen Plattformübersicht für mobile Endgeräte Symbian OS Windows Mobile / Windows Phone Android iphone OS / ios Parallelverarbeitung (Parallel Computing) Mooresches-, Amdahlsches- und Gustafons Gesetz Amdahlsches- und Gustafsons Gesetz Geschwindigkeitssteigerung auch bei Einprozessormaschinen Varianten von Nebenläufigkeit auf mobilen Plattformen Ablauf des Multitasking Kooperatives Multitasking Präemptives Multitasking Präemptibles Multitasking Einsatz auf mobilen Plattformen Symbian OS Windows Mobile / Windows Phone Android iphone OS / ios Plattformquerschnitt Literaturverzeichnis Weblinks & Online-Dokumente Literatur Abbildungsverzeichnis Seite 2 / 23

3 1. Einführung Der Vormarsch mobiler Geräte ist seit vielen Jahren nicht mehr aufzuhalten und das Vorhaben, Architekturen von Desktopsystemen auf portable Geräte zu übertragen, ist mittlerweile Wirklichkeit geworden. In Hard- sowie Software werden bewährte Techniken erfolgreich angewendet und bewirken einen immer größeren Leistungssprung von Gerät zu Gerät, wobei nicht nur die Prozessortaktung oder die Größe des eingebauten Speichers entscheidend für den Performancezuwachs ist, sondern gleichermaßen der Einfluss der zugehörigen Plattform inklusive des mobilen Betriebssystems. Die Auslastung der Hardware insbesondere des Prozessors spielt dabei eine große Rolle und das mobile Betriebssystem übernimmt hierbei den grundlegenden Part für die optimale Verwaltung. Die Belastung des Prozessors ist dabei stark an die Ausführung und dem Ablauf von Programmen gekoppelt, die von den Benutzern mobiler Geräte schnell, ohne Verzögerung und am besten parallel ausgeführt werden sollen. Der letzte Punkt ist hierbei für viele Anwender u.a. ein entscheidendes Kriterium zum Kauf mobiler Geräte. Ein Nutzer möchte gerne gleichzeitig im Internet surfen, sich durch die Straßen navigieren lassen, Musik hören und kurz seine s checken, ohne dabei jede Anwendung im Wechselspiel zu starten und beenden zu müssen. Als Folge der Vorzüge eines Desktopsystems müssen solche Abläufe - wie dem einfachen Switchen von Programmen - von mobilen Betriebssystemen realisiert werden. Diese Fähigkeit, mehrere Aufgaben nebenläufig auszuführen, nennt sich Mehrprozessbetrieb oder Multitasking Was sind Tasks, Prozesse und Threads? Die Ausführung von Programmen in einem Betriebssystem spiegeln für das Rechensystem zu bearbeitende Aufgaben wieder. Diese werden unter dem Oberbegriff Task subsumiert. Eine Verwaltung der Programme wird für den Benutzer über den Taskmanager, äquivalent wie bei Desktopsystemen, auch auf mobilen Geräten ermöglicht. Ein aktives und ablaufendes Programm wird dabei als ein oder mehrere Prozesse dargestellt und vereint etwa den ausführbaren Programmcode, verwendeten Speicher für die Daten, geöffnete Dateien oder belegte Schnittstellen. Ein Programm besteht meistens aus einem Prozess und weiteren Ausführungssträngen, den sogenannten Threads. [WIMUL] Abbildung 1-1: Prozess mit 2 parallelen Threads [WITHR] Seite 3 / 23

4 1.2. Illusion von Multitasking auf mobilen Geräten Bei Einprozessorgeräten mit einem Kern, wie sie bisher auch im mobilen Sektor eingesetzt werden, ist die Technik des Multitasking nur eine Illusion für den Benutzer, um aktive Programme quasi parallel erscheinen zu lassen. Die Ausführung kann bei nur einem Prozessor auch nicht gleichzeitig erfolgen, sondern eine Ausführung einzelner Programmteile, wie Prozesse oder Threads, können nur nacheinander abgearbeitet werden und die Umschaltzeiten des Prozessors müssen somit in sehr niedrigem Bereich liegen. Es ergibt sich für die Programmausführung eine verzahnte Struktur, welche vom Scheduler eines Betriebssystems verwaltet wird. Erst bei Verwendung von mehreren Prozessoren oder bei Mehrkernprozessoren gelingt eine wirklich parallele Abarbeitung von Programmteilen. [JAVA] Erste Prozessorvarianten mit mehreren Kernen für mobile Geräte wurden von einigen Herstellern angekündigt (Stand: Mai 2010) und als Folge wird echtes Multitasking in der mobilen Welt nicht mehr fern sein Marktübersicht der mobilen Welt Der Einzug von modernen, desktopgleichen Betriebssystemen auf mobilen Endgeräten wie Handys, Smartphones und Tablet-PCs wird seit vielen Jahren von Herstellern wie Microsoft, Symbian und Palm vorangetrieben. Deren Systeme und Konzepte auf dem mobilen Markt zeichnen sich durch Vielseitigkeit, Stabilität und Performance aus. Zeigten jedoch auch in manchen Punkten - wie Handhabung und Benutzerfreundlichkeit - gewisse Schwächen. Seit Einführung von berührungsempfindlichen Displays bei Endgeräten im Handy- und Smartphone Sektor gesellen sich zwei weitere global player mit Google und Apple hinzu, welche jeweils in kürzester Zeit ein mobiles Betriebssystem mit Hauptaugenmerk auf einfachste Handhabung und innovatives Bedienkonzept einführten. Auf dem Markt konnten sich diese neuen mobilen Varianten sehr schnell etablieren und ein großes Wachstum verzeichnen. iphone OS 15,4 Android 9,6 RIM 19,4 Windows Mobile 6,8 Symbian 44,3 Abbildung 1-2: Smartphone Betriebssystem Marktübersicht 1. Quartal Quelle: Gartner Seite 4 / 23

5 1.4. Anforderungen an mobile Lösungen Bedingt durch die rasante Weiterentwicklung von Hardware mit Bezug auf Rechenleistung, Speicherplatz und Darstellungsmöglichkeit, ergeben sich enorme, neue Anforderungen an das moderne, mobile Betriebssystem, wie es bei Desktopbetriebssystemen bekannt ist. Wichtige Aspekte spielen hierbei verstärkt Konzepte für Nebenläufigkeit, Energieverbrauch oder Speichermanagement. Natürlich können bekannte und verwendete Konzepte von PCs nicht eins zu eins übertragen werden, da zusätzliche mobile Anforderungen an Hardware und Software existieren. Dies bedeutet, dass vorhandene Konzepte angepasst oder direkt neue Konzepte entwickelt werden müssen. Beim Energieverbrauch zeigt sich beispielsweise, dass eine Belastung des Prozessors gekoppelt an den Stromverbrauch ist und begrenzt wird durch die maximal zur Verfügung stehende Kapazität der Akkus. Somit müssen etwa Konzepte für Multitasking und Multithreading, die in hohem Maße den Prozessor beanspruchen, effizient und optimiert Implementiert sein. Mit Einzug immer leistungsfähiger Prozessoren steigt auch die Komplexität entwickelter mobiler Anwendung und gleichermaßen der Anspruch an ein mobiles Gerät, die Fähigkeit zu besitzen, mehrere Anwendungen simultan auszuführen zu können. Gefordert wird vom Betriebssystem, neben den üblichen Funktionen wie Energiemanagement oder Kommunikationsverwaltung, dass auch Anwendungen von Drittanbietern zusätzlich zu den Standardanwendungen des Betriebssystems nebenläufig ausgeführt werden können Abgrenzung Beim Vergleich existierender mobiler Betriebssysteme ergeben sich viele Kriterien auf die unterschieden werden kann. Untersucht werden sollen im Folgenden die Punkte, die beim Einsatz von Nebenläufigkeit und eventuell verteilten Anwendung Einfluss nehmen. Aspekte wie Prozessorbelastung, Speichermanagement oder auch Energieverbrauch sind hierbei entscheidend. 2. Analyse mobiler Plattformen Zur Veranschaulichung der Leistungsmerkmale von mobilen Betriebssystemlösungen und der anschließenden Hinführung zum Thema Nebenläufigkeit werden die momentan wichtigsten Betriebssysteme kurz vorgestellt. Untersucht werden die mobilen Betriebssysteme Symbian OS, Windows Mobile / Windows Phone, Android OS und iphone OS / ios 4. Um die Plattformuntersuchung einzugrenzen, wird RIM (Research in Motion) nicht mit einbezogen. Seite 5 / 23

6 2.1. Plattformübersicht für mobile Endgeräte Symbian OS Symbian OS 2 wurde speziell für mobile Endgeräte entwickelt und hat daher einen sehr geringen Speicherbedarf mit zusätzlichem hocheffizientem Energiemanagement. Es ist ein offenes und leistungsfähiges mobiles Betriebssystem und ermöglicht Drittanbietern Applikationen zu Entwickeln und diese unabhängig vom Gerätehersteller zu installieren. Über eine erweiterte C++ API 3 und der neu integrierten Qt API erfolgt der Zugriff unter anderem auf telefonspezifische Funktionen wie Anruf- oder Nachrichtenverwaltung sowie der Basisfunktionen des Betriebssystems. Symbian OS ist nicht auf eine Hardwareplattform beschränkt, sondern erlaubt einen vielfältigen Einsatz von verschiedenen Herstellern. Auf Grund der hohen Konkurrenz auf dem Markt und der Einführung von touch-fähigen Displays befindet sich die Plattform in einer kontinuierlichen Weiterentwicklung. Symbian OS ist als multitaskingfähiges Betriebssystem im ROM 4 abgelegt und ermöglicht, durch die Fähigkeit des Multitasking, die zur Verfügung stehende CPU-Zeit unter einzelnen Anwendungen aufzuteilen. Als Multitasking System werden die CPU-Ansprüche nicht nach Beendigung der Anwendung freigegeben, sondern das System übernimmt die Verwaltung für diesen Mechanismus. Darüber hinaus erfolgt unter Symbian bei der CPU-Aufteilung eine prioritätsbasierte und vererbbare Zuweisung. Als Echtzeit-Betriebssystem werden Applikationen und Dienste zeitnah unter Einhaltung bestimmter Intervalle ausgeführt. [vgl. SYM01] Windows Mobile / Windows Phone Windows Mobile oder dessen Weiterentwicklung Windows Phone basieren auf einer speziell für eingebettete Systeme ausgelegten und von Grund auf neu entwickelten Windows CE 5 Version. Die CE Variante ist nicht explizit für Mobiltelefone und Pocket PC erstellt worden, sondern kann zusätzlich dank Modular konzipierter Bausteine auch für beispielsweise Industrieanlagen zur Steuerung von Robotern verwendet werden. Daher zeigt diese Plattform das vielseitigste und flexibelste Betriebssystem durch die Unterstützung von unterschiedlichster Hardware und Prozessorarchitekturen. Unterstützt wird bei diesen 32 Bit Echtzeitbetriebssystemvarianten Multitasking und Multithreading, welches keine strikte Begrenzung bei der Anzahl an Prozessen und Threads besitzt. Beschränkung bieten allein die verbauten Ressourcen, da einzelne Prozesse und Threads Speicherplatz belegen und folglich eine Limitierung unterbreiten. Es erfolgt wie bei der Symbian- Plattform ebenfalls eine prioritätsbasierte Zuweisung der CPU-Zeit. 2 Symbian Operation System 3 API (Application Programming Interface) = Schnittstelle zur Anwendungsprogrammierung 4 Read Only Memory 5 CE ~ Compact Edition oder Consumer Electronics Seite 6 / 23

7 Android Bei Android handelt es sich um ein Projekt der Open Handset Alliance, welche ein Zusammenschluss von 34 Vertretern unterschiedlicher Branchen zur Formulierung von offenen Standards für mobile Geräte, Dienste und Anwendungen ist. Android ist ein mobiles Betriebssystem sowie eine Softwareplattform für portable und ressourcenbegrenzte Geräte wie Smartphones, Mobiltelefone und Netbooks. Die Architektur basiert auf einem Linux-Kernel und vereinigt alle Systemdienste wie etwa das Sicherheitsmodell, die Speicher- und Prozessverwaltung sowie die Netzwerkfunktionen. Für den Einsatz auf mobilen Geräten wurden einige Komponenten erweitert und speziell auf Effizienz und Ressourcenschonung angepasst. Insbesondere sind hierbei die Speicherverwaltung und das Powermanagement zu nennen. Der Großteil der vorhandenen und dem Entwickler angebotenen Bibliotheken sind in JAVA geschrieben und als Folge davon ist die Hauptentwicklungssprache für Benutzeranwendungen JAVA. Eine weitere wichtige Einheit zur Ausführung von Anwendungen ist - wie in allen Java- Umgebungen - die Verwendung einer virtuellen Maschine zum Ausführung des Bytecodes von JAVA- Programmen. Diese wurde explizit für die Android-Plattform zur Verbesserung der Geschwindigkeit unter dem Namen Dalvik Virtuel Machine entwickelt. Auch auf dieser Plattform wird den Applikationen von Drittherstellern ermöglicht, Einfluss auf die CPU-Verteilung durch den Mechanismus des Multitasking zu nehmen, um mehrere Programme zeitgleich auszuführen. Anwendungen haben darüber hinaus die gleichen Zugriffsrechte auf Low-Level Ressourcen wie die Kerndienste des Betriebssystems. Das Applikation-Framework ermöglicht des Weiteren eine freie Zuteilung sowie Austausch von Softwarekomponenten und Erweiterungen für Basisfunktionen wie etwa Nachrichtenempfang oder Wählfunktion für Anrufe. [vgl. AND] iphone OS / ios 4 Ein weiteres und im Vergleich relativ neues mobiles Betriebssystemen ist das von Apple entwickelte iphone OS, welches nicht nur auf Mobiltelefonen zum Einsatz kommt, sondern ebenso auf MP3- Playern und Tablet-PCs. Abgeleitet vom Desktop-Betriebssystem Mac OS X, ist das iphone OS ein Unix-ähnliches Betriebssystem mit vier Abstraktionsschichten optimiert für den Einsatz auf portablen Geräten. Aufgeteilt sind die Schichten in Betriebssystemkern, Kerndienste, Medienschicht und Cocoa-Touch Schicht für die Benutzereingaben. Die rasante Verbreitung dieses Betriebssystems ist unteranderem der innovativen Menüführung der grafischen Benutzeroberfläche sowie der multitouch Gestensteuerung des berührungsempfindlichen Displays zu verdanken. [vgl. IPH] Große Kritikpunkte bestehen jedoch in der Einschränkung der Hardware und Software, die auf den mobilen Geräten zum Einsatz kommen. Programmen von Drittherstellen ist etwa eine Verwendung von Multitasking durch das Betriebssystem untersagt. Nur Kernanwendung ist dies erlaubt. Mit Einführung des Softwareupdates auf Version ios 4.0 soll dieser Makel zum Teil ausgeglichen werden. Seite 7 / 23

8 3. Parallelverarbeitung (Parallel Computing) Bei der Berechnung von großen Problemen mit Hilfe von Rechnersystemen ist die Parallelverarbeitung ein Verfahren zur Beschleunigung und Verkürzung der Rechenzeit. Eingesetzt wird das Prinzip, bei dem Gesamtaufgaben in mehrere kleinere Teilaufgaben zerlegt und nach Beendigung der Berechnung wieder zusammengeführt werden, nicht nur auf Desktopsystemen, sondern gleichermaßen bei leistungsfähigen portablen Architekturen. Einfluss auf Parallelverarbeitung haben viele Faktoren, die durch Erweiterung von Hardwarebauteilen oder geschickter Softwareentwicklung realisiert werden können. Verschiedene Varianten von Parallelverarbeitung sind etwa: Parallelisieren auf Bit-Ebene (bit-level parallelism), bei welcher die Wortbreite, das heißt die Grundverarbeitungsgröße, eines Prozessors vergrößert wird. Beispielsweise von 16Bit auf 32Bit Simultane Ausführung von Berechnungen (instruction level parallelism), bei der Rechenoperationen wie Addition und Multiplikation von Datenwörtern gleichzeitig von einem Prozessor berechnet werden Parallele Datenverteilung (data parallelism, loop-level parallelism), beschreibt den Zugriff auf Daten von unterschiedlichen parallelverarbeitenden Einheiten Aufteilung von Aufgaben und Tasks (task parallelism), ist wie in Kapitel 1 beschrieben, eine Verteilung von Aufgaben auf unterschiedliche parallelverarbeitende Einheiten Des Weiteren gibt es auch eine Unterscheidung von: Einprozessorsystemen Systeme mit mehreren Prozessoren Prozessoren mit einem Kern Prozessoren mit mehreren Kernen oder der Zusammenschluss von mehreren Rechnersystemen über ein Netzwerk, die dann eine Gesamtaufgabe unter sich aufteilen Eine abgewandelte Variante der Aufgabenverteilung auf mehrere Rechnersysteme wird in der mobilen Welt zukünftig ebenso wie auf Desktopsystemen Einzug erhalten. Dabei handelt es sich um das sogenannte Cloud Computing 6 bei dem die Berechnung von leistungsintensiven Aufgaben vom mobilen Gerät auf andere Systeme ausgelagert und anschließend das Ergebnis oder Teilergebnis auf das mobile Gerät zurückübermittelt wird. Aber warum Aufgaben zur Beschleunigung parallelisieren? Reicht eine Erweiterung des Prozessors bei Taktfrequenz und der Transistordichte nicht aus, um einen Performancezuwachs zu erreichen? 6 Aufgabenberechnung in einer Wolke Seite 8 / 23

9 3.1. Mooresches Gesetz Ein Blick auf die Prozessor-Entwicklung der letzten vierzig Jahre zeigt, dass die Komplexität der integrierten Schaltkreise einer Gesetzmäßigkeit folgt, die in dem Mooreschen Gesetz beschrieben wird. Es handelt sich dabei nicht um ein Naturgesetz, viel mehr um eine Faustregel aufgestellt nach einer empirischen Beobachtung. Beschrieben wird in dem Gesetz nach Gordon Moore, das alle achtzehn Monate eine Verdoppelung der Taktfrequenz eines Prozessors bei gleichzeitiger Verdoppelung der Anzahl der Transistoren pro Flächeneinheit, der Integrationsdichte, erzielt wird. Abbildung 3-1: Grafik zur Belegung des Mooreschen Gesetzes mit Intel-Prozessoren [WIKMO] Seit einigen Jahren gelangt diese Entwicklung aus physikalischen Gründen, wie auftretenden Wellenphänomenen oder thermischen Problemen bei steigenden Frequenzen, ins Stocken, so dass andere Wege zur Erhöhung der Performance eingeschlagen werden müssen. [vgl. NEB01] Eine Lösung bietet hierbei die Parallelisierung von Aufgaben in mehrere unabhängige Ausführungsstränge. Ein praxisnahes Beispiel verdeutlicht den Einsatz von Parallelisierung: Wenn ein Ameise eine Mauer an einem Tag erbaut, dann schaffen es zwei Ameisen in der Hälfte der Zeit. [NEB01] Jedoch ergeben sich aus dem Beispiel auch Grenzen, denn eine Verkürzung der Zeit lässt sich nicht unbegrenzt erreichen. Wie lange brauchen eine Milliarde Ameisen für diese Aufgabe? [vgl. NEB01] Seite 9 / 23

10 Beim Einsatz von Parallelisierungstechniken auf Rechnerarchitekturen sind gleichermaßen Grenzen gesetzt, bedingt durch den steigenden Verwaltungsaufwands bei der Splittung in Teilaufgaben. Verdeutlicht wird dies in einem Modell nach dem Amdahlschen Gesetz über die Beschleunigung von Anwendungen bei gleichzeitiger Ausführung Amdahlsches- und Gustafsons Gesetz Bei der Parallelisierung können aber nicht alle Teile eines Programmes auf mehrere Prozessoren verteilt werden, denn gewisse sequentiell ablaufende Ausführungsabschnitte, wie Allokation von Speicher oder Initialisierung von Prozessen, können nur einmalig und auf einem Prozessor ausgeführt werden. Aufgaben zur parallelen Ausführung und zur Verteilung auf mehrere Prozessoren bewirken jedoch eine enorme Minimierung der Gesamtrechenzeit und werden als maximale Beschleunigung oder SpeedUp bezeichnet. Allerdings ist der Faktor der Beschleunigung begrenzt und bei zu großer Prozessorzahl übersteigt der Verwaltungsaufwand den Rechenaufwand. Abbildung 3-2: Geschwindigkeitsgewinn [WIKAM] Am Verlauf der einzelnen Kennlinien mit parallelen Anteilen sieht man deutlich, dass bei zunehmender Prozessorzahl die Höhe des parallelen Anteils bei der Parallelisierung entscheidend für die Beschleunigung ist und der größtmögliche SpeedUp erreicht wird. Seite 10 / 23

11 3.3. Geschwindigkeitssteigerung auch bei Einprozessormaschinen Nicht nur auf Systemen mit mehreren Prozessoren kann eine Parallelisierung geschwindigkeitssteigernd sein, sondern in gleicher Weise auch auf Einprozessorgeräten wie sie im mobilen Bereich eingesetzt werden. Auf den ersten Blick scheint es unverständlich, weil der vorhandene Prozessor selbstverständlich alle Berechnung ausführen muss, doch gibt es viele Programmteile die auf gewisse Operationen warten müssen, wie etwa Benutzereingaben oder Zugriff auf Schnittstellen mit denkbarer Datenkommunikation. Genau hier bieten sich die Möglichkeiten zur parallelen Abarbeitung. Als Beispiel gäbe es eine Anwendung mit Datenbankzugriff auf einem mobilen Gerät, mit welcher Datensätze in einem Datenbank-Report von einem Datenbankserver abgefragt werden und über das Netzwerk oder Internet auf das mobile Gerät transferiert werden kann. Bei der Ausführung der Anwendung werden mehrere Schritte bis zur Darstellung des Berichtes auf dem Display des Gerätes durchlaufen. 1. Zeige das Fenster der Anwendung mit dem Datenbank-Report 2. Leite den Zugriff auf die Netzwerkschnittstellen ein 3. Öffne vom Netz-Server die zugehörige Datenbank 4. Lese die angeforderten Datensätze aus und speicher sie in einer Datei 5. Vergleiche alte und neue Datensätze mit Speicherung in der Datei 6. Visualisiere den Datenbank-Report im Fenster auf dem Display Solch ein Ablauf vermittelt eine typisch sequentielle Abarbeitung, doch kann eine aufgeteilte Ausführung, bei der einzelne Programmabschnitte nebenläufig abgearbeitet werden, einen gezielten Performancezuwachs bewirken. Bei einer sequentiellen Ausführung würden Wartezeiten für den Prozessor entstehen, die durch folgende Nebenläufigkeit minimiert werden kann. [vgl. JAVA] Aufbau des Fensters, Zugriff auf die Netzwerkschnittstellen mit Datenbankzugriff und das Öffnen der Ausgabedatei kann nebenläufig geschehen Parallele Ausführung auch beim Auslesen von Datensätzen und der Analyse älterer Datensätze Speicherung von älteren Analysewerten während der Analysephase neuübertragener Werte Seite 11 / 23

12 4. Varianten von Nebenläufigkeit auf mobilen Plattformen Im Entwicklungsprozess von Nebenläufigkeit sind auf Desktopsystemen mehrere Varianten über die letzten Jahre entstanden und auf mobilen Plattformen sowie Desktopsystemen hat sich überwiegend eine Version durchgesetzt. Zuerst werden die entstandenen drei Varianten von Multitasking vorgestellt und anschließend die auf mobilen Betriebssystemen übertragenen und eingesetzten Versionen beschrieben und des Weiteren mit einander verglichen Ablauf des Multitasking Prozesse besitzen einen zugewiesenen, unterteilten Adressraum mit Speicherseiten von Programmcode, Stapelspeicher und dynamischen Speicher. Grundlegende Voraussetzung ist, dass sich abwechselnde Prozesse bedingt durch Speicherschutzmechanismen keine Informationen über den jeweiligen anderen Prozess, den sie unterbrechen wollen, enthalten. Vor einer Unterbrechung werden alle Gesamtinformationen im Kontext des Prozesses gesammelt und diese Strukturierung dient als Umgebung für die Prozessverwaltung. Dabei bündelt der Prozesskontext drei Arten von Informationen: Benutzer-Kontext Hardware-Kontext System-Kontext Beschreibung der zugehörigen Daten eines Prozesses im verwendeten Adressraum Angaben der CPU-Register während eines aktiven Prozesses sowie die zum Wechsel von Prozessen benötigte Seitentabelle 7 Speicherung von Prozessangaben aus Betriebssystemsicht, beispielweise die Prozessnummer oder geöffnete Dateien, Angaben über Eltern- und Kindprozesse und Angaben über die Prioritätszuweisung Vor einer Reaktivierung des Prozesses werden alle Informationen zum Prozess vom Betriebssystem aus dem Stapelspeicher (engl. Stack) zurückgeladen, so dass der Prozess keinen Unterschied durch die entstandene Unterbrechung merkt und nach einem erfolgreichen Wechsel durch Zuweisung von Prozessorrechenzeit werden die belegten Speicherbereiche gelöscht und freigegeben. Diese De- und Reaktivierung von Prozessen wird als Taskwechsel bezeichnet. Entstanden ist Multitasking aus der Multiprogrammierung 8 und einer Weiterentwicklung des TSR- Konzeptes (Terminate and Stay Resident) zur höheren Auslastung des Prozessors. Diese Konzeption erlaubt bestimmten Aufgaben, etwa Treibern, Systemdiensten oder der Uhr, permanent und im Hintergrund als Prozess zu laufen. 7 Die Seitentabelle dient als Teil von Prozessen zur Zuweisung und Verwaltung einzelner Prozesse im Adressraum 8 Multiprogrammierung ist eine Technik für höhere CPU-Auslastung im Gegensatz zur sequenziellen Ausführung Seite 12 / 23

13 Hintergrundprozesse sind bei einem Betriebssystem solche Prozesse, die asynchron zur Benutzerschnittstelle agieren und nicht direkt auf Benutzereingaben reagieren, sondern über Hilfsprozesse wie beispielsweise Anwendungsprogramme mit einer Variante von Benutzerschnittstelle (Grafisch, Sprachbasiert, Zeichenorientiert) kommunizieren Kooperatives Multitasking Das kooperative Multitasking basiert gleichermaßen wie TSR-Programme auf dem Konzept der Prozessunterbrechung durch synchrone Interrupts 9 und es wird eine Prozessverwaltung mit Abgabe von Rechenzeit zentral durch den Systemkernel realisiert. Jedoch ist jedem Prozess frei überlassen, wann der Prozessorzugriff beendet und wieder an den Kernel zurückgegeben wird. Es ergeben sich aus diesem Mechanismus gewisse Nachteile, denn eine prioritätsbedingte Zuweisung von Prozessen ist systembedingt ausgeschlossen und darüber hinaus besteht die Gefahr, dass bei Abbruch von Programmen das gesamte System abstürzen kann. Als Vorteil bei dieser Variante ist zu nennen, das Systemfunktionen wie beispielsweise Ein-Ausgaben nicht eintrittsinvariant 10 seien müssen und somit keine Synchronisation erforderlich ist. Für Entwickler bedeutet dies weniger Aufwand beim Einsatz dieser Variante Präemptives Multitasking Die am meisten umgesetzte Technik für Multitasking ist die präemptive Variante, bei der vom Betriebssystemkern die gesamte Prozessverwaltung und Prozessorzuteilung nach einem definierten Zeitplan gesteuert wird. Prozesse werden somit für eine vereinbarte Zeitspanne, häufig unter Verwendung einer Vorrangswarteschlange (Prioritätenliste) und Scheduling-Strategie Round-Robin (Rundlauf-Verfahren unter Einsatz von Zeitschlitzen), aktiviert oder in den Ruhezustand versetzt. Diese Prozessorzuteilung wird auch Zeitscheiben- oder Zeitschlitz-Verfahren (time-slicing) genannt. Wichtig zur Umsetzung von präemptiven Multitasking ist ein Taktgeber, welcher regelmäßig Signale (Interrupts) an den Prozessor übermittelt und den Scheduler dazu anstößt, dauerhaft den Aktivierungs- und Deaktivierungszyklus von Prozessen zu gewährleisten Präemptibles Multitasking Der vollständigkeitshalber sei auch diese Variante des Multitasking zu nennen, bei der es sich um eine Sonderform des präemptiven Multitasking handelt und bei der es eine spezielle Variante der prioritätsbedingten Verwaltung von Anwendungen gibt. Höher priorisierten Anwendungen ist es erlaubt weniger wichtigen Programmen die Prozessorzuteilung zu unterbrechen und dadurch ein 9 Als Interrupt wird eine kurzeitige Unterbrechung eines Programmes nach einer Unterbrechungsanforderung (Interrupt Request oder IRQ) mit Abarbeitung einer Unterbrechungsroutine (Interrupt Service Routine, ISR) bezeichnet. 10 Eintrittsinvariant oder wiedereintrittsfähig bezeichnet Routinen, welche gleichzeitig von mehreren Prozessen ausgeführt werden können und bei denen eine Synchronisation erforderlich ist Seite 13 / 23

14 schnelleres Umschalten zwischen den Anwendungen zu ermöglichen. Eingesetzt wurde es erstmals im Betriebssystem OS/2 und seit Version 2.6 ebenfalls im Linux-Kernel. [WIMUL] 4.2. Einsatz auf mobilen Plattformen In den folgenden Unterpunkten erfolgt eine Darstellung und Übersicht über den Plattformkernel und eine Realisierung von Multitasking. Des Weiteren eine Aufschlüsselung wie im Kernel und aus Anwendungen heraus auf Multitasking zugegriffen werden kann, sofern es von der Plattform unterstützt oder zugelassen wird Symbian OS Die Symbian Plattform bietet eine vielfältige Möglichkeit parallele Abläufe in Anwendungen einzusetzen. Neben der weitverbreiteten multitasking Variante, dem präemptiven Multitasking, wird zusätzlich eine spezielle Version des kooperativen Multitasking eingesetzt. Hierbei handelt es sich um das Konzept von Active Objects, welches in Abhängigkeit zur Entwicklungssprache, für Nebenläufigkeit verwendet werden kann. Überdies erfolgt durch die Symbian OS Plattform eine prioritätsbasierte Zuteilung von Prozessen und Threads. Symbian Architektur EKA2 (EPOC Kernel Architecture 2) Die Architektur der Symbian Plattform erlaubt nur dem Kernel, der in einen Nano-Kernel und Micro- Kernel (EKERN) aufgeteilt ist, direkten Zugriff anhand von speziellen Privilegien auf die Hardwareressourcen wie Prozessor (CPU) und Speicherverwaltungseinheit (MMU) zu erhalten. Über diese Verbindungsschicht der Kernel-APIs können andere Programme, die mit User-Mode programs bezeichnet werden, Anfragen und Aufrufe an die Systemressourcen der Symbian- Plattform einleiten. Unterschieden wird also nach nicht-privilegiertem Modus (user-side) und einer privilegierten Seite (kernel-side oder supervisor). [vgl. SYM02] Abbildung 4-1: Symbian OS Architektur [SYM03] Seite 14 / 23

15 Eingesetzte Symbian OS Komponenten in Benutzerapplikationen werden keinesfalls direkt und statisch auf die Kernel APIs gelinkt, sondern es dient ihnen eine Benutzer-Bibliothek (EUSER) als Interface und Bindeglied für die Kommunikation mit der Hardware. Die EUSER-Bibliothek enthält drei Varianten von Aufrufen gegen den Kernel: fast executive calls slow executive calls Utility classes, methods, functions Ausführung von Systemaufrufen ohne Interrupts Ausführung von Systemaufrufen mit Interrupt Anderweitige Aufrufe gegen den Kernel Executive Calls sind Aufrufe der Benutzer-Bibliothek, welche den Benutzer-Threads in kontrolliertem und vorher definierten Rahmen erlaubt, in den Prozessor-privilegierten Modus zu gelangen, um dort Zugriff auf Systemressourcen etwa für Multitasking zu erhalten. Der Unterschied der Varianten fast und slow bedeutet, dass Threads, die einen Systemaufruf mit Interrupts aufgerufen haben, während der Prozessorzuteilung auf eine sichere Weise unterbrochen werden können und im Gegensatz keine Unterbrechung möglich ist. [vgl. SYM01] Active Object Framework In vielen Fällen wird bei der Anwendung von Nebenläufigkeit auf der Symbian Plattform die kooperative Multitasking Technik aktiven Objekte (engl. active objects) im Gegensatz zum präemptiven Multitasking mit Threads verwendet, weil es optimiert für den Einsatz von ereignisgesteuerter (engl. event-driven) Nebenläufigkeit ist. Es können mehrere aktive Objekte in einem Thread durch das Framework verwaltet werden. Asynchrone Abläufe bewirken, im Gegensatz zu synchronen Abläufen, dass eine Trennung zwischen Funktionsaufruf und Funktionsausführung vorhanden ist. Nach Aufruf einer asynchronen Funktion wird die Kontrolle an den Aufrufenden unmittelbar zurückübergeben und der aufgerufene, von einem Service Provider angebotene, Service wird zu einem späteren Zeitpunkt ausgeführt. Des Weiteren erfolgt eine Übermittlung eines Signals an den Aufrufenden über die vollständige Bearbeitung. Diese Signale werden als Ereignisse interpretiert und definieren ereignisgesteuertes Nebenläufigkeit. Zwischen dem Aufruf und der Ausführung können anderweitige Aufgaben im Thread bearbeitet werden, nicht aber von anderen aktiven Objekten. Verwaltet werden die Ereignisse eines aktiven Objektes durch seinen Ereignishändler (engl. event handler), welcher auf eingehende Ereignisse unverzüglich reagiert und Anfragen an den asynchronen Service weiterleitet. Treffen mehrere Ereignisse gleichzeitig ein, werden sie nach ihrer Priorität abgearbeitet, wobei benutzergesteuerte Ereignisse eine hohe Priorität für eine optimale Bedienung des mobilen Geräts erhalten. Der Active Scheduler weist den jeweiligen aktiven Objekten die assoziierten Ereignisse zu und sorgt für eine zeitnahe Bearbeitung. Während der Ausführung eines Threads kann immer nur ein aktives Objekt präsent sein. Einmal aufgerufen, muss der Ereignishändler die Vollständigkeit der Bearbeitung signalisieren bevor andere aktive Objekte ausgeführt werden können. Dieser Prozess kann nicht unterbrochen werden. Seite 15 / 23

16 Werden zeitkritische Anwendungen wie etwa bei Videobearbeitung - benötigt, sind aktive Objekte nicht die passende Wahl für eine Realisierung. Hierbei sollte auf die präemptive Technik von Symbian C++ Threads zurückgegriffen werden. [vgl. SYMAO] Aktive Objekte werden beispielsweise beim Verlauf eines aktiven Telefongesprächs für eine Abfrage des Anrufstatus (z.b. am Klingeln, Aktiv, Geparkt oder Beendet) verwendet Windows Mobile / Windows Phone Die Windows Plattform liefert, vergleichbar wie Symbian, Techniken für präemptive Nebenläufigkeit und eine prioritätsbasierte und echtzeitfähige Umgebung. Die Realisierung dieser Techniken durch die Plattform und den Kernel sind vergleichbar wie unter Symbian. Windows CE Kernel Übersicht Der Kernel des Windows CE Betriebssystems wird durch das Modul Nk.exe repräsentiert und stellt die Basisfunktionalitäten wie Speichermanagement, Powermanagement oder Verwaltung von Prozessen und Threads zu Verfügung. Funktionsaufrufe von Anwenderapplikationen werden über die Coredll.dll an den Kernel weitergeleitet und es ist zu erkennen, dass diese Schnittstelle vergleichbar wie die Benutzer-Bibliothek (EUSER) auf der Symbian-Plattform als Bindeglied zwischen Applikation und Kernel fungiert. Die einzelnen Prinzipien für eine Realisierung von präemptiven Multitasking wie etwa einer Interrupt-gesteuerten Ereigniskommunikation zwischen Kernel und Hardware ist ebenfalls gegeben. Abbildung 4-2: Windows CE Kernel [WIN65] Seite 16 / 23

17 Multitasking auf den mobilen Varianten von Windows ist gleichermaßen umgesetzt, wie bei den Desktopbetriebssystemen. Gestartete Prozesse folgen einem Prozessmodell mit den Zuständen: Prozessmodell Wartend Laufend Unterbrochen Prozess befindet sich im Wartezustand für eine Zuteilung des Prozessors Aktiver Prozess mit aktueller Zuteilung eines Prozessors Prozess ist durch einen zweiten Prozess unterbrochen worden Bei der Zuweisung von Prioritätslevel für Threads erhält man unter Windows CE 256 Prioritätslevel, als Vergleich unter Symbian sind es gerade 64 Level. Aber für Anwenderapplikationen sind nur die niedrigsten Prioritäten von 248 bis 255 vorgesehen. Alle anderen Level dienen für systembedingte Real-Time Anwendungen, Treiber oder Systemprozesse. [WINPRI] Windows Mobile zu Windows Phone Bei den zugrundeliegenden Windows CE Versionen variieren die beiden Varianten zwischen Version CE 5 und CE6 R3. In Bezug auf Nebenläufigkeit gibt es eine große Erweiterung, denn konnten bei Windows Mobile nur 32 Prozesse mit jeweils 32 MB (insgesamt 1GB Adressraum für den Nutzer von insgesamt maximal vom System verwertbaren 4GB) verwaltet werden, stieg die Anzahl bei CE6 auf theoretische und jeder Prozess erhält die Möglichkeit den gesamten virtuellen Adressraum von 1GB in der aktiven Zeit exklusiv zu verwenden. In der Folge werden Anwendungen mit wesentlich beschleunigter Darstellung und Performance - natürlich in Abhängigkeit zur verbauten Hardware wie etwa dem Prozessor und Speichergröße - ausgeführt. [WINP7] Android Präemptives Multitasking wird auf der Android-Plattform gleichermaßen eingesetzt, jedoch gibt es bei der Ausführung gewisse Unterschiede in Bezug auf die Ressourcenzuteilung während der Ausführung von Prozessen. Erhalten Prozesse bei den anderen Plattformen Symbian und Windows Mobile (nicht Windows Phone) eine vorgeschriebene Größe an Speicherbereichen zur Verwaltung, gibt es auf der Android-Plattform keine explizite Zuweisung. Prozesse können somit bei aktiver Laufzeit über den gesamten freien Speicher agieren. Android Architektur Der Kern von Android basiert auf einem Linux Kernel 2.6 und durch diesen werden die Basisdienste bereitgestellt und weiter fungiert er, wie bei den anderen Plattformen, als Abstraktionsschicht zwischen Hardware und Software. Jede Applikation unter Android läuft in einem eigenen Linux- Prozess und zusätzlich in einer eigenen Instanz der virtuellen Maschine Dalvik. Gewährleistet wird durch diese Trennung der VMs, dass einzelne Programme keinen oder nur gewollten Zugriff auf den Adressraum eines anderen Programmes bekommen (Speicherschutzmechanismus). [vgl. AND] Seite 17 / 23

18 Abbildung 4-3: Android Architektur [AND] Standardmäßig können aber Prozesse oder eher Prozessteile (beispielsweise die grafische Benutzeroberfläche), die im Hintergrund laufen und nicht aktiv sind, von andere Prozessen beendet werden, um diese belegten Ressourcen selber einzusetzen. Bei Reaktivierung des im hintergrundlaufenden Prozesses erfolgt eine erneute Zuweisung von Adressraum und für den Anwender zeigen sich keine Verzögerungen bei der Ausführung des Programms. Dies gilt als ein sehr intelligenter und effizienter Ansatz zielgerichtet für die knapp an Hardwareressourcen bemessenen mobilen Geräte. Komponentenmodell [vgl. AND] Für die Realisierung dieses Konzeptes sind Applikationen unter Android in mehrere Komponenten unterteilt. Dadurch wird ein hoher Grad an Widerverwendbarkeit realisiert und es bildet ein zentrales Feature in Android, weil einzelne Programmelemente (sofern es freigegeben wurde) von anderen Programmen ausgeführt werden können. Beispielsweise könnte sich ein Benutzer in einer Anwendung eine Liste von Bildern anzeigen lassen. Auf Grund der Menge an Bildern wäre zum Navigieren eine individuelle, optimierte Scroll-Funktion sehr hilfreich. Um diese Funktion nicht selber zu implementieren, könnte man, dank des Komponentenmodells von Android, auf eine andere Anwendung mit dieser speziellen Funktion zurückgreifen. Beim Zugriff würde das System die Ausführung der geborgten Funktion in einem eigenen Prozess ausführen und nach Beendigung die Ressourcen wieder freigeben. Seite 18 / 23

19 Komponentenmodell Activities Services Broadcast receivers Content providers Repräsentieren visuelle Komponenten der grafischen Benutzeroberfläche, wie Listen, Tabellen oder Layouts von Steuerelementen Funktionseinheit eines Programms und mit Ablauf im Hintergrund für eine undefinierte Zeit, z.b. Service für das Abspielen von Hintergrundmusik, oder den Empfang von Daten über das Netzwerk Empfangskomponente von Systemmitteilungen, z.b. Batteriezustandsmitteilungen, Zeitzonenänderung, Bildaufnahme, oder um anderen Applikationen mitzuteilen, dass neue Daten heruntergeladen wurden und diese zur Verfügung stehen Spezifisches Set an Applikationsdaten im Dateisystem, SQLite Datenbank oder ähnliches Alle Komponenten laufen standardmäßig im Haupt-Thread des Applikationsprozesses, jedoch werden einzelne Elemente für einen reibungslosen Ablauf in eigene Threads ausgelagert. Die Kontrolle über die Freigabe solcher Komponenten wird in einer Manifest-Datei verwaltet und gleichermaßen wird an dieser Stelle die Zugehörigkeit von Komponentenausführung und Prozess festgehalten. Jede Komponente besitzt ein Prozessattribut mit welchem mehrere Komponenten bei gleichzeitiger Teilung des Speicherbereiches in einem Prozess laufen können. Somit können auch verschiedene Programmteile aus unterschiedlichen Programmen gleichzeitig im selben Prozess und Adressraum agieren. Lebenszyklen von Prozessen [vgl. AND] Im Gegensatz zu den anderen Plattformen (Symbian und Windows Mobile) bietet Android bei Knappheit an Systemressourcen Techniken für die Beendigung von Programmteilen und die Freigabe belegter Ressourcen. Anwendungsprozesse und -komponenten bleiben so lange wie möglich erhalten, jedoch bei Speicherknappheit erfolgt in Abhängigkeit einer Wichtigkeitshierarchie der enthaltenen Komponenten eine Bereinigungsroutine. Bewertet werden Prozesse in 5 Stufen. (1) Vordergrundprozesse Ist jener mit der aktuellen sichtbaren Oberfläche an dem der Benutzer arbeitet (2) Sichtbare Prozesse Beinhaltet keine Vordergrundkomponenten, können aber die sichtbaren Elemente beeinflussen (3) Service Prozesse Gestartete Dienste, die die Oberfläche nicht beeinflussen, aber Funktionen im Hintergrund (4) Hintergrund Prozesse Geparkte Komponenten, die jederzeit beendet werden können (5) Leere Prozesse Enthält keine Komponenten, kann aber die Startzeit von Komponenten erhöhen Für die Bewertung der Stadien einzelner Komponenten, ob sie beispielsweise aktiv, in Pause oder gestoppt sind, gibt es für jede Komponente und deren Status Ablaufpläne, die die Zuteilung regeln. Seite 19 / 23

20 iphone OS / ios 4 Eine Einschränkung beim Einsatz von Nebenläufigkeit erlaubt es ausschließlich Systemdiensten und - Services bis Version iphone OS 3.0 das Anwendungen parallel ausgeführt werden. Selbstentwickelte Applikation haben keinen Zugriff auf parallele Ausführung von Prozessen, erst ab Version ios 4.0 gibt es eine beschnittene Variante, bei welcher sieben Multitasking Services (beispielsweise Hintergrundmusik, Hintergrundnavigation oder Empfang/Senden von Benachrichtigungen) für den Einsatz bei Anwendungen von Drittanbietern freigegeben sind. Der Grund für die weiterhin nicht unbegrenzte Verwendung von Nebenläufigkeit ist die Vorbeugung von unnötigem Energieverbrauch und Behinderung der Performance. Trotzdem ist immer noch nur ein sehr begrenzter Einsatz möglich. iphone OS Schichtenmodell [vgl. IPH] Der Betriebssystemkern (Core OS) stellt die Mittel für Nebenläufigkeit für die Systemservices zur Verfügung. Abgeleitet ist der Kernel, wie bei der Desktopvariante Mac OS X, vom Microkernel Mach 3.0 und fungiert als Basis für Ressourcenverwaltung des Prozessors und des Speichers, für das Scheduling von Prozessen (unter Mach eher Task bezeichnet) und Threads oder für die Verwaltung von Speicherschutzmechanismen. Grundsätzlich können aber aktive selbstentwickelte Programme bei der Ausführung in ihrem Prozess über die Schnittstelle der Kerndienste (Core Services) und der Bibliothek LibSystem parallele Stränge durch Threading erzeugen. Unter Mach erfolgt die Abstraktion von Komponenten wie Task, Threads oder der Zuweisung von Adressraum für Parallelisierung wie bei anderen Betriebssystem auch. Weiterhin bietet Mach ein flexibles Framework zum Regeln von Thread-Scheduling mit prioritätsbasierter Zuweisung. Abbildung 4-4: iphone OS Schichtenmodell [IPH] Threads werden beim Scheduling mit vier Prioritäten charakterisiert: Thread Prioritäten Normal System high priority Kernel mode only Real-time threads Priorisieren von normale Anwenderapplikationen Threads mit angehobener Priorität Reserviert für vom Kernel erstellte Threads Threads für Echtzeiteinsatz, beispielsweise für einer Audioplayer- Applikation Seite 20 / 23

Sicherheit in Android

Sicherheit in Android Motivation Aufbau Sicherheit Ausblick Quellen Sicherheit in Android Peter Salchow INF-M2 - Anwendungen 1 Sommersemester 2008 Department Informatik HAW Hamburg 20. Mai 2008 Peter Salchow Sicherheit in Android

Mehr

1. Software-Plattform Android Android. Was ist Android? Bibliotheken, Laufzeitumgebung, Application Framework

1. Software-Plattform Android Android. Was ist Android? Bibliotheken, Laufzeitumgebung, Application Framework 1. Software-Plattform Android Android Was ist Android? Plattform und Betriebssystem für mobile Geräte (Smartphones, Mobiltelefone, Netbooks), Open-Source Linux-Kernel 2.6 Managed Code, Angepasste Java

Mehr

1. Software-Plattform Android Android. Was ist Android? Managed Code, Angepasste Java Virtual Machine

1. Software-Plattform Android Android. Was ist Android? Managed Code, Angepasste Java Virtual Machine 1. Software-Plattform Android Android Was ist Android? Plattform und Betriebssystem für mobile Geräte (Smartphones, Mobiltelefone, Netbooks), Open-Source Linux-Kernel ab 2.6, aktuell 3.8 Managed Code,

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

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

Einführung in Betriebssysteme

Einführung in Betriebssysteme Einführung in Betriebssysteme APPLE ios Entwicklung von ios Entwickelt auf der Basis von MacOS X UNIX Vorgestellt am 9.1.2007 Zusammen mit iphone Markenname von Cisco Internetwork Operating System Für

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

Geschäftsbereich Mobile Services Was ist Android?

Geschäftsbereich Mobile Services Was ist Android? Geschäftsbereich Mobile Services Was ist Android? Hinter Hoben 149 53129 Bonn www.visionera.de Ansprechpartner: Arno Becker arno.becker@visionera.de +49 228 555 1111 +49 160 98965856 Einleitung Android

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

Smartphone - Betriebssysteme. Smartphone - Betriebssysteme

Smartphone - Betriebssysteme. Smartphone - Betriebssysteme Smartphone - Betriebssysteme Peter Rami - Graz, 28.04.2009 Inhalt Smartphone Symbian OS Windows Mobile BlackBerry OS iphone OS Android Marktanteile & Ausblick Smartphone - Betriebssysteme Peter Rami -

Mehr

RTEMS- Echtzeitbetriebssystem

RTEMS- Echtzeitbetriebssystem RTEMS- Echtzeitbetriebssystem Name: Hussein Hammoud Matrikel- Nr.: 230768 Studiengang: Technische Informatik Fach: Projekt Eingebettete Kommunikation Technische Universität Berlin Sommersemester 2006 RTEMS-

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

Mobile Application Development

Mobile Application Development Mobile Application Development Android: Einführung Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Lernziele Der/die Kursbesucher/in kann

Mehr

App-Entwicklung für Android

App-Entwicklung für Android App-Entwicklung für Android Einleitung - Systemarchitektur Hochschule Darmstadt WS15/16 1 Inhalt Historie Systemarchitektur Sandbox 2 Motivation Kontra Pro Limitierte Größe Begrenzte Ressourcen Kein Standardgerät

Mehr

ANDROID. Analyse der Android Plattform. Andre Rein, Johannes Florian Tietje. 28. Oktober 2010. FH-Gieÿen-Friedberg Android Praktikum

ANDROID. Analyse der Android Plattform. Andre Rein, Johannes Florian Tietje. 28. Oktober 2010. FH-Gieÿen-Friedberg Android Praktikum Analyse der Android Plattform Andre Rein, Johannes Florian Tietje FH-Gieÿen-Friedberg Android Praktikum 28. Oktober 2010 Topics 1 Übersicht Android Plattform Application Framework Activities und Services

Mehr

NEXT GENERATION MOBILE PHONE PLATFORMS

NEXT GENERATION MOBILE PHONE PLATFORMS Stephan Zeisberg NEXT GENERATION MOBILE PHONE PLATFORMS Ein Einblick in die Systemarchitekturen aktueller Smartphones 1 Motivation Technologischer Stillstand in der Entwicklung mobiler Betriebssysteme

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

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

Betriebssystem? Übersicht. Ziele. Grundlagen. Das ist nur die Oberfläche... Wissen, was man unter einem Betriebssystem versteht

Betriebssystem? Übersicht. Ziele. Grundlagen. Das ist nur die Oberfläche... Wissen, was man unter einem Betriebssystem versteht Betriebssysteme Grundlagen Quellen: InSy Folien zum Thema Unix/Linux Wikipedia Das ist nur die Oberfläche... 1 Ziele 2 Übersicht Wissen, was man unter einem Betriebssystem versteht Was Was ist istein einbetriebssystem?

Mehr

Ein mobiler Electronic Program Guide für Android

Ein mobiler Electronic Program Guide für Android Whitepaper Telekommunikation Ein mobiler Electronic Program Guide für Android Prototyp für Android Apps 2011 SYRACOM AG 1 Einleitung Apps Anwendungen für mobile Geräte sind derzeit in aller Munde. Durch

Mehr

Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme Maren Bennewitz 1 Überblick Betriebssysteme Aufgabe von Betriebssystemen Historische Entwicklung von Betriebssystemen Unterschiedliche Arten

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

Mobile App Development. - Einführung -

Mobile App Development. - Einführung - Mobile App Development - Einführung - Inhalt Organisatorisches Vorlesungsinhalt Mobile Geräte Android Architektur App Aufbau Praktikum Organisatorisches 4 SWS, 5 ECTS 2 Vorlesung / 2 Praktikum ca. 10 Wochen

Mehr

Unterschiede in den Konzepten von TinyOS und Embedded Linux

Unterschiede in den Konzepten von TinyOS und Embedded Linux Fakultät Informatik Institut für Angewandte Informatik, Professur Technische Informationssysteme Unterschiede in den Konzepten von TinyOS und Embedded Linux Dresden, 29.11.2010 Inhalt 1. Einführung 1.1

Mehr

Datenhaltung für Android. Model First

Datenhaltung für Android. Model First Datenhaltung für Android Model First Frederik Götz, Johannes Tysiak 26.05.2011 Unser Ziel! 26.05.2011 Datenhaltung in Android - Model First» Frederik Götz, Johannes Tysiak 2 Agenda Android Quickstart Datenhaltung

Mehr

Virtualisierung ein Überblick

Virtualisierung ein Überblick Virtualisierung ein Überblick Frank Hofmann Potsdam 18. April 2007 Frank Hofmann (Potsdam) Virtualisierung ein Überblick 18. April 2007 1 / 33 Gedanken zum Thema Fragen, die sich jeder stellt Virtualisierung

Mehr

Fachreferat. EFI -BIOS Nachfolger-

Fachreferat. EFI -BIOS Nachfolger- Fachreferat EFI -BIOS Nachfolger- Kurzerläuterung Übersicht EFI - Geschichte Aufbau und Vorteile Grafische Veranschaulichung Was passiert beim direkten einschalten eines Computers? Wie kommt die Intelligenz

Mehr

Google's Betriebssystem für mobile Plattformen. Vortrag von Michaela Rindt Universität Siegen

Google's Betriebssystem für mobile Plattformen. Vortrag von Michaela Rindt Universität Siegen Google's Betriebssystem für mobile Plattformen Vortrag von Michaela Rindt Universität Siegen Übersicht Einleitung Softwarearchitektur Softwareentwicklung für Android Unterschied zu anderen mobilen Plattformen

Mehr

Inhaltsverzeichnis. 2.4 Thread-Systeme. 2.1 Was ist ein Prozess? 2.2 Scheduling. 2.3 Interprozesskommunikation

Inhaltsverzeichnis. 2.4 Thread-Systeme. 2.1 Was ist ein Prozess? 2.2 Scheduling. 2.3 Interprozesskommunikation Inhaltsverzeichnis Systemprogrammierung - Kapitel 2 Prozessverwaltung 1/21 2.1 Was ist ein Prozess? Definition Prozesszustände Prozesskontrollblöcke 2.4 Thread-Systeme Sinn und Zweck Thread-Arten Thread-Management

Mehr

Audiokommunikation im Computer. Andreas Jäger

Audiokommunikation im Computer. Andreas Jäger Audiokommunikation im Computer Wie kommunizieren die Teile einer DAW miteinander? Host Hardware Host Was gibt es in der Praxis zu beachten? Wo liegen Gefahren? Konkreter: Warum ist ASIO besser als MME?

Mehr

Präsentation Von Laura Baake und Janina Schwemer

Präsentation Von Laura Baake und Janina Schwemer Präsentation Von Laura Baake und Janina Schwemer Gliederung Einleitung Verschiedene Betriebssysteme Was ist ein Framework? App-Entwicklung App-Arten Möglichkeiten und Einschränkungen der App-Entwicklung

Mehr

SmartExporter 2013 R1

SmartExporter 2013 R1 Die aktuelle Version wartet mit zahlreichen neuen Features und umfangreichen Erweiterungen auf. So können mit SmartExporter 2013 R1 nun auch archivierte Daten extrahiert und das Herunterladen der Daten

Mehr

Kapitel 2. Betriebssysteme

Kapitel 2. Betriebssysteme Systeme 1 Kapitel 2 Betriebssysteme WS 2009/10 1 Übersicht Aufgabe von Betriebssystemen Historische Entwicklung von Betriebssystemen Unterschiedliche Arten von Betriebssystemen Komponenten und Konzepte

Mehr

LaVida. Mobile Endgeräte. Andreas Neupert

LaVida. Mobile Endgeräte. Andreas Neupert LaVida Mobile Endgeräte Andreas Neupert Einleitung 1 33 Was? 1) Android a. Hardware b. Entwickeln i. Tools ii. Architektur & Konzepte iii. Google App Inventor c. Benutzen versus 2) WP 7 a. Hardware b.

Mehr

Auf einen Blick. Elementare Anwendungsbausteine. Telefonfunktionen nutzen. Dateien und Datenbanken. Organizer und Multimedia

Auf einen Blick. Elementare Anwendungsbausteine. Telefonfunktionen nutzen. Dateien und Datenbanken. Organizer und Multimedia Auf einen Blick Auf einen Blick TEIL I Grundlagen 1 Android eine offene, mobile Plattform... 21 2 Hallo Android!... 43 3 Von der Idee zur Veröffentlichung... 73 TEIL II Elementare Anwendungsbausteine 4

Mehr

Virtualisierung im Echtzeitbereich. Andreas Hollmann FH Landshut EADS Military Air Systems

Virtualisierung im Echtzeitbereich. Andreas Hollmann FH Landshut EADS Military Air Systems Virtualisierung im Echtzeitbereich Andreas Hollmann FH Landshut EADS Military Air Systems 2 Überblick Hintergrund und Motivation Vorstellung von Lösungsansätzen Auswahl und Evaluierung Einschränkungen

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

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

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

Systeme 1. Kapitel 10. Virtualisierung

Systeme 1. Kapitel 10. Virtualisierung Systeme 1 Kapitel 10 Virtualisierung Virtualisierung Virtualisierung: Definition: Der Begriff Virtualisierung beschreibt eine Abstraktion von Computerhardware hin zu einer virtuellen Maschine. Tatsächlich

Mehr

Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) von einem Rechner abgearbeitet.

Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) von einem Rechner abgearbeitet. Prozessverwaltung Prozesse Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) von einem Rechner abgearbeitet. Prozesse sind Abfolgen von Aktionen, die unter Kontrolle

Mehr

Hardware- und Software-Anforderungen IBeeS.ERP

Hardware- und Software-Anforderungen IBeeS.ERP Hardware- und Software-Anforderungen IBeeS.ERP IBeeS GmbH Stand 08.2015 www.ibees.de Seite 1 von 8 Inhalt 1 Hardware-Anforderungen für eine IBeeS.ERP - Applikation... 3 1.1 Server... 3 1.1.1 Allgemeines

Mehr

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) 1 Einleitung... 2 2 Download und Installation... 3 2.1 Installation von WindowsXPMode_de-de.exe... 4 2.2 Installation von Windows6.1-KB958559-x64.msu...

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

Walkabout: Location Based Services mit Android und dem Google Phone

Walkabout: Location Based Services mit Android und dem Google Phone Walkabout: Location Based Services mit Android und dem Google Phone Teilbereich 1: Die Android Plattform für mobile Geräte (Software) Von: Sebastian Schul Inhalt Einleitung Was ist Android Exkurs: Wie

Mehr

C++ und mobile Plattformen

C++ und mobile Plattformen Dieser Artikel stammt aus dem Magazin von C++.de (http://magazin.c-plusplus.de) C++ und mobile Plattformen Mit diesem Artikel möchte ich euch einen kurzen Überblick über die verschiedenen Plattformen für

Mehr

Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS. geschrieben von Oliver Botschkowski

Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS. geschrieben von Oliver Botschkowski Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS geschrieben von Oliver Botschkowski 1 Offene Systeme und deren Schnittstelle für die Elektronik im Kraftfahrzeug 1 Oliver Botschkowski - OSEK-OS

Mehr

Begriff: Scheduling Planung, Schedule Plan. Verplanung der CPU-Zeit an die Threads (bzw. Prozesse)

Begriff: Scheduling Planung, Schedule Plan. Verplanung der CPU-Zeit an die Threads (bzw. Prozesse) 5 CPU-Scheduling Im folgenden wird von Threads gesprochen. Bei Systemen, die keine Threads unterstützen, ist der einzige "Thread" eines Prozesses gemeint. Früher wurde dieser Thread synonym mit dem Begriff

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 3 Betriebssystem Überwacher

Mehr

Einführung in Android. 9. Dezember 2014

Einführung in Android. 9. Dezember 2014 Einführung in Android 9. Dezember 2014 Was ist Android? Software für mobile Geräte: Betriebssystem Middleware Kernanwendungen Android SDK: Tools und APIs zur Entwicklung von Anwendungen auf der Android-Plattform

Mehr

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Proseminar Objektorientiertes Programmieren mit.net und C# Florian Schulz Institut für Informatik Software & Systems Engineering Einführung Was hat Cross-Plattform

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

Bin ich fit für myconvento?

Bin ich fit für myconvento? Bin ich fit für myconvento? Sie planen den Einsatz unserer innovativen Kommunikationslösung myconvento und fragen sich gerade, ob Ihr Rechner die Anforderungen erfüllt? Hier erfahren Sie mehr. Inhalt Was

Mehr

OSEKtime - Time-Triggered OSEK/OS

OSEKtime - Time-Triggered OSEK/OS OSEKtime - Time-Triggered OSEK/OS Gregor Kaleta gregor.kaleta@udo.edu PG Seminarwochenende 21.-23. Oktober 2007 1 Überblick Einleitung OSEKtime Task-Zustandsmodell, Scheduling-Verfahren Interrupt-Verarbeitung

Mehr

Military Air Systems

Military Air Systems Trennung von Applikationen unterschiedlicher Kritikalität in der Luftfahrt durch Software en am Beispiel des Real-time Operating Systems PikeOS Dr. Bert Feldmann DGLR Workshop Garching, 09.10.2007 Seite

Mehr

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel Aufgabe 1 (5 Punkte) (Multiple Choice) Beantworten Sie folgende Fragen durch Ankreuzen der richtigen Antwort. Für jede falsche Antwort wird ein Punkt abgezogen (es werden minimal 0 Punkte vergeben). Welche

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

Sowohl RTX64 als auch RTX bieten harten Echtzeitdeterminismus und symmetrische Multiprocessing- Fähigkeiten (SMP).

Sowohl RTX64 als auch RTX bieten harten Echtzeitdeterminismus und symmetrische Multiprocessing- Fähigkeiten (SMP). Produktbeschreibung Februar 2014 RTX RTOS-Plattform Mit der RTX-Echtzeitsoftware von IntervalZero wird aus Microsoft Windows ein Echtzeitbetriebssystem (RTOS). RTX64 von IntervalZero unterstützt 64-Bit-Betriebssysteme

Mehr

1. Java Grundbegriffe

1. Java Grundbegriffe 1. Java Grundbegriffe Geschichte von Java Programmieren mit Java Interpretieren vs. Kompilieren Java Byte-Code Jave Virtual Machine Arbeitsmaterialien Allgemeine Informatik 2 SS09 Folie 1.1 Java, eine

Mehr

Managed VPSv3 Was ist neu?

Managed VPSv3 Was ist neu? Managed VPSv3 Was ist neu? Copyright 2006 VERIO Europe Seite 1 1 EINFÜHRUNG 3 1.1 Inhalt 3 2 WAS IST NEU? 4 2.1 Speicherplatz 4 2.2 Betriebssystem 4 2.3 Dateisystem 4 2.4 Wichtige Services 5 2.5 Programme

Mehr

B.4. B.4 Betriebssysteme. 2002 Prof. Dr. Rainer Manthey Informatik II 1

B.4. B.4 Betriebssysteme. 2002 Prof. Dr. Rainer Manthey Informatik II 1 Betriebssysteme Betriebssysteme 2002 Prof. Dr. Rainer Manthey Informatik II 1 Bekannte Betriebssysteme Windows 2000 CMS UNIX MS-DOS OS/2 VM/SP BS 2000 MVS Windows NT Solaris Linux 2002 Prof. Dr. Rainer

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

Dämon-Prozesse ( deamon )

Dämon-Prozesse ( deamon ) Prozesse unter UNIX - Prozessarten Interaktive Prozesse Shell-Prozesse arbeiten mit stdin ( Tastatur ) und stdout ( Bildschirm ) Dämon-Prozesse ( deamon ) arbeiten im Hintergrund ohne stdin und stdout

Mehr

Echtzeitfähige Ereignisgetriebene Scheduling-Strategien

Echtzeitfähige Ereignisgetriebene Scheduling-Strategien Friedrich-Alexander-Universität Erlangen-Nürnberg Ausgewählte Kapitel eingebetteter Systeme Echtzeitfähige Ereignisgetriebene Scheduling-Strategien Sven Kerschbaum 1. Einführung Bei einem eingebetteten

Mehr

CRM KINDERLEICHT NEUERUNGEN IM RELEASE 8.4

CRM KINDERLEICHT NEUERUNGEN IM RELEASE 8.4 CRM KINDERLEICHT NEUERUNGEN IM RELEASE 8.4 STRATEGISCHE ZIELE Terminumfrage, Termine und Aufgaben in GEDYS IntraWare 8.web Unabhängig vom E Mail und Kalendersystem Termine auch für Kunden Ablösung der

Mehr

Slothful Linux: An Efficient Hybrid Real-Time System by Hardware-Based Task Dispatching. Rainer Müller

Slothful Linux: An Efficient Hybrid Real-Time System by Hardware-Based Task Dispatching. Rainer Müller Slothful Linux: An Efficient Hybrid Real-Time System by Hardware-Based Task Dispatching Rainer Müller 21. November 2013 Spezialisierung von Betriebssystemen Vielzweckbetriebssysteme (General Purpose OS,

Mehr

Learning Suite Talent Suite Compliance Suite. Systemvoraussetzungen

Learning Suite Talent Suite Compliance Suite. Systemvoraussetzungen Learning Suite Talent Suite Compliance Suite Systemvoraussetzungen Vorwort Dieses Dokument beschreibt, welche Anforderungen an die Installationsumgebung zu stellen sind, um die Plattform unter optimalen

Mehr

PowerBridge MSSQL Beta

PowerBridge MSSQL Beta SoftENGINE PowerBridge MSSQL Beta Dokumentation Thomas Jakob 17.04.2011 Inhalt Einrichtung der SQL Umgebung... 3 SQL-Server Installieren... 3 BüroWARE Installieren... 3 PowerBridge-SQL Modus einrichten...

Mehr

Herausforderungen für sichere mobile Architekturen. Alexander von Gernler

Herausforderungen für sichere mobile Architekturen. Alexander von Gernler <Alexander Gernler@genua.de> Herausforderungen für sichere mobile Architekturen Alexander von Gernler Innovation Forum Smart Mobile Apps Konferenzzentrum München, 07. Dezember 2011 GeNUA und der Referent

Mehr

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 7 Scheduling Maren Bennewitz Version 23.01.2013 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Inhaltsverzeichnis XII

Inhaltsverzeichnis XII 1 Einführung... 1 1.1 Computersysteme... 1 1.1.1 Einführung... 2 1.1.2 Aufgabe von Betriebssystemen... 3 1.1.3 Grundlegende Hardwaremodelle... 3 1.1.4 CPU-Registersatz... 7 1.1.5 Multicore-Prozessoren

Mehr

PARAGON SYSTEM UPGRADE UTILITIES

PARAGON SYSTEM UPGRADE UTILITIES PARAGON SYSTEM UPGRADE UTILITIES VIRTUALISIERUNG EINES SYSTEMS AUS ZUVOR ERSTELLTER SICHERUNG 1. Virtualisierung eines Systems aus zuvor erstellter Sicherung... 2 2. Sicherung in eine virtuelle Festplatte

Mehr

Vergleich der Plattformen und praktische Erfahrungen. Softwareentwicklung für Smartphones

Vergleich der Plattformen und praktische Erfahrungen. Softwareentwicklung für Smartphones Vergleich der Plattformen und praktische Erfahrungen Softwareentwicklung für Smartphones Die SIC! Software GmbH Experten Mobility Software B2B Umfassende Erfahrung seit 1996: Mobile Internet-Portal Clients

Mehr

Erste Erfahrungen mit Android

Erste Erfahrungen mit Android Java User Group München, 22. 9. 2008 Erste Erfahrungen mit Android 1 Was ist Android? Die erste vollständige, offene und freie Plattform für mobile Telefone Entwickelt von der Open Handset Alliance (Telecoms,

Mehr

Handbuch für ios 1.4 1

Handbuch für ios 1.4 1 Handbuch für ios 1.4 1 Inhaltsverzeichnis 1. Leistungsumfang... 3 1.1 Über Boxcryptor Classic... 3 1.2 Über dieses Handbuch... 4 2. Installation... 5 3. Grundfunktionen... 6 3.1. Einrichtung von Boxcryptor

Mehr

Embedded Linux. Embedded Linux. Daniel Buchheim daniel.buchheim@informatik.tu-cottbus.de. Seminar "Eingebettete drahtlose Systeme"

Embedded Linux. Embedded Linux. Daniel Buchheim daniel.buchheim@informatik.tu-cottbus.de. Seminar Eingebettete drahtlose Systeme Daniel Buchheim daniel.buchheim@informatik.tu-cottbus.de Embedded Linux 30.01.2009 Daniel Buchheim Inhalt: Was ist Embedded Linux? Hardwareunterstützung in Eingebetteten Systemen Open Source Aspekte Aufbau

Mehr

PC-Schule für Senioren. Windows Phone. für Einsteiger

PC-Schule für Senioren. Windows Phone. für Einsteiger PC-Schule für Senioren Windows Phone für Einsteiger INHALT 7 IHR WINDOWS PHONE 7 Aus grauer Vorzeit: Die Historie 8 Windows Phone und die Konkurrenz 11 Los geht s: Das Microsoft-Konto 15 Ein Gang um das

Mehr

Unterscheidung Tablet PC & Tablet Computer. Tablet PC; ursprüngliche Bezeichnung von Microsoft. Tablets gemeint

Unterscheidung Tablet PC & Tablet Computer. Tablet PC; ursprüngliche Bezeichnung von Microsoft. Tablets gemeint Überblick Unterscheidung Tablet PC & Tablet Computer Tablet PC; ursprüngliche Bezeichnung von Microsoft Mit Tablet Computer sind die heutigen gängigen Mit Tablet Computer sind die heutigen gängigen Tablets

Mehr

A Kompilieren des Kernels... 247. B Lineare Listen in Linux... 251. C Glossar... 257. Interessante WWW-Adressen... 277. Literaturverzeichnis...

A Kompilieren des Kernels... 247. B Lineare Listen in Linux... 251. C Glossar... 257. Interessante WWW-Adressen... 277. Literaturverzeichnis... 1 Einführung................................................ 1 1.1 Was ist ein Betriebssystem?............................... 1 1.1.1 Betriebssystemkern................................ 2 1.1.2 Systemmodule....................................

Mehr

Programmieren für iphone und ipad

Programmieren für iphone und ipad Markus Stäuble Programmieren für iphone und ipad Einstieg in die App-Entwicklung für das ios 4 3., aktualisierte und erweiterte Auflage dpunkt.verlag 1 Einleitung 1 1.1 Begriffe 2 1.2 Was behandelt dieses

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

Systeme 1. Kapitel 5. Scheduling

Systeme 1. Kapitel 5. Scheduling Systeme 1 Kapitel 5 Scheduling Scheduling Verteilung und Zuweisung von begrenzten Ressourcen an konkurrierende Prozesse Beispiel: -> Zeitablaufsteuerung Zwei Prozesse zur gleichen Zeit rechenbereit auf

Mehr

iphone developer conference Die Entwickler- und Buiness- Konferenz für iphone, ipad und ipod touch

iphone developer conference Die Entwickler- und Buiness- Konferenz für iphone, ipad und ipod touch iphone developer conference Die Entwickler- und Buiness- Konferenz für iphone, ipad und ipod touch ios - Wo steht es, wie geht es? Markus Stäuble MRM Worldwide GmbH 1 Feedback #ipdc10 #as 2 Agenda 3 Heute:

Mehr

Glossar. Launching auf.

Glossar. Launching auf. 243 Ad Hoc Distribution Die Ad Hoc Distribution ist eine Möglichkeit, um Ihre entwickelte Anwendung auf anderen Endgeräten zu verteilen. Diese Art der Verteilung erfolgt ohne den App Store. Die Anzahl

Mehr

Die Vision Landschaft und was sie mit Moore s Gesetz zu tun hat

Die Vision Landschaft und was sie mit Moore s Gesetz zu tun hat Die Vision Landschaft und was sie mit Moore s Gesetz zu tun hat Horst A. Mattfeldt Produkt Manager Matrix Vision GmbH V1.0 10/2010 MATRIX VISION GmbH 1 Inhalt/Content: Vom Vision Sensor über Atom Boxen

Mehr

6.Vorlesung Betriebssysteme Hochschule Mannheim

6.Vorlesung Betriebssysteme Hochschule Mannheim Christian Baun 6.Vorlesung Betriebssysteme Hochschule Mannheim SS2011 1/40 6.Vorlesung Betriebssysteme Hochschule Mannheim Christian Baun Karlsruher Institut für Technologie Steinbuch Centre for Computing

Mehr

^ Springer Vi eweg. Grundkurs Betriebssysteme. Synchronisation, Prozesskommunikation, Virtualisierung. Architekturen, Betriebsmittelverwaltung,

^ Springer Vi eweg. Grundkurs Betriebssysteme. Synchronisation, Prozesskommunikation, Virtualisierung. Architekturen, Betriebsmittelverwaltung, Peter Mandl Grundkurs Betriebssysteme Architekturen, Betriebsmittelverwaltung, Synchronisation, Prozesskommunikation, Virtualisierung 4. Auflage ^ Springer Vi eweg 1 Einführung 1 1.1 Computersysteme 1

Mehr

In-Memory Analytics. Marcel Poltermann. Fachhochschule Erfurt. Informationsmanagement

In-Memory Analytics. Marcel Poltermann. Fachhochschule Erfurt. Informationsmanagement Marcel Poltermann Fachhochschule Erfurt Informationsmanagement Inhaltsverzeichnis Glossar...III Abbildungsverzeichnis...III 1 Erläuterung:... 2 2 Technische Grundlagen... 2 2.1 Zugriff physische Datenträger:...

Mehr

Mobile: Die Königsfrage

Mobile: Die Königsfrage Mobile: Die Königsfrage - Native App,Mobile Website oder doch Responsive Design? - Native App oder Mobile Website? Wer am Boom der mobilen Anwendungen teilhaben möchte, hat im Prinzip zwei Möglichkeiten:

Mehr

3.9 Grundelemente einer Benutzeroberfläche

3.9 Grundelemente einer Benutzeroberfläche 92 3 Grundlagen einer ios-anwendung 3.8.4 Target-Actions Einer der häufigsten Anwendungsfälle bei einer Oberfläche ist das Betätigen einer Schaltfläche durch einen Anwender, woraufhin eine bestimmte Aktion

Mehr

Hyper-V Grundlagen der Virtualisierung

Hyper-V Grundlagen der Virtualisierung Grundlagen der Virtualisierung Was ist Virtualisierung? Eine Software-Technik, die mehrere Betriebssysteme gleichzeitig auf dem Rechner unabhängig voneinander betreibt. Eine Software-Technik, die Software

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

Agenda. Clients aus drei verschiedenen Perspektiven: Was ist ein Dialog? Komponentenarchitektur innerhalb eines Dialoges

Agenda. Clients aus drei verschiedenen Perspektiven: Was ist ein Dialog? Komponentenarchitektur innerhalb eines Dialoges Komponentenbasierte Client-Architektur Hamburg, 16.11.2007 Bernd Olleck IT-Beratung Olleck Agenda Clients aus drei verschiedenen Perspektiven: Technische Infrastruktur Fachliche Sicht Aufgaben eines Clients

Mehr

CRM KINDERLEICHT NEUERUNGEN IM RELEASE 8.4

CRM KINDERLEICHT NEUERUNGEN IM RELEASE 8.4 CRM KINDERLEICHT NEUERUNGEN IM RELEASE 8.4 STRATEGISCHE ZIELE Terminumfrage, Termine und Aufgaben in GEDYS IntraWare 8.web Unabhängig vom E Mail und Kalendersystem Termine auch für Kunden Ablösung der

Mehr

Mobile Application Plattforms

Mobile Application Plattforms Mobile Application Plattforms Trends in der Kommunikationstechnik DI Franz Geischläger Agenda Mobile Applications Allgemeine Betrachtung Mobile Betriebssysteme und Plattformen Die wichtigsten Vertreter

Mehr

WIE ERHÖHT MAN DIE EFFIZIENZ DES BESTEHENDEN RECHENZENTRUMS UM 75% AK Data Center - eco e.v. 1. Dezember 2009

WIE ERHÖHT MAN DIE EFFIZIENZ DES BESTEHENDEN RECHENZENTRUMS UM 75% AK Data Center - eco e.v. 1. Dezember 2009 WIE ERHÖHT MAN DIE EFFIZIENZ DES BESTEHENDEN RECHENZENTRUMS UM 75% AK Data Center - eco e.v. 1. Dezember 2009 HOST EUROPE GROUP Größter Anbieter von standardisierten Managed Hosting Lösungen in Deutschland

Mehr

Mobile Device Management

Mobile Device Management 1 Mobility meets IT Service Management 26. April 2012 in Frankfurt Mobile Device Management So finden Sie Ihren Weg durch den Endgeräte- Dschungel Bild Heiko Friedrich, SCHIFFL + Partner GmbH & Co.KG http://www.schiffl.de

Mehr

TECHNISCHE PRODUKTINFORMATION CARUSO

TECHNISCHE PRODUKTINFORMATION CARUSO 1111 TECHNISCHE PRODUKTINFORMATION CARUSO TECHNISCHE PRODUKTINFORMATION Seite 0/7 Inhalt 1 Systemdefinition............2 2 Technische Details für den Betrieb von CARUSO......2 2.1 Webserver... 2 2.2 Java

Mehr

Systemdoku. Plattform: Scheduler. Dokumentenversion: 0.1 http://www.kyoto4u.de 2009 bei Janek Winz

Systemdoku. Plattform: Scheduler. Dokumentenversion: 0.1 http://www.kyoto4u.de 2009 bei Janek Winz Systemdoku Plattform: Scheduler Dokumentenversion: 0.1 http://www.kyoto4u.de 2009 bei Janek Winz Inhaltsverzeichnis KAPITEL / THEMA: SEITE: 1 Das Kyoto4u Projekt...3 2 Systemanforderungen...3 3 Installation...6

Mehr

Grundkurs Betriebssysteme

Grundkurs Betriebssysteme Grundkurs Betriebssysteme Architekturen, Betriebsmittelverwaltung, Synchronisation, Prozesskommunikation von Peter Mandl 3., akt. und erw. Aufl. 2013 Springer Vieweg Wiesbaden 2012 Verlag C.H. Beck im

Mehr