Server-Sunshine

http://server-sunshine.ch.vu/


Es werden noch Forummoderatoren gesucht .. bei Interesse einfach hier schauen!

    Architektur

    Austausch
    avatar
    Mario1974
    Forum Moderator
    Forum Moderator

    Anzahl der Beiträge : 26
    Anmeldedatum : 04.11.11
    Alter : 43
    Ort : Rostock

    Architektur

    Beitrag  Mario1974 am So 4 Dez - 8:52

    Die Architektur von Android baut auf dem Linux-Kernel 2.6 auf. Er ist für die Speicherverwaltung und Prozessverwaltung zuständig und stellt die Schnittstelle zum Abspielen von Multimedia und der Netzwerkkommunikation. Außerdem bildet er die Hardwareabstraktionsschicht für den Rest der Software und stellt die Gerätetreiber für das System.

    Weitere wichtige Bausteine sind die auf der von Sun Microsystems entwickelten Java-Technik basierende virtuelle Maschine Dalvik und die dazugehörigen Android-Java-Klassenbibliotheken[14]. Die Laufzeitumgebung von Android basiert auf der Dalvik Virtual Machine, einer von Google-Mitarbeiter Dan Bornstein entwickelten virtuellen Maschine. Die Dalvik-VM ähnelt funktional der normalen Java-VM, beide führen sogenannten Byte-Code aus. Einer der wesentlichen Unterschiede ist die zugrundeliegende virtuelle Prozessorarchitektur. Die Java-VM basiert auf einem Kellerautomaten; Dalvik-VM hingegen ist eine Registermaschine. Durch die sich unterscheidende Prozessorarchitektur sind die Kompilate normaler Java-Compiler nicht für die Dalvik-VM geeignet, dennoch konnte Google auf die bestehenden Java-Entwicklungswerkzeuge zurückgreifen.

    Die meisten modernen Compiler generieren als Zwischencode Kellerautomatencode. Dieser Zwischencode erlaubt es, von der Prozessorarchitektur der Zielplattform zu abstrahieren, der programmiersprachliche Teil wird von der konkreten Prozessorarchitektur getrennt. Da das Prozessormodell des Kellerautomaten besonders einfach ist, wird es üblicherweise für die Übersetzerzwischensprache verwendet. Die meisten realen Prozessoren sind heute aber Registermaschinen, so zum Beispiel die 80x86- und die ARM-Prozessoren. Registerarchitekturen sind oft effizienter, da bei ihr die CPU über eigene besonders schnell zugreifbare Speicherzellen, die Register, verfügt. Dalvik nimmt die Umwandlung des Kellerautomatencodes in die Registermaschinencodes schon zur Übersetzungszeit vorweg. Dafür wird das Werkzeug dx verwendet, „dx“ steht für Dalvik Cross-Assembler.

    Anwendungen für die Androidplattform werden in der Regel in Java geschrieben, jedoch greifen diese in geschwindigkeitskritischen Bereichen auf zahlreiche in C oder C++ geschriebene, native Bibliotheken zu. Darunter befinden sich neben Codecs für die Medienwiedergabe auch ein Webbrowser auf der Basis von WebKit, eine Datenbank (SQLite) und eine auf OpenGL basierende 3D-Grafikbibliothek.

    Um eigene Programme für Android zu entwickeln, benötigt man ein aktuelles Java-SDK und zusätzlich das Android-SDK. Zuerst wird der in Java geschriebene Quelltext mit einem normalen Java-Compiler übersetzt und dann von einem Cross-Assembler für die Dalvik-VM angepasst. Aus diesem Grund können Programme prinzipiell mit jeder Java-Entwicklungsumgebung erstellt werden.

    Das Framework setzt auf starke Modularität. So sind alle Komponenten des Systems generell gleichberechtigt (ausgenommen die Virtuelle Maschine und das unterliegende Kernsystem) und können jederzeit ausgetauscht werden. Es ist also z. B. möglich, eine eigene Anwendung zum Erstellen von Kurznachrichten oder zum Wählen von Rufnummern zu erstellen und die bisherige Anwendung damit zu ersetzen.

      Aktuelles Datum und Uhrzeit: Mo 23 Okt - 0:26