Sunteți pe pagina 1din 7

Ionita Alexandru

Referat

Android

Sistemul de operare Android


Introducere
Android este un stiv software pentru dispozitive mobile, care include un sistem de
operare, middleware i aplicaii cheie. Android este bazat pe o versiune modificat a kernelului de Linux .

Arhitectura

Ionita Alexandru

Referat

Android

Caracteristici

Cadru de aplicatii care s permit reutilizarea i nlocuirea componentelor


Maina virtual folosita este Dalvik optimizata pentru dispozitive mobile
Browser-ul integrat bazat pe open-source WebKit motor
Grafica optimizata bazata pe o bibliotec grafica 2D personalizat; grafica 3D este
bazat pe OpenGL ES 1.0
SQLite pentru stocarea datelor structurale
Suport media pentru fisierele audio, video, i imagini (MPEG4, H.264, MP3, AAC,
AMR, JPG, PNG, GIF)
Telefonie GSM
Bluetooth, EDGE, 3G si WiFi
Aparat de fotografiat, GPS, busola, i accelerometru
Mediu bogat de dezvoltare, inclusiv un emulator de dispozitiv, instrumente pentru
depanare, profilare de memorie i de performan, precum i un plug-in pentru Eclipse
IDE

Managementul fisierelor
Incepand cu varianta 2.3 a sistemului de operare Android (Gingerbread), s-a trecut de
la sistemul de fisiere YAFFS la ext4.
Acest sitem de fisiere a fost dezvoltat pentru Linux, fiind succesorul sistemului ext3.
Ext4
Dezvoltator

Mingming Cao, Andreas Dilger, Alex Zhuravlev (Tomas), Dave


Kleikamp, Theodore Ts'o, Eric Sandeen, Sam Naghshineh, others
Fourth extended file system (al patrulea sistem de fisiere extrins)
Stable: 21 October 2008
0x83 (MBR) EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT)

Nume complet
Introdus
Identificatorul
partitiei
Structura
Continutul
Linked list, hashed B-tree
directoarelor
Alocarea fisierelor
Extents/Bitmap
Blocuri Bad
Tabel
Limite
Dimensiunea maxima 16 TB
a fisierului
Numarul maxim de
4 billion
fisiere
Lungimea maxima a 256 bytes
fisierului
Dimensiunea maxima 1 EB
a volumului
Caracterele permise Toate cu esceptia a NULL ('\0') si '/'
2

Ionita Alexandru

Referat

Android

in numele fisierelor
Caracteristici
Date inregistrate
modificare (mtime), atribute de modificare (ctime), de acces (atime),
de sters (dtime), de creare (crtime)
Intervalul de date
14 December 1901 - 25 April 2514
Rezolutia datei
Nanosecond
Forks
Nu
Atribute
extents, noextents, mballoc, nomballoc, delalloc, nodelalloc,
data=journal, data=ordered, data=writeback, commit=nrsec, orlov,
oldalloc, user_xattr, nouser_xattr, acl, noacl, bsddf, minixdf, bh, nobh,
journal_dev
Permisii
POSIX
Compresie
Nu
transparenta
Criptare transparenta Nu
Deduplicarea datelor Nu
Sistemele de operare Linux
suportate
Acest sistem de fisiere suporta volume cu dimensiuni de pana la 1 exabyte si fisiere de
pana la 16 terrabytes. Acesta a inlocuit schema clasica de mapare a blocurilor utiliata de
versiunile anterioare ext2/3, folosind blocuri fizice continue, numite extent-uri, imbunatatind
performantele manipulariii fisierelor de mari dimensiuni si reducand fragmentarea. Un singur
astfel de bloc poate mapa pana la 128MB de spatiu continuu cu nblocuri de 4 KB. Cand un
fisier are mai mult de patru extent-uri acestea sunt indexate intr-un Htree.
Sistemul de fisiere ext4 este compatinbil cu ext2/3, adica este posibila montarea
acestoara ca si ext4. Performatele vor fi usor imbunatatite, datorita anumitor caracteristici ale
ext4 cum ar fi noul algoritm de alocare a blocurilor. Este posibila si prealocareape disc a
patiului pentru un fisier. Metoda actuala a majoritatiii sistemelor de fisiere este de a salva un
fisier cu numele fisierului pentru care este prealocat spatiul si in acesta este scrisa valoarea
0 pana atinge dimensiunea ceruta. Ext4 foloseste o noua comanda fallocate(), care aloca
un spatiu continuuu, astefel imbuantateste performatele fisierelor video si a bazelor de date.
Limita numarului de subdirectoare, pentru ext4 a crescut la 64000, fata de
predecesorul lui pentru care era de 32000, iar pentru a imbunatii performantele si
dimensiunile directoarelor, acestea sunt indexate in H-tree (hashed B-tree, versiune
modificate de b-tree).
Acesta utilizeaza o tehnica de sporire a performantei, numita alocare intarziata, si
reprezinta intarzierea alocarii spatiului pe disc pana cand datele sunt pregatite pentru a fi
scrise pe disc. Aceasta tehnica reduce fragmentarea, deoarece deciziile de alocare a blocurilor
se bazeaza pe dimensiunea reala a fisierului. Pentru imbunatatirea fiabilitatii, ext4 utilizeaza
metoda checksum asupra tabelului de indexare, deoarece acesta este cel mai utilizat fisier al
sistemului. In imaginea de mai jos este ilustrata functionarea acestei metode:

Ionita Alexandru

Referat

Android

Asa cum este ilustrat in graficul de mai jos, verificarea sistemului de fisiere pentru
ext4 este mult mai rapida decat predecesorul lui, ext3, asta datorita faptului ca grupurile de
blocuri si sectiuni nealocate din tabelul de indexare sunt marcate ca atare, astfel functia de
verificare le omite, reducand considerabil tipul de verificare a sistemului de fisiere,

Managementul proceselor
Atunci cnd prima dintre componentele unei aplicaii trebuie s fi rulata, Android
ncepe un proces de Linux pentru aceasta cu un singur fir de execuie. n mod implicit, toate
componentele aplicaiei ruleza n acest proces i fir.

Procese
Procesul n cazul n care o component se execut este controlat de fiierul
manifest. Elementele componentei
- activitate ,
- serviciu ,
- receptor , i
- furnizor,

Ionita Alexandru

Referat

Android

au fiecare un process atribut care poate specifica un proces n cazul n care aceast
component ar trebui s ruleze. Aceste atribute pot fi stabilite astfel nct fiecare component
se execut n propriul proces, sau astfel nct unele componentele sa imparta un proces n
timp ce altele nu. Acestea pot fi de asemenea setat astfel nct componentele diferitelor
aplicaii pot rula n cadrul aceluiai proces - cu condiia ca cererile sa aiba acelai ID-ul de
utilizator Linux i sa fie semnate de ctre aceleai autoriti. Fiecare aplicatie are de
asemenea un process atribut, pentru a stabili o valoare implicit care se aplic la toate
componentele.
Sitemul de operare Android poate decide s nchid un proces la un moment dat,
atunci cnd memoria este sczuta i este solicitat de alte procese care servesc imediat
utilizatorul. Componentele aplicaiei care ruleaz n acest proces, sunt distruse. Un proces
este repornit pentru acele componente atunci sunt utilizate.

Fire de proces
Deoarece interfaa cu utilizatorul trebuie s fie ntotdeauna rapid pentru a rspunde la
aciunile utilizatorului, firul care gzduiete o activitate nu ar trebui gazduiasca, de asemenea,
operaiunile de consumatoare de timp.Orice lucru care nu pot fi realizate rapid este atribuit
unui fir diferit.
.

Apelul procedurilor la distan


Android are un mecanism uor pentru apelurile de procedur la distan (RPCs) - n
cazul n care o metod se numete la nivel local, dar este executat la distan (ntr-un alt
proces), cu orice rezultat ntors napoi la apelantului. Acest lucru presupune descompunerea
apelul metodei i toate datele sale inerente la un nivel la care sistemul de operare poate
nelege, si transmite de la procesul de la nivelul i spatiu de adrese local la procesul i spaiul
de adrese de la distan. Valorile returnate sunt transmise n direcia opus.
O interfa RPC pot include numai metode. n mod implicit, toate metodele sunt
executate sincron, chiar dac nu exist nici o valoare de ntoarcere.

Componenta ciclurile de via


Componentele aplicaiei au un ciclu de via - un nceput atunci cnd Android le
instaniaz s rspund pn la capt atunci cnd instanele sunt distruse. ntre, ele pot
fi,uneori, active sau inactive, sau, n cazul activitilor, vizibil pentru utilizator sau
invizibila.
Activitatea ciclului de via
O activitate are, n esen, trei stri:

Este activ sau executat atunci cnd este n prim planul ecranului (n partea de sus a
stivei de activiti pentru sarcina curent). Aceasta este activitatea care se concentreze
pentru aciunile utilizatorului.

Acesta este ntrerupt, dar este nc vizibil pentru utilizator.O activitate intrerupta este
completa (menine toate informaiile de stare i ale membrului i rmne ataata

Ionita Alexandru

Referat

Android

managerului de ferestre), dar poate fi ucisa de ctre sistem in situatii extreme de


memorie redusa.

Este oprit n cazul n care este complet acoperit de ctre o alt activitate. Acesta i
pstreaz nc toate informaiile de stare i membru. Cu toate acestea, ea nu mai este
vizibila pentru utilizator, astfel fereastra sa este ascunsa i va fi de multe ori ucisa de
sistem atunci cnd este nevoie de memoria in alt parte.

Procese i ciclurile de via


Sistemul Android ncearc s menin procesul unei aplicatii pentru cat mai mult
posibil, dar n cele din urm vechile procese trebuiesc eliminate atunci cand memoria este
sczuta. Pentru a determina care procese trebuiesc s pstrate i care ucise, Androidul acorda
locuri pentru fiecare proces ntr-o "ierarhie de importan", bazata pe componentele ce
funcioneaza n ea i starea acestor componente. Procese cu cea mai mica importana sunt
eliminate n primul rnd, apoi urmtoarele cu cel mai mica, i aa mai departe. Exist cinci
niveluri n ierarhie. Lista de mai jos le prezint n ordinea importanei:
1. Un proces de prim-plan este unul care este necesar pentru ceea ce utilizatorul face n

prezent. Un proces este considerat a fi n prim-plan dac indeplineste oricare dintre


urmtoarele condiii:
o Acesta se execut o activitate cu care utilizatorul interacioneaz.
o Acesta gzduiete un serviciu care este legat de activitatea cu care utilizatorul
interacioneaz.
o Detine un obiect de tip Service care executa unul dintre Callbacks-urile
ciclului su de via
o Detine un obiect de tip BroadcastReceiver care executa metoda de receptie.
Doar cteva procese de prim-plan pot exista la un moment dat. Ele sunt ucise numai
in ultim instan - n cazul n care memoria este att de mic nct s nu poate
continua s le ruleze toate. n general, n acel moment, dispozitivul a atins o stare de
paginare a memoriei, astfel nct uciderea unor procese de prim-plan este necesar
pentru a pstra interfa pentru utilizator receptiv.
2. Un proces vizibil este unul care nu are toate componentele in prim-plan, dar nc mai

pot afecta ceea ce utilizatorul vede pe ecran. Un proces este considerat a fi vizibil
dac oricare dintre urmtoarele condiii sunt indeplinite:
o Acesta gzduiete o activitate care nu se afl n prim-plan, dar este nc
vizibila pentru utilizator.
o Acesta gzduiete un serviciu de care este legat la o activitate vizibil.
Un proces vizibil este considerat important i nu va fi ucis excepia cazului n care
acest lucru este necesar pentru a pstra toate procesele care ruleaz in prim-plan.
3. Un proces de servicii este unul care execut un serviciu care nu se ncadreaz n una

dintre cele dou categorii mai mari. Dei procesele de servicii nu sunt direct legate de
orice interfata cu utilizatorul, ele fac, n general, lucruri de care utilizatorului ii pasa,
astfel nct sistemul le menine, cu excepia cazului n care nu este de ajunsa memorie
pentru a le menine, mpreun cu toate procesele de prim-plan i vizibile.
4. Un proces de fundal este unul care deine o activitate care nu este n prezent vizibila

pentru utilizator. Aceste procese nu au un impact direct asupra experienei


6

Ionita Alexandru

Referat

Android

utilizatorului, si poate fi ucis n orice moment pentru a recupera memorie pentru un


proces de prim-plan, vizibil, sau de serviciu. De obicei, exist mai multe procese care
ruleaz in fundal, astfel nct acestea sunt inute ntr-o lista LRU (Least Recently
Used = cel mai puin recent folosit) pentru a se asigura c procesul cu activitatea cea
mai recent vazuta de catre utilizator este ultimul care urmeaz s fie ucis.

5. Un proces

gol este unul care nu deine componentele active ale unei


aplicaie. Singurul motiv pentru a menine un astfel de proces este pentru a mbunti
timpul de pornire data viitoare cand o component are nevoie pentru a rula n
el. Sistemul ucide adesea aceste procese, n scopul de a echilibra resursele generale
ale sistemului de cache ntre proces i cache care stau la baza kernel-ului.

Android plaseaza un proces la cel mai nalt nivel care este posibil, pe baza importanei
componentelor active n prezent n proces. De exemplu, dac un proces gzduiete un
serviciu i o activitate vizibil, procesul va fi cotat ca fiind un proces vizibil, nu ca proces de
serviciu.
n plus, clasamentul unui proces poate fi crescut, deoarece alte procese sunt
dependente de el. Un proces care servete unui alt proces nu poate fi clasat mai jos dect
procesul servit.
Deoarece un proces care ruleaz un serviciu este clasat mai sus dect unul cu
activiti de fundal, o activitate care iniiaz o operaiune de lung durat ar putea face bine s
nceap un serviciu pentru aceast operaiune, mai degrab dect pur i simplu sa ruleze un fir
- n special n cazul n care operaiunea va dura probabil mai mult dect activitatea. Folosind
un serviciu garanteaz c operaiunea va avea cel puin prioritat de "procesul de serviciu",
indiferent de ceea ce se ntmpl cu activitatea.

Bibliografie
-

http://en.wikipedia.org/wiki/Ext4

http://www.android.com/about/

http://en.wikipedia.org/wiki/Android_(operating_system)

http://en.wikipedia.org/wiki/Checksum

S-ar putea să vă placă și