Documente Academic
Documente Profesional
Documente Cultură
Introducere
Android este un stivă software pentru dispozitive mobile, care include un sistem de
operare, middleware şi aplicaţii cheie. Android este bazat pe o versiune modificată a kernel-
ului de
Linux .
Arhitectura
Tonciu Răzvan Referat Android
Caracteristici
Cadru de aplicatii care să permită reutilizarea şi înlocuirea componentelor
Maşina 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
Nume complet Fourth extended file system (al patrulea sistem de fisiere extrins)
Introdus Stable: 21 October 2008
Identificatorul 0x83 (MBR) EBD0A0A2-B9E5-4433-87C0-
partitiei 68B6B72699C7 (GPT)
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
1
Tonciu Răzvan Referat Android
fisierului
Dimensiunea maxima 1 EB
a volumului
Caracterele permise Toate cu esceptia a NULL ('\0') si '/'
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
2
Tonciu Răzvan 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 când prima dintre componentele unei aplicaţii trebuie să fi rulata, Android
începe un proces de Linux pentru aceasta cu un singur fir de execuţie. În mod implicit, toate
componentele aplicaţiei ruleza în acest proces şi fir.
Procese
Procesul în cazul în care o componentă se execută este controlată de fişierul
manifest. Elementele componentei
- activitate ,
- serviciu ,
- receptor , şi
- furnizor,
3
Tonciu Răzvan 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 încât fiecare componentă
se execută în propriul proces, sau astfel încât unele componentele sa imparta un proces în
timp ce altele nu. Acestea pot fi de asemenea setat astfel încât componentele diferitelor
aplicaţii pot rula în cadrul aceluiaşi proces - cu condiţia ca cererile sa aiba acelaşi ID-ul de
utilizator Linux şi sa fie semnate de către aceleaşi autorităţi. 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 când memoria este scăzuta şi este solicitat de alte procese care servesc imediat
utilizatorul. Componentele aplicaţiei care rulează în acest proces, sunt distruse. Un proces
este repornit pentru acele componente atunci sunt utilizate.
Fire de proces
Deoarece interfaţa cu utilizatorul trebuie să fie întotdeauna rapidă pentru a răspunde la
acţiunile utilizatorului, firul care găzduieşte o activitate nu ar trebui gazduiasca, de asemenea,
operaţiunile de consumatoare de timp.Orice lucru care nu pot fi realizate rapid este atribuit
unui fir diferit.
.
Apelul procedurilor la distanţă
Este activă sau executată atunci când este în prim planul ecranului (în partea de sus a
stivei de activităţi pentru sarcina curentă). Aceasta este activitatea care se concentreze
pentru acţiunile utilizatorului.
Acesta este întreruptă, dar este încă vizibil pentru utilizator.O activitate intrerupta este
completa (menţine toate informaţiile de stare şi ale membrului şi rămâne ataşata
4
Tonciu Răzvan Referat Android
Este oprită în cazul în care este complet acoperită de către o altă activitate. Acesta îşi
păstrează încă toate informaţiile 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 când este nevoie de memoria in altă parte.
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
următoarele condiţii:
o Acesta se execută o activitate cu care utilizatorul interacţionează.
o Acesta găzduieşte un serviciu care este legat de activitatea cu care utilizatorul
interacţionează.
o Detine un obiect de tip Service care executa unul dintre Callbacks-urile
ciclului său de viaţă
o Detine un obiect de tip BroadcastReceiver care executa metoda de receptie.
Doar câteva procese de prim-plan pot exista la un moment dat. Ele sunt ucise numai
in ultimă instanţă - în cazul în care memoria este atât de mică încât să nu poate
continua să le ruleze toate. În general, în acel moment, dispozitivul a atins o stare de
paginare a memoriei, astfel încât uciderea unor procese de prim-plan este necesară
pentru a păstra 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 următoarele condiţii sunt indeplinite:
o Acesta găzduieşte o activitate care nu se află în prim-plan, dar este încă
vizibila pentru utilizator.
o Acesta găzduieşte un serviciu de care este legat la o activitate vizibilă.
Un proces vizibil este considerat important şi nu va fi ucis excepţia cazului în care
acest lucru este necesar pentru a păstra 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. Deşi procesele de servicii nu sunt direct legate de
orice interfata cu utilizatorul, ele fac, în general, lucruri de care utilizatorului ii pasa,
astfel încât sistemul le menţine, cu excepţia cazului în care nu este de ajunsa memorie
pentru a le menţine, împreună cu toate procesele de prim-plan şi vizibile.
4. Un proces de fundal este unul care deţine o activitate care nu este în prezent vizibila
pentru utilizator. Aceste procese nu au un impact direct asupra experienţei
5
Tonciu Răzvan Referat Android
5. Un proces gol este unul care nu deţine componentele active ale unei
aplicaţie. Singurul motiv pentru a menţine un astfel de proces este pentru a îmbunătăţi
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 importanţei
componentelor active în prezent în proces. De exemplu, dacă un proces găzduieşte 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 serveşte unui alt proces nu poate fi clasat mai jos decât
procesul servit.
Deoarece un proces care rulează un serviciu este clasat mai sus decât unul cu
activităţi de fundal, o activitate care iniţiază o operaţiune de lungă durată ar putea face bine să
înceapă un serviciu pentru această operaţiune, mai degrabă decât pur şi simplu sa ruleze un fir
- în special în cazul în care operaţiunea va dura probabil mai mult decât activitatea. Folosind
un serviciu garantează că operaţiunea va avea cel puţin prioritat de "procesul de serviciu",
indiferent de ceea ce se întâmplă 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