FAKULTET TEHNIČKIH NAUKA KOSOVSKA MITROVICA
Operativni sistem na iPhone telefonu i objective C (uvod) Predmet: Operativni sistemi 1
Autor:,
Sadržaj: 1.Uvod............................................................................................................................................................ 3 2.Pojam iPhone-a.......................................................................................................................................... 3 3.C programski jezik ..................................................................................................................................... 4 3.1.iOS - Objective C programski jezik .................................................................................................... 5 3.1.1.Prednosti i nedostaci verzije iOS ................................................................................................. 6 3.1.2.Promena dizajna .......................................................................................................................... 7 4.Zaključak.................................................................................................................................................... 9 5.Literatura ................................................................................................................................................. 10
2
1.Uvod iPhone je prvi mobilni telefon fabrike Apple. Karakteriše ga kapacitivni multi-touch ekran osetljiv na dodir pomoću kojeg se upravlja telefonom i unosi tekst s obzirom da ne poseduje fizičku tastaturu nego virtualnu. Ova vrsta mobilnih telefona ima internet pretraživač Mobile Safari, GSM/GPRS/EDGE spojivost, ugrađeni Wi-Fi modul koji podržava (802.11b/g/pre-n) standarde, Bluetooth 2.1 EDR+ koji se može koristiti isključivo za prenos audio signala. Poseduje kameru od 2 Megapixela, službeno ne podržava video snimanje iako postoje neslužbeni načini da se doda mogućnost video snimača. Dijagonala ekrana je 3.5 inča pri rezoluciji od 480x320 pixela i 163 PPI (pixels per inch). Ekran koristi jedinstvenu Multi-Touch tehnologiju koja omogućava beleženje dodira na više tačaka odjednom za koju Apple drži patent. Ekran osetljiv na dodir koristi kapacitivnu tehnologiju za beleženje dodira na samom ekranu promenom napona na samom ekranu prilikom dodira prsta za razliku od rezistivne koja beleži samu snagu dodira. iPhone takođe sadrži više različitih senzora kao što je senzor za svetlo koji automatski prilagođava osvetljenje na ekranu spoljašnjim prilikama, te senzor za blizinu koji gasi ekran kada se telefon prinese na uho. Poseduje i automatski žiroskop koji detektuje usmerenje i inklinaciju samog uređaja te prema tome prilagođava prikaz na ekranu. U početku su bila predstavljena dva modela 4GB i 8GB, da bi se sa vremenom 4GBa model ukinuo te uveo onaj od 16 GBa. U prodaju je krenuo 29.10. 2007. godine a prestao se prodavati 11.7. 2008. godine kada je zamenjen novom verzijom imena iPhone(3G). Sa iPhone-om je predstavljena i potpuno nova mobilna platforma zvana iPhone OS, kasnije iOS, bazirana na Mac OS X operativnom sistemu prilagođenom za mobilne uređaje. Sa pojavom iPhone-a 3G, 2008. godine, iPhone je dobio iPhone OS 2 operativni sistem, što je donelo podršku za App Store, tržište aplikacija, na kome se kupuju ili preuzimaju aplikativni programi od raznih izdavača. Sa iPhone-om 3GS 2009. godine došao je i iPhone OS 3, sa podrškom za pretraživanje aplikacija, Cut/Copy/Paste i obaveštenja. 3.1.3 je poslednja verzija sistemskog softvera za prvi iPhone.
2.Pojam iPhone-a iPhone je porodica pametnih telefona kompanije Apple. Pokreće ga mobilni operativni sistem iOS, koji se zvao iPhone OS, sve do juna 2010, kada je predstavljena verzija iOS. Najnovija verzija ovog operativnog sistema jeste iOS 7 koji je instaliran u najnovije uređaje iPhone 5S i 5S a može se instalirati i u sve iPhone modele počevši od četvrte generacije. iPhone poseduje ekran veličine oko 3,5 inča (prve četiri generacije) i 4 inča (peta generacija). iPhone može da snima snimke (to nije bilo standardno do iPhone 3GS), slika, pušta muziku, šalje i prima imejlove, surfuje internetom, šalje tekstualne poruke itd. Druge mogućnosti kao što su igre, GPS navigacija, društvene mreže itd. Mogu
3
biti omogućene preuzimanjem aplikacija. Od 2012. godine se u App Store nalazi više od 775 000 000 aplikacija. Za sada postoji osam „vrsta“ Ajfona: Ajfon prve generacije (predstavljen 9. januara 2007). Prvi ajfon je imao zadnju kameru od 2 megapiksela, procesor od 620MHz i displej od 3.5 inča. Ajfon 3G je imao, za razliku od prethodnika, 3G internet sa A-GPRS lokacijom. Afjonu 3GS dodat je brž procesor i kamera od 3.2 megapiksela koja je mogla da snima video u 480p. Ajfon 4 ima veću rezoluciju od prethodnika, 960x640, zadnju kameru sa većom rezolucijom i prednju sa manjom, koja se može koristiti za video pozive i druge aplikacije, kao i blic. Bio je prvi ajfon sa aluminijskom konstrukcijom. U Ajfon 4S dodati su, u odnosu na prethodnika, kamera od 8 megapiksela sa 1080p snimcima, dual-kor procesor, sa 3,5-inčnim „retina displejem“ i programom kojim se upravlja glasom, Siri. Ajfon 5 je imao dual-kor A6 procesor, 4-inčni „retina displej“. Stari punjač je zamenjenim novim (tkzv. Lightning). Ajfon 5S je iznutra isti kao Ajfon 5, samo što je izgrađen od polikarbonatske plastike. Najnapredniji Ajfon do sada, prvi mobilni telefon ikada sa 64-bitnim procesorom, takođe sadrži i novi skener otisaka prstiju integrisan u Home taster, A7 dual-kor procesor kao i dupli blic.
3.C programski jezik C programski jezik spada u proceduralne programske jezike koji je razvijen u ranim 70-im godinama 20. veka. Autor ovog programskog jezika je Dennis Ritchie, no značajan doprinos nastanku C-a dali su Ken Thompson kao autor programskog jezika B i Martin Richards, autor programskog jezika BCPL. Dennis Ritchie je stvorio ovaj programski jezik za rešavanje praktičnih problema kodiranja sistemskih programa i jezgre operativnog sistema UNIX, koji je praktički u celosti napisan u C-u. Programski jezik C dosta se menjao tokom godina te je u više navrata neformalno i formalno standardizovan. Prva važnija verzija poznata je pod nazivom "K&R C", što je engl. skraćenica prezimena dvaju autora najpoznatijeg C priručnika "The C Programming Language", a to su Brian Kernighan i Dennis Ritchie. Prvo izdanje te vrlo sažeto i precizno pisane knjige koje datira iz 1978. godine ujedno je de facto standardizovalo jezik u 70-ima. Drugo izdanje iz 1988. godine opisuje "ANSI C", standard kojeg je 1983. godine izdao američki nacionalni institut za standardizaciju, a koji je i danas najbolje podržan. Aktualni ISO/IEC standard skraćeno poznat kao "C99" podržava u celosti samo jedan manji deo komercijalnih proizvođača softvera. Kao jedan od najvažnijih jezika u historiji komercijalne računarske industrije, C je do danas ostao jedini programski jezik prilagođen za sve računarske platforme, od malih sistema pa do mrežnih superračunara. Programi napisani u njemu vrlo su bliski načinu rada hardvera te zahtevaju od programera dobro razumevanje rada procesora, memorije, ulazno-izlaznih sklopova itd. Ali, rad s registrima procesora i adresiranje memorije apstrahovani su pomoću koncepta varijabli i pokazivača što uz eksplicitne kontrolne strukture i funkcije znatno olakšava programiranje u odnosu na 4
programiranje u mašinskim jezicima. Tokom 1980-ih, Bjarne Stroustrup zajedno s drugim istraživačima u Bell Labs proširuje C dodavajući sposobnosti objektno orijentiranog programiranja, a naziv ovog novog programskog jezika je C++. Nažalost, ta je 100%-na kompatibilnost ujedno i razlog što su problemi koje programiranje u C-u nosi sa sobom nasleđeni u C++-u. Efikasno i sigurno programiranje u C-u vrlo je zahtevna veština koja traži višegodišnje iskustvo pa je stoga C jezik koji se ne preporučuje početnicima, posebno ako im programiranje nije primarni posao. Mnogobrojni problemi vezani pre svega za upravljanje memorijom koje programer mora sam eksplicitno programirati razlog su da je danas većina novih korisničkih aplikacija napisana u nekom modernijem jeziku koji ima ugrađeno automatsko upravljanje memorijom (engl. garbage collection), ne dopušta odmah rad s memorijom pomoću pokazivača, ali ima podršku za upravljanje kodom odnosno njegovom okolinom za vreme njegova izvođenja. Danas se relativno retko ukazuje potreba za pisanjem novih korisničkih aplikacija u C-u, pa čak i u vrlo malim sistemima kao što su npr. mobilni telefoni. Glavno područje njegove upotrebe su sistemski programi na strani računara (engl. servers), programi prevoditelji (engl. compilers) i jezgra operativnih sistema (engl. operating system kernels), gde je potreba za najvećom mogućom brzinom izvođenja, efikasnom kontrolom resursa i kontrolom hardvera od primarne važnosti.
3.1.iOS - Objective C programski jezik Kompanija Apple je napravila revolucionarni potez novim dizajnom softvera IOS 7.Nakon sedam godina postojećeg mobilnog operativnog sistema, Apple je u San Francisku predstavio totalno redizajnirani iOS 7 na kome je radio čuveni dizajner Džoni Iv. Promenjen iz korena, novi iOS obiluje značajnim novinama od kojih je najprimetnija upravo ona estetska. Uveden je novi sistem kojem se pristupa putem "svajp" pokreta ka gore, nakon koga se otvaraju nove aplikacije poput kontrole baterije, muzičkog programa, baterijskoj lampi i aplikaciji za kameru. iOS je mobilni operativni sistem kompanije Apple. Prvobitno je razvijen za iPhone, a kasnije i za ipod tač, Ipad i Apple TV. Apple ne dozvoljava pokretanje iOS sistema na hardveru drugih proizvođača. Od 1. septembra 2010, Applov servis Ap storsadrži više od 250.000 aplikacija za iOS, koje su preuzete više od 6,5 milijardi puta. iOS je baziran na Eplovom operativnom sistemu OS X koji je baziran na sistemu Darwin BSD i stoga pripada grupi juniksolikih operativnih sistema. Aktuelni operativni sistem iOS 7.0.4 koristi oko 1–1.5 GB prostora na memoriji, što varira u zavisnosti od modela. Ovaj operativni sistem je najavljen 9. januara 2007. i objavljen juna iste godine. 17. oktobra 2007. je najavljen paket softverskih razvojnih alata za ovaj mobilni sistem (iOS SDK) čija je beta verzija izašla 6. marta 2008. kao i zvanični naziv sistema, iPhone OS. Juna 2010. Apple je promenio ime operativnog sistema u iOS. Najnovija verzija iOS operativnog sistema je iOS 7.0.4 koji je objavljen 14. novembraa 2013. Arhitektura iOS operativnog sistema se sastoji iz više softverskih slojeva od kojih svaki pruža okvire za programiranje i razvoj aplikacija koje koriste hardver koji se nalazi u osnovi. iOS ima osnovu koja je slična onoj koju 5
ima juniks operativni sistem. Svaka aplikacija može pristupiti svakom od prikazanih slojeva na steku da bi izvršila zadatak na uređaju. Međutim, svaki sloj pruža viši nivo apstrakcije u odnosu na rad sa hardverom. Pri programiranju aplikacija za iOS treba se truditi da se rešenja nađu u višim slojevima pre nego što se pristupi pisanju koda koji zalazi u niže slojeve. Uveden je i multitasking, te se sada lako koristi više aplikacija odjednom, a i popularni programi poput Siri, App stora i iTunes radija dobili su značajne apdejtove pa sada obavljaju zadatke i u samom telefonu. Prvi kontakt može biti veoma bolan. To je objektno-orijentisani jezik, sličan SmallTalk-u, nastao iz Ca nekih 70ih godina. Ono što je zanimljivo u odnosu na Javu ili C#, u ObjectiveC se ne koriste metode, već se razmenjuju poruke. Druga stvar po kojoj se ObjectiveC razlikuje od Jave i C# je da programeri moraju sami da upravljaju memorijom, ali ne na način na koji se to radi u C++, već se pomoću retain/release naredbi zauzima/oslobađa memorijski prostor. Od verzije iOS 5 i XCode verzije 4.2 postoji nešto što se zove automatic reference counting (ARC) koji dosta olakšava upravljanje memorijom. Preciznije, ARC radi i za iOS 4.3, ali je potrebno da se na mašini ima instaliran iOS 5 SDK. U XCodeu postoji opcija koja upozorava kada se nije releasovao neki objekat.
3.1.1.Prednosti i nedostaci verzije iOS Novi Appleov operativni sistem mogao bi značajno uticati na izmene korisničkog iskustva i navika, ali i omogućiti da autori aplikacija rade kvalitetnije. iOS predstavlja veliki test za kompaniju, kao i izazov za developere. Appleov operativni sistem iOS7 koji je sada dostupan za preuzimanje doneo je mnoge promene na mobilnu platformu, a dostupan je za iPhone 5, 4S i 4 modele, odnosno iPad 2, 3 i 4, kao i iPad mini, te petu generaciju iPod touch uređaja. Da se omogućila nadgradnju iOSa potrebno je da se u opcijama za podešavanje (Settings) pronađe polje General i klikne na Sistem Update. Update zahteva Wi-Fi konekciju i punu bateriju, odnosno da se prilikom nadgradnje uređaj drži priključen na punjač. Neposredno nakon što je lansirana nova verzija operativnog sistema veliki broj aplikacija omogućio je i ažuriranja za svoje postavke, zbog čega je korisnicima nakon nekih sat vremena razlike izgledalo kao da koriste sasvim novi uređaj. Kao i svaka izmena i nadgradnja i dolazak sedmog po redu iOS-a bio je razlog da se jednima promene svide, a drugima da negoduju. Sam iOS7 i nije doneo toliko razloga za nervozu koliko nemogućnost usklađivanja sa mrežnim parametrima operatera, što je kod većine korisnika profunkcionisalo tek krajem dana. No i izvan subjektivne ocene korisnika i ova nadgradnja donela je brojne prednosti i određene, manje, nedostatke u odnosu na prethodnu verziju, a one se u najvećoj meri odnose na developere aplikacija. Sam iOS7 i nije doneo toliko razloga za nervozu koliko nemogućnost usklađivanja sa mrežnim parametrima operatera, što je kod većine korisnika profunkcionisalo tek krajem dana. No i izvan subjektivne ocene korisnika i ova nadgradnja donela je brojne prednosti i određene, manje, nedostatke u odnosu na prethodnu verziju, a one se u najvećoj meri odnose na developere aplikacija.
6
Ukoliko se već bavilo kreiranjem aplikacija na nekoj od prethodnih verzija iOS-a, prvo što će se uočiti je da su se autori pre lansiranja nadgradnje na sedmu verziju fokusirali na kombinovanje stabilnosti sistema sa visokim performansama, nudeći developerima brojne korisne alatke za kreiranje brzih i moćnih aplikacija koje će korisnici smatrati upešnim i korisnim.
3.1.2.Promena dizajna Novi iOS dizajniran je i tako da kod developera probudi novu kreativnost i produktivnost, a promene se odnose na novu upotrebu čistije palete boja, jasnije fontove, kursore i oznake za tastere na displeju koje su sada tanje, oštrije i uočljivije. Mnogi će oceniti da je izostanak 3D varijanti i upotreba „ravnijih” oznaka i ikonica možda čak i preterano minimalitička, ali je vodeći dizajner Applea Džonatan Ajv po svemu sudeći insistirao na jednostavnosti, pa se od developera očekuje da i to imaju na umu. Osim stilskih, iOS 7 doneo je i sistemska rasterećenja, efikasnije performanse procesora, kao i omogućavanje multitaskinga na uređaju. Ovo znači da su aplikacije za iOS 7 znatno efikasnije i da mogu pozadinski funkcionisati dok uređaj nije u aktivnoj upotrebi bez negativnog uticaja na sistem, kao celinu. Pomak ostvaren na novom iOS-u pozitivno deluje i na celu tehnološku industriju tako što podstiče takmičarski duh kod programera i za krajnji rezultat ima kvalitetnije aplikacije i servise. S obzirom da će se budućnost savremene tehnologije, ali i brojni servisi, polazeći od bankarstva, prodaje, pa do oglašavanja i medija u konačnici svesti na aplikacije, iOS 7 je izvanredna polazna osnova za uspostavljanje kvalitetnijih platnih, informativnih i sigurnosnih sistema. Uz iOS 7 došla je i bolja podrška za najpopularnije društvene mreže. Pre svega, svaki sadržaj je sada još jednostavnije nego pre podeliti sa drugim korisnicima, sa svega dva klika. Ovo bi moglo biti od ključnog značaja za poslovni svet koji informacije o svojim novim proizvodima i uslugama želi da objavi što većem krugu korisnika, a društvene mreže su upravo jedan od načina. iOS 7 donosi i mnogo bolje iCloud opcije, a tu je i AirDrop funkcija za deljenje sadržaja sa korisnicima drugih Appleovih uređaja, kao i poboljšana grafika na korisničkom interfejsu. Omogućeno je i unapređenje za peer-to-peer i mrežnu sigurnost, kao i bolje performanse Wi-Fi i Bluetooth konekciju i transfer fajlova. Takođe, kada uređaj povežete sa računarom putem kabla, na displeju se od sada pojavljuje pitanje da li dozovoljavate da računar ima podacima sa uređaja. Ono što je, međuim, izazov za developere jete da aplikacije koje budu kreirali prilagode i prefinjenostima iOS-a 7, ali i starijim verzijama operativnog sistema, budući da neće svi korisnici želeti ili u dogledno vreme imati nadgradnju. Kreiranje aplikacije za Applove uređaje biće u ovom slučaju nešto koplikovanije, jer, budete li se želelo da se zadovolji dva potpuno različita načina rada, biće neophodno da se podrede određenim programskim kontradiktornostima, kako bi se zadržale postojeće i doprl do novih baza korisnika. Važno je imati na umu da je dizajniranje aplikacija koje su kompatibilne sa više oprativnih sistema jednostavno skuplje, a naročito u ranoj fazi, s obzirom na rizik, uložena sredsva bi se mogla vratiti u mnogo manjoj meri.
7
Prema ChangeWave istraživanju, Appleov iOS je najtraženiji operativni sistem mobilnih uredjaja. Od kupaca koji žele da kupe pametni telefon u narednih 90 dana, njih 46% planira da kupi uredjaj sa Apple iOS operativnim sistemom. Istraživanje je saznalo da Apple ima najviši nivo zadovoljstva potrošača gde 70% njih kaže da su veoma zadovoljnii, u poredjenju sa androidom gde 50% njih kaže isto.
8
4.Zaključak Iako je iOS 7 kompatibilan sa uređajem iPhone 4, na njemu je sistem znatno sporiji u odnosu na dinamiku kojom funkcioniše na „petici“. Ovo je važno imati na umu naročito nakon što Apple svakog kvartala objavi podatke o prodaji u kojima se navodi da je isporučen sve veći broj uređaja starije generacije. Za Apple je karakterističan jedan trend – nakon što kompanija lansira novi uređaj poveća se broj isporuka starijih verzija. Nakon izlaska „petice“ isporučena je još već količina uđaja iPhone 4 i 4S, budući da im cene tek tada budu snižene, a oni koji ne mogu da priušte novitet ipak ne odusaju od „jabuke“, pa im ovo predstavlja izvanrednu priliku za kupovinu. Ova trend je naročito primetan u poslednje dve godine Appleovog poslovanja, a znatno se odrazio i na finansijske rezultate kompanije – prodaja je rasla, a prihodi su opadali. Za developere je, dakle, ovo još jedan signal da postoji veliki broj onih koji neće tek iz čiste znatiželje preći na iOS 7, jer nakon što se pročuje da, iako kompatibilna, nova verzija ne funkcioniše besprekorno na „četvorci“, preuzimanja će bii manje nego što se sada očekuje.
9
5.Literatura [1] Cox, Brad J. (1991). Object Oriented Programming: An Evolutionary Approach. Addison Wesley. ISBN 0-201-54834-8. [2] https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Programming WithObjectiveC/Introduction/Introduction.html [3] http://www.sk.co.rs/2010/05/skse01.html [4] http://www.ianatomija.info/2011/07/sta-znaci-jailbreak-unlock-i-baseband.html
10