Android OS - Operativni Sistemi

Download Report

Transcript Android OS - Operativni Sistemi

Glava 8a: Primer operativnog sistema–
Android
Istorijat
Osnovne karakteristike
Komponente sistema
Android Danas
Decembar 2012.
Copyright (C) 2012 by Svetlana Veljković
1
Istorijat
Android je operativni sistem namenjen za mobilne uređaje
Android je Unix-like operativni sistem, baziran na verzijama
2.6 i 3.x Linux kernela
Ko-osnivač Andy Rubin u oktobru 2003. počinje razvoj
Androida u Kaliforniji
Kompanija Google kupuje ovaj projekat u avgustu 2005.
Krajem 2007., Google osniva alijansu OHA (Open Handset
Alliance) čiji je prvi proizvod Android
Članovi OHA: Google, Intel, Nvidia, HTC, Sony, LG,
Motorola, Samsung, T-Mobile
Kasnije priključene: Dell, Vodafone, Motorola, Alcatel i razne
druge
Decembar 2012.
Copyright (C) 2012 by Svetlana Veljković
2
Istorijat - Licenciranje
Android nije public domain; copyright na Android drže
njegovi autori
Android se distribuira pod Apache Licencom v2.0, koju
definiše Apache Software Foundation (ASF)
Krajem 2008., Android postaje slobodni softver sa licencom
otvorenog koda (open-source)
Apache verzija 2.0 je kompatibilna sa Linux-ovom GPL
licencom, ali manje restriktivna
Starije verzije Apache licence nisu GPL kompatibilne
Android sadrži više od 700 kopija header fajlova, za šta se
smatra da su „no copyrightable“
Decembar 2012.
Copyright (C) 2012 by Svetlana Veljković
3
Istorijat - Verzije Androida
V1.0, 23. septembar 2008.:




prva komercijalna verzija sa dosta nedostataka
bazirana na V2.6.25 Linux kernelu
namenjena telefonima HTC Dream i T-Mobile G1
veliki broj funkcija: Online prodavnica (tada Android Market, danas
Play Store), podrška za Wi-Fi i Bluetooth, Web Browser, Youtube,
Gmail, Google Contacts, Google Calendar, Google Sync, Google Talk,
Media Player, Camera, Home screen (Launcher), i razne druge...
V1.1, 9. februar 2009.:



namenjena telefonu HTC Dream
bazirana na V2.6.25 Linux kernelu
API promenjen; dodate nove funkcije, kao npr. mogućnost plaćenih
aplikacija u Android Market-u
Decembar 2012.
Copyright (C) 2012 by Svetlana Veljković
4
Istorijat - Verzije Androida
V1.5 („Cupcake“), 30. april 2009.:



pokreće ubrzan razvoj mobilnih uređaja sa Android operativnim
sistemom
bazirana na V2.6.27 Linux kernelu
unapredjenje korisničkog interfejsa i razne nove funkcije poput
snimanja video sadržaja, podrške za stereo bluetooth slušalice,
podesiva tastatura, prepoznavanje glasa, mogućnost programerima
da kreiraju sopstvene aplikacije za početni ekran (“Home Screen”),
koje se nazivaju Vidžeti (“Widgets”), itd...
V1.6 („Donut“), 15. septembar 2009.:


bazirana na V2.6.29 Linux kernelu
novi izgled Online Prodavnice (Android Market) za lakši pristup i bržu
pretragu željenih aplikacija; kamera i video kamera integrisane u
Galeriju; podrška za navigacione aplikacije, razna poboljšanja po
pitanju brzine, pretrage grafičkog interfejsa, itd...
Decembar 2012.
Copyright (C) 2012 by Svetlana Veljković
5
Istorijat - Verzije Androida
Problem: Sa ažuriranjem Androida, prvi u redu za ažuriranje
sistema bio je upravo HTC Dream, jer se sistem
uglavnom razvijao na osnovu mogućnosti koje je taj telefon
posedovao. Ovaj problem je doveo do usporavanja širenja
nove verzije sistema.
V2.0/ V2.1 („Eclair“), 26. oktobar 2009.:


bazirana na V2.6.29 Linux kernelu
dodate podrške za rad sa kamerom, kao i poboljšana virtuelna
tastatura
V2.2.x („Froyo“), 20. maj 2010.:


bazirana na V2.6.32 Linux kernelu
ubrzan je rad sa memorijom i poboljšane performanse samog
sistema
Decembar 2012.
Copyright (C) 2012 by Svetlana Veljković
6
Istorijat - Verzije Androida
V2.3.x („Gingerbread“), 6. decembar 2010.:



bazirana na V2.6.35 Linux kernelu
lakše kucanje na mekoj tastaturi; unapređena funkcija copy/paste;
mogućnost instaliranja zahtevnijih igara kao i bolja kontrola pri
upravljanju istih
dodatno poboljšavan korisnički interfejs, takođe obezbeđena podršku
za veće displeje kao i za neki dodatni senzori
V3.x („Honeycomb“), 22. februar 2011.:



bazirana na V2.6.36 Linux kernelu
napravljen samo za tablete
dodati interfejs elementi kao što su system bar i action bar, takođe
pojednostavljena je i upotreba miltitaskinga, redizajnirana je i
virtualna tastatura tako da omogući lakše i brže kucanje
Decembar 2012.
Copyright (C) 2012 by Svetlana Veljković
7
Istorijat - Verzije Androida
V4.0.x („Ice Cream Sandwich“), 19. oktobar 2011.:







bazirana na V3.0.1 Linux kernelu
još veći ekrani osetljivi na dodir
direktno USB povezivanje sa uređajima, što je znatno olakšalo
prenos podataka
namenjena i za mobilne telefone i za tablete
pored standardnog načina za otključavanje telefona, dodata je i
mogućnost otključavanja telefona prepoznavanjem lica (za šta se
koristi prednja kamera)
poboljšana podrška za slepe i slabovide osobe
Veličina widget-a je promenljiva
Decembar 2012.
Copyright (C) 2012 by Svetlana Veljković
8
Istorijat - Verzije Androida
V4.1/4.2 („Jelly Bean“), 9. jul 2012./ 13. novembar 2012.:









bazirana na V3.0.31 Linux kernelu
poslednja verzija Androida, demonstrirana na Google Nexus
4 telefonu i Google Nexus 10 tabletu
ima „pametniju“ tastaturu
nov izgled Google Search-a
mogućnost deljenja display-a uređaja sa nekim HDTV
Widget-i rade još bolje nego pre
opcija Google Now daje informacije korisniku kad i gde mu treba,
pre nego što on to zatraži
načinjene značajne promene u oblasti fotografije, a najznačajnije u
polju društvenih mreža
razne druge funkcije...
Decembar 2012.
Copyright (C) 2012 by Svetlana Veljković
9
Osnovne karakteristike
Sa tehničke strane Android predstavlja Linux operativni
sistem razvijen za ARM i x86 arhitekturu
Iz činjenice da se Android bazira na Linux verziji 2.6 i jačoj,
implicitno sledi:





Android je multitasking sistem
Android V4.2 (verzija za tablete) je multikorisnički sistem
Standardni Linux fajl sistem - ext2fs je FS Androida
Android poseduje real-time algoritam raspoređivanja procesa
C-SCAN algoritam bez izgladnjivanja u Androidu
Kao x86 arhitektura, Android ima tri zone fizičke memorije:
 ZONE_DMA
 ZONE_NORMAL
 ZONE_HIGH
Decembar 2012.
Copyright (C) 2012 by Svetlana Veljković
10
Osnovne karakteristike
Za razliku od Linux operativnog sistema, Android nema
standardni X Window System ni standardni skup GNU
biblioteka, pa nije u mogućnosti da pokreće aplikacije
razvijene za druge standardne Linux sisteme
APK je naziv za distribuciju Androida
Sistemske biblioteke pisane u programskim jezicima C i
C++; na njih se vezuje Android Runtime u kome se
istovremeno može izvršavati više Delvik VM
Aplikacije i Application Framework su napisani u
programskom jeziku Java
Android ima third-party aplikacije
Sve aplikacije su ravnopravne! (Sve koriste isti API)
Decembar 2012.
Copyright (C) 2012 by Svetlana Veljković
11
Osnovne karakteristike
Programeru omogućena potpuna sloboda u razvoju novih i
već postojećih aplikacija, a proizvođaču uređaja slobodno
korišćenje i prilagođavanje platforme bez plaćanja autorskih
prava
Životnim ciklusom aplikacije se upravlja automatski
Uklanjanje granica "klasičnih" aplikacija
Brz i jednostavan razvoj aplikacija, omogućen je bogatom
bazom korisnih programskih biblioteka (eng. libraries) i alata
za izradu aplikacija
Visokokvalitetni grafički prikaz i zvuk
Kompatibilnost sa većinom sadašnjeg i budućeg hardvera
Decembar 2012.
Copyright (C) 2012 by Svetlana Veljković
12
Komponente sistema
Applications
Home
Contacts
Phone
Browser
...
Application Framework
Activity Manager
Windows Manager
Content Providers
View System
Notification Manager
Package Manager
Telephony Manager
Resource Manager
Location Manager
XMPP Service
Libraries
Surface Manager
Android Runtime
Media Framework
SQLite
OpenGL/ES
FreeType
WebKit
SGL
SSL
libc
Core Libraries
Dalvik Virtual Machine
Linux Kernel
Display Driver
Camera Driver
USB Driver
Keypad Driver
Decembar 2012.
Bluetooth Driver
WiFi Driver
M-Systems Driver
Binder (PC) Driver
Audio Drivers
Power Management
Copyright (C) 2012 by Svetlana Veljković
13
Komponente sistema - Biblioteke
S obzirom na to da se Android bazira na Linux operativnom
sistemu, glavna moć Androida je u bibliotekama:
 Surface Manager, odgovoran da svi otvoreni prozori, iz
potenicijalno različitih aplikacija, otvoreni u različito
vreme, budu predstavljeni na ekranu
 Open GL/ES i SGL su grafičke biblioteke, za crtanje 2D i
3D, koje se u Androidu mogu i kombinovati
 WebKit sluzi za podrsku webu (CSS, Javascript, AJAX),
napravljen za male ekrane
 SQLite, upravljački sistem baze podataka
 FreeType za fontove, Media Framework, podrška za SSL
enkripciju, libc
Decembar 2012.
Copyright (C) 2012 by Svetlana Veljković
14
Komponente sistema – Dalvik VM
Android Runtime sadrži osnovne biblioteke i Dalvik VM
Dalvik je virtuelna mašina za Java programe u Android
operativnom sistemu
Naime, Java bytecode se ne izvršava kao takav, već se više
klasa prevodi u jedan jedinstveni Delvik izvršni format (.dex)
koji je optimizovan za rad na slabijim procesorima i zahteva
manje memorije – što je pogodno za mobilne uređaje
Može više Delvik VM da se pokrenu na jednom uređaju, po
jedna za jedan proces
Decembar 2012.
Copyright (C) 2012 by Svetlana Veljković
15
Komponente sistema - API
API:




Location Manager je zadužen za mape i geografkske podatke vezane
za njih
XMPP Service koristi Gmail infrastrukturu i uz pomoć njega se mogu
razmenjivati bilo kakvi podaci između više uređaja, bilo da su to
određene vrednosti bitne za neku aplikaciju, geografski podaci ili
poruke za ćaskanje
Notification Manager na jedinstveni način integriše i prikazuje poruke
iz bilo koje aplikacije, web servisa ili sl. koje korisnik vidi na svom
početnom ekranu
View System sadrži osnovne komponente (buttons, lists, layout...) uz
pomoć kojih se izgrađuju kompleksnije aplikacije
Decembar 2012.
Copyright (C) 2012 by Svetlana Veljković
16
Komponente sistema - API
API (Nastavak):






Activity Manager se brine za rad sa akcijama
Windows Manager je zadužen za rad sa prozorima
Content Providers omogućava da podaci iz jedne aplikacije budu
dostupi drugoj aplikaciji
Resource Manager je zadužen za rad sa resursima
Telephony Manager je zadužen za rad sa telefonskim opcijama
Package Manager prati koje su sve aplikacije instalirane na uređaju
Decembar 2012.
Copyright (C) 2012 by Svetlana Veljković
17
Android Danas
Iako Android sada predstavlja veoma zreo i pouzdan sistem
iza koga stoji ogroman broj zadovoljnih korisnika, on to ne
bi postao bez velike zajednice koja neprestano razvija
aplikacije namenjene za ovu platformu
Pored velike podrške korisnika neizostavna je i podrška
velikih firmi koje Android uvode za sastavni deo svojih
uređaja i na taj način ga čine dominantnim sistemom za
mobilne uređaje
Decembar 2012.
Copyright (C) 2012 by Svetlana Veljković
18
Android Danas
Decembar 2012.
Copyright (C) 2012 by Svetlana Veljković
19