Proiect SOA – Android Kit Kat –

12
Proiect SOA Android Kit Kat Profesor coordonator: Student: Stăncescu Ștefan Bajura George Andrei Master IISC

description

Proiect SOA – Android Kit Kat –. Cuprins. Caracteristici ale sistemului Android Arhitectura Android Kernel 2.6 Procese, fire de executie Modalitatea de stocare a datelor Avantajele versiunii 4.4. Prezentare generala. - PowerPoint PPT Presentation

Transcript of Proiect SOA – Android Kit Kat –

Page 1: Proiect SOA –   Android Kit Kat  –

Proiect SOA– Android Kit Kat –

Profesor coordonator: Student:Stăncescu Ștefan Bajura George Andrei

Master IISC

Page 2: Proiect SOA –   Android Kit Kat  –

Cuprins

• Caracteristici ale sistemului Android

• Arhitectura Android

– Kernel 2.6

– Procese, fire de executie

–Modalitatea de stocare a datelor

• Avantajele versiunii 4.4

Page 3: Proiect SOA –   Android Kit Kat  –

Prezentare generala• Android este o platformă software și un sistem de operare pentru dispozitive și telefoane mobile bazată

pe nucleul Linux, dezvoltată inițial de Google, iar mai târziu de consorțiul comercial Open Handset Alliance. Android permite dezvoltatorilor să scrie cod gestionat în limbajul Java, controlând dispozitivul prin intermediul API-ului dezvoltat de Google.

Configurații dispozitive

Stocare de date

Conectivitate

Mesagerie instant

Navigatorul de web

Mașina virtuală Dalvik

Suport media

Suport hardware adițional

Mediu de dezvoltare

Piața Android

Multi-touch

Caracteristici ale sistemului Android

Page 4: Proiect SOA –   Android Kit Kat  –

Arhitectura Android OS

• Kernel, librarii

• Android constă dintr-un strat ce are ca baza kernel-ul Linux 2.6 și Linux Kernel 3.x ( pt varianta Android 4.0 ), cu middleware, biblioteci și API-uri scrise în C și aplicații software ce rulează pe un application framework, care include biblioteci Java bazate pe Apache Harmony. Întregul sistem de operare Android este construit deasupra stratului de bazaLinux Kernel 2.6, cu unele modificări suplimentare arhitecturale efectuate de către Google.

Page 5: Proiect SOA –   Android Kit Kat  –

Imbunatatiri aduse de Kernel v2.6

• Organizator O(1)

– Organizatorul de procese este subsistemul kernelului responsabil cu alocarea timpului de procesor. El este cel care decide ce proces este rulat, si cand.

– Imbunatatirile ce se doreau a fi aduse aduse la nivelul organizatorului au fost urmatoarele:

• Organizare O(1) completa. Fiecare algoritm din cadrul organizatorului ar trebuie sa se execute intr-o perioada de timp constanta, indiferent de numarul de procese care ruleaza.

• Scalabilitate SMP perfecta. Ideal ar fi ca fiecare procesor ar trebuie sa aiba propria lista de procese rulabile din care organizatorul sa aleaga (runque).

• Imbunatatirea afinitatii SMP. Ar trebui sa tinda natural sa grupeze task-urile pe un CPU anume si sa le ruleze acolo. Migrarea task-urilor de la un CPU la altul ar trebui sa fie facuta doar in cazul rezolvarii unor distributii neuniforme in ceea ce priveste lungimea listelor runque.

Page 6: Proiect SOA –   Android Kit Kat  –

Imbunatatiri aduse de Kernel v2.6Kernel pre-entive

Actualizarea este valabila de la versiunea 2.5.4. Pana la acest moment, procesele se executau consecutiv. Aceasta modificarea ridica probleme de securitate la nivelul datelor impartasite de procese. Sistemul SMP (multiprocesare simetrica) se ocupa de acesta problema de securitate. Mecanismele folosite de acest sistem pentru protectia in conditii de multiprocesare simetrica, au fost usor de adaptat pentru a oferi securitate in contextul unui kernel preventiv.

Imbunatatiri ale timpului de raspuns

Kernelul pre-entive atrage dupa sine imbunatatirea timpului de raspuns, sistemul putand detecta acu urmatorul `bottleneck`. Dezvoltatorii si-au concentrat atentia asupra algoritmilor in ideea micsorarii latentei. Pentru asta, au avut in vedere memoria virtuala(VM - `virtual memory`) si sistemul de fisiere virtual (VFS - `virtual file system`), si, consecutiv, reducand durata de `lock`.

Page 7: Proiect SOA –   Android Kit Kat  –

Imbunatatiri aduse de Kernel v2.6• Redesign-ul layer-ului bloc

– Incepand cu versiunea 2.5.1, cea mai importanta modificare a constat in creearea unei structuri generice si flexibile pentru a reprezenta request-urile bloc I/O, eliminarea bufferelor de bounce si suportul I/O direct in memoria inalta, transformand lock-ul io_request_lock per queue, si realizarea unui nou organizator I/O.

S-a renuntat la hop-ul intermediar(low memory) pentru accesul datelor de pe dispozitivele

de tip bloc (buffer-ul bounce)

S-a trecut de la lista globala de procese la liste individuale de procese per procesor, fiecare lista cu lock-ul ei.

Page 8: Proiect SOA –   Android Kit Kat  –

Imbunatatiri aduse de Kernel v2.6Imbunatatirea subsistemului de `memorie virtuala`

In versiunea 2.6 apar trei schimbari majore:

- Mapare inversa a VM (rmap)

- Redesign al algoritmilor – mai simplii si mai inteligenti

- Integrare stransa cu layer-ul VFS

Maparea inversa face legatura intre o pagina din memoria fizica si una sau mai multe pagini dinmemoria virtuala.

Page 9: Proiect SOA –   Android Kit Kat  –

Inbunatatiri aduse de Kernel 3.3• Btrfs - Suport pentru restriping între diferite niveluri RAID, echilibrarea îmbunătățită și instrumente de depanare.

• Open vSwitch - Implementarea avansata a unui switch de rețea, cu suport specializat complet, pentru mediul virtual.

• Teaming network interface - Inlocuirea bonding-driverului, ce oferă conexiune de rețea rapidă și stabilă.

• Byte Queue Limits and Per-cgroup TCP buffer limits - Limitele configurabile pentru buffere pentru a preveni problemele de latență excesive.

• Network priority control group - Interfata Administrator pentru stabilirea priorității traficului in aplicații.

• Enhanced ext4 online resizing - Redimensionarea Ioctl mai rapidă și mai flexibilă, astefl incat Kernelul poate efectua toate activitățile de resizing.

• Support for Texas Instruments C6X architecture - Suport pentru cele mai recente multi-core-uri DSP Texas Instruments.

Page 10: Proiect SOA –   Android Kit Kat  –

Inbunatatiri aduse de Kernel 3.3• EFI boot support

– Stub-ul de boot poate fi acum executat direct de către EFI firmware-ul.

• Librarii

– In materie de librarii, Android include un set de biblioteci C / C + + utilizate de diferitele componente ale sistemului. Acestea sunt expuse dezvoltatorilor prin intermediul application framework-ului.Acest layer(al librariilor) permite device-ului echipat cu Android OS sa lucreze cu diferite tipuri de date.

– Cele mai inportante librarii sunt: System C library - BSD-derivata din standardul C(libc) ,a fost imbunatatita pentru embedded Linux-based devices Media Libraries – bazata pe PacketVideo's OpenCORE; librariile suporta playback si inregistrarea formatelor audio si videa cunoscute,dar si a formatelor de imagine, incluzand MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG Surface Manager - gestionează accesul la subsistemul de afișare și straturile 2D și 3D din mai multe aplicații LibWebCore – un engine web browser modern,ce aduce impreuna Android browser si embeddable web view SGL – engine pentru support grafic 2D 3D libraries – implementare bazata pe OpenGL ES 1.0 APIs; librariile fie utilizeaza hardware 3D acceleration,fie 3D software rasterizer FreeType - bitmap si vector de redare font SQLite- un motor de baze de date relaționale disponibil pentru toate aplicațiile

Page 11: Proiect SOA –   Android Kit Kat  –

Procese, fire de executie (threads)

• Exista o ierarhie a importantei proceselor pe 5 niveluri:

– Foreground process

– Visible Process

– Service process

– Background process

– Empty process

Page 12: Proiect SOA –   Android Kit Kat  –

Avantajele/Imbunatatirile aduse de noua versiune 4.4

• Diminuarea cerintelor hardware

• Noi capabilitati NFC prin intermediul HCE (host card emulation)

• Framework pentru imprimare

• Framework pentru accesul la mediile de stocare

• Senzori de joasa putere

• Noi capabilitati media

– Inregistrarea continutului afisat pe ecran

– Monitorizare audio

• Capacitati de randare imbunatatite

– 1 Îmbunătățiri de performanță (live)

– Accelerarea GPU