21
OPERATIVNI SISTEM

Android Platforma

Embed Size (px)

Citation preview

Page 1: Android Platforma

OPERATIVNI SISTEM

Page 2: Android Platforma

O Android-u

• Android platforma je operativni sistem namenjen za mobilne telefone, zasnovan na Linux-ovom kernelu, razvijen od strane Andija Rubina 2003. godine, a otkupljen od proizvodjača, od strane Google-a, 2005. godine. Omogućava programerima da pišu i upravljaju kodovima napisanim u Java jeziku, kontrolišući uredjaj pomoću Java bilbioteke. Aplikacije napisane u drugim programskim jezicima takodje mogu da budu kompajlinare u ARM(Acorn RISC Machine) kod i pokrenute pomoću Android Native Development Kit.

Page 3: Android Platforma

• Iako je razvijen 2003. godine, prvi put je objvaljen 2007. godine, od stane Open Handset Alliance, savez firmi koji čine najveće firme u oblasti informacionih tehnologija (Google, HTC, Dell, Intel...). Trenutno postoji preko 150.000 Android aplikacija, koje mogu biti preuzete na Google-ovom Android Market sajtu. Google je većinu svojih kodova zaštitio Apache licencom, koja predstavlja vid open-source licence i besplatnog softvera. Trenutno postoji nekoliko verzija ove platforme:

Page 4: Android Platforma

• 2.0/2.1 (Eclair) – preuredjen interfejs, i predstavljeni HTML5 i Exchange Active Sync

Page 5: Android Platforma

• 2.2 (Froyo) – povećana brzina performansi, pomoću JIT optimizacije i Chorme V8 JavaScript engine-a, ubačena WiFi i Adobe Flash podrška.

Page 6: Android Platforma

• 2.3/2.4 (Ginngerbread) – poboljšani intrefejs i tastatura, ubačena copy-paste opcija, i dodata podrška za Near Field Communication.

Page 7: Android Platforma

• 3.0 (Honeycomb) – u obliku table sa velikim ekranom, sa poboljšanim interfejsom. Podržava procesore sa više jezgara.

Page 8: Android Platforma

• Ice Cream – kombinacija Gingerbread-a i Honeycomb-a, koja će tek biti predstavljena polovinom 2011 godine.

Page 9: Android Platforma

Hardware i softver

• Postoji 5 različitih slojeva u Android mobilnim telefonima:1. Acorn RISC Machine (ARM) – Linux-ovo jezgro na kome

stoje ostali slojevi. Linux je već dokazana pouzdana tehnologija, a ARM familija procesora daje visoke performanse, sa veoma malo zahtevane snage

2. Biblioteka klasa – podržava veliki broj kodova, čiju osnovu čine kodeci – softver za dekodiranje digitalne slike i zvuka, kako bi na malim ekranima ovi sadržaji bili što vernije predstavljeni. Tu je i TCP/IP protokol, podrška za WEB pretraživanje (WebKit), pristup bazama podataka (SQLite), kao i ostale funkcije koje očekujete u Linux-u

Page 10: Android Platforma

3. Dalvik run time prevodilac – koji se zasniva na Java programskom jeziku, dodaje neke performanse koje definišu sigurnost i očuvanje Android-a. Drugim rečima, svaki proces koji se dešava u telefonu se prepoznaje jednoznačno, kako bi se odvojili procesi koji utiču na sigurnost i fleksibilnost uredjaja4. Android application framework – omogućava da koristimo i postavljamo komponente na način na koje one nama odgovaraju. Ove klase su duboko integrisane i one definišu Android API (application programing interface)5. Na kraju sloja se nalaze aplikacije, kao što su Google Maps, Google calendar, Gmail, koje su pristupne svakom korisniku

Page 11: Android Platforma

Operativni sistem

Page 12: Android Platforma

• Linux kernel – Android koristi Linux kao podršku za svoje uredjaje (memorija, procesi, mreža...). Medjutim, korisnik nikad neće da programira u ovom sloju direktno

• Libraries – Sadrži Android-ove „urođene“ biblioteke klasa. Većina njih se nalazi u C, C++, i koriste se kroz Java interfejs. U ovom sloju možemo naći Surface Manager (za kompozitne prozore), 2D i 3D grafiku, kodeci (MPEG-4, H.264, MP3...), SQL baza podataka (SQLite), i „maternji“ web pretrazivac (WebKit)

• Android Runtime – čine ga dva elementa. Prvi je Dalvik Virtual Machine. On pokreće .dex datoteke, koje su konvertovane iz standardnih klasa i .jar datoteka. .Dex datoteke su kompaktnije i efikasnije od standardnih klasa datoteka, i daju veliku važnost za ograničenu memoriju i baterije, koje Andriod koristi

Page 13: Android Platforma

• Core libraries – ovo polje je deo Anroid-ovog runtime-a. Biblioteke klasa su pisane u Javi, kao i sve iznad ovog sloja. Zasnivaju se na, za Android, veoma značajnom podskupu od 5 Java Standard Editions paketa, uključujći Collections, I/O...

• Andriod Framework layer – Delovi ovog sloja su omogućeni od strane Google-a, a ostatak je deo su ekstentizije servisa koje koristimo. Najvažniji od svih je Activity manager, koji kontroliše životni ciklus aplikacije i zajednički „back stack“ za korisničku navigaciju (kontroliše šta korisnik radi na uredaju)

• I na kraju, tj, na samom vrhu slojeva je Application sloj, gde se nalazi većina kodova, pored nekih ugradjenih aplikacija (Phone Browser, Web Browser...)

Page 14: Android Platforma

Konektovanje na internet

Android telefoni podržavaju bežičnu konekciju na internet, koristeći sledeće tehnologije:• GSM • 3G• EDGE• 802.11 Wi-Fi mreže

Page 15: Android Platforma

Bezbednost

Android je multiprocesorski sistem, u kome svaka aplikacija pokreće svoj proces. Sigurnost izmedju aplikacija i sistema se sprovodi na procesnom nivou, kroz standardne Linux postavke, kao što su korisnički i grupni ID-evi, koji su dodeljeni aplikaciji. Dodatne sigurnosne karakteristike su obezbedjene preko „mehanizma dozvole“ , koji nameće ograničenja na odredjene operacije koje proces moze izvršiti, i per-URI dozvole za izdavanje ad-hoc pristupa odredjenim delovima podataka.

Page 16: Android Platforma

Bezbednosna arhitektura

Centralna tačka Android-ove bezbednosne arhitekture je da nijedna aplikacija, po podrazumevanim podešavanjima, nema dozvolu da izvrši bilo koju operaciju koja će da ometa rad drugih aplikacija, operativnog sistema, i korisnika. Ovo podrazumeva čitanje i pisanje korisnikovih privatnih podataka (kao što su kontakti, poruke, e-mail-ovi...), čitanje i pisanje podataka aplikacija, pristup mreži...

Page 17: Android Platforma

Proces same aplikacije predstavlja „sigurnosno sanduče“. Ne može da ometa druge aplikacije, ukoliko izričito ne izrazi dozvolu, koja mu je potrebna za dodatne operacije, ako one nisu definisane u „sigurnosnom sandučetu“. Dozvole ovih zahteva mogu se rešavati od strane operativnih, u nekoliko načina, najčešće automatskim dozvoljavanjem ili odbijanjem sertfitikata, ili od strane korisnika. Dozvole zanhevane od strane aplikacije su deklarisane u samoj aplikaciji, tako da mogu se one mogu znati unapred, i nakon instalacije se neće promeniti.

Page 18: Android Platforma

Android u budućnosti

Android se nalazi u okviru novog talasa mobilnih operativnih sistema, dizajniranih za poboljšanje mobilnog hardwera. Windows mobile i iPhone sada pružaju mnogo bogatije i jednostavnije okruženje za mobilne aplikacije. Medjutim, za razliku od Android-a, oni su razvili operativnim sistem koji često daje prioritet svojim aplikacijama preko onih kreiranih od strane drugih korisnika (third party), i tako ograničavaju komunikaciju izmedju aplikacija i podatak u samom telefonu.

Page 19: Android Platforma

Android pruža nove mogućnosti mobilnim aplikacijima, nudeći razvojno okruženje, zasnovano na open source-ovom Linux kernelu. Pristup hardweru je omogućen aplikacijama zasnovanim na API bibliotekama i interacijama tih aplikacija.U Android-u, sve aplikacije su iste važnosti. Aplikacije drugih korisnika i maternje Android aplikacije su napisane koristeći isti API i izvršene u isto „run time“. Korisnici mogu da brišu i menjaju bilo koju maternju aplikaciju sa svojom, alternativnom. Čak se mogu menjti početni ekran i komunikator.

Page 20: Android Platforma

Zanimljivosti

• Prodaja Android-a će prevazići iPhone 2012• OHA je posvećena tome da njenu viziju

pretvori u stvarnost: da razvije platformu za svakog operatora, proizvodjača dodatnih (handset) uredjaja, i proizvodjača inovativnih uredjaja

• Intel ne želi da izgubi svoje mesto u proizvodnji netbook-ova, tako da moraju da se pripreme za bilo šta, čak i za Android

Page 21: Android Platforma

• Fujitsu je pokrenuo inicijativu, kojom daje konsultovanje i iskustvo inženjera, prilikom razvoja Anrdoid-ovog hardwera, koji će, pored mobilnih telefona i portabilnih plejera, biti ugradjivan u GPS uredjaje i ostalje telekomunikacine uredjaje

• Na pomolu je još uredjaja, zasnovanih na Android-u, i nije isključeno da postanu vodeći ekspert u svojoj oblasti