Upload
jovan-djurovic-djuro
View
30
Download
4
Embed Size (px)
Citation preview
OPERATIVNI SISTEM
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.
• 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:
• 2.0/2.1 (Eclair) – preuredjen interfejs, i predstavljeni HTML5 i Exchange Active Sync
• 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.
• 2.3/2.4 (Ginngerbread) – poboljšani intrefejs i tastatura, ubačena copy-paste opcija, i dodata podrška za Near Field Communication.
• 3.0 (Honeycomb) – u obliku table sa velikim ekranom, sa poboljšanim interfejsom. Podržava procesore sa više jezgara.
• Ice Cream – kombinacija Gingerbread-a i Honeycomb-a, koja će tek biti predstavljena polovinom 2011 godine.
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
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
Operativni sistem
• 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
• 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...)
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
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.
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...
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.
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.
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.
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
• 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