offline
- E.L.I.T.E.
- Legendarni građanin
- Pridružio: 23 Maj 2012
- Poruke: 4575
|
- 19Ovo se svidja korisnicima: Aco, Xqpe, Srki94, vasa.93, _Sale, Sale.S, Fil, SlobaBgd, Dusan, Brok, mpman, Rogi, higuy, boki199777, mcrule, iCho, NIx Car, SvetiPythonTerminator, Peca
Registruj se da bi pohvalio/la poruku!
Originalni članak: Android is Based on Linux, But What Does That Mean?
Autor: Chris Hoffman
Prevod: E.L.I.T.E (pomogli: higuy, drummer, bocke, Srki94)
______________________________________________________________________
Uvod
Android se zasniva na Linuksu, ali ne na tipu Linuks sistema koji ste možda koristili na svom PC-u. Ne možete pokrenuti Android aplikacije na tipičnoj Linuks distribuciji kao što ne možete pokrenuti ni Linuks programe na koje ste navikli na Android-u.
Linuks čini jezgro Android operativnog sistema, ali Google nije dodao tipičan softver i biblioteke koje ćete pronaći na Linuks distribucijama kao što je naprimer Ubuntu. Ovo čini svu razliku.
Slika: Tux in Android Robot Costume 1
"Linuks" vs. Linuks jezgro (kernel)
Velika razlika ovde se svodi na to na šta mislimo kada kažemo Linuks. Ljudi koriste termin "Linuks" da imenuju puno različitih stvari. U najosnovnijem smislu, pojam Linuks se odnosi na Linuks jezgro. Jezgro je ključni element bilo kog operativnog sistema.
Linuks distribucije takođe nazivamo jednostavno "Linuks". Međutim, Linuks distribuciju ne čini samo Linuks kernel. Ona sadrži veliki broj drugih aplikacija , kao što su GNU-ove alatke, Xorg grafički server, GNOME okruženje, Firefox web pretraživač itd. Ovo je razlog zbog kog većina ljudi misli da bi termin "GNU/Linuks" trebao da se koristi za imenovanje "Linuks distribucija" poput Ubuntu-a, Mint-a, Debian-a, Fedora-e, Arch-a, OpenSUSE-a i ostalih.
Android 'ispod haube' koristi Linuks jezgro. Pošto je Linuks otvorenog koda, Guglovi Android programeri mogu da izmene Linuks jezgro za svoje potrebe. Linuks daje Android programerima već izgrađeno i održavano jezgro operativnog sistema te oni ne moraju ispočetka da pišu svoje. Ovo je način na koji su mnogi uređaji razvijeni - npr. , PlayStation 4 koristi FreeBSD jezgro otvorenog koda, dok Xbox One koristi Windows NT jezgro koje postoji u modernim verzijama Windows-a.
Čak ćete moći da vidite i verziju kernela koja se pokreće na vašem uređaju pod delom 'About phone' ili 'About tablet' u Android podešavanjima.
Slika: Arhitektura Linuks operativnog sistema
Razlike
Postoji dosta debata u kojima se Android karakteriše kao "Linuks distribucija". On koristi Linuks jezgro ostali softver, ali ne sadrži većinu softvera koje uobičajeno sadrže Linuks distribucije.
Kada pokrenete Android na nekom uređaju, Linuks jezgro se učitava baš kao što bi se učitavao i na nekoj Linuks distribuciji. Međutim, većina ostalog softvera je različita. Android ne koristi GNU-ovu C biblioteku (glibc) koju koriste standardne Linuks distribucije, niti uključuje sve GNU biblioteke koje se mogu naći u tipičnoj Linuks distribuciji. Takođe ne sadrži ni X server poput Xorg-a pa ne možete pokretati grafičke Linuks aplikacije na njemu.
Umesto da pokreće tipične Linuks aplikacije, Android koristi Dalvik virtuelnu mašinu da, u suštini, pokrene aplikacije pisane u Javi. Ove aplikacije su više usmerene ka Android uređajima i aplikacionim programskim interfejsima (API) koje omogućava Android nego ka Linuksu u opštem smislu.
Slika: Arhitektura Android operativnog sistema.
Zašto ne možete pokretati Linuks desktop aplikacije na Androidu?
Razlog je taj što Android ne poseduje grafički X server i sve standardne GNU biblioteke. Možete pokretati aplikacije pisane isključivo za Android.
Android ne poseduje komandnu ljusku kao onu koju možete pronaći na Linuksu. Ne postoji način za pristup bez dodatnih konfiguracija, ali možete instalirati aplikacije poput "Android Terminal Emulator" da bi dobili pristup konzolnom okruženju.
Podrazumevano ne postoji puno stvari koje možete uraditi na tom polju. Terminal će ionako da se pokrene u ograničenom okruženju, pa ne možete dobiti kompletan pristup preko komandne ljuske, osim ako rutujete svoj Android uređaj. Mnogo standardnih komandi koje će vam možda trebati nisu dostupne - to je razlog zbog kog korisnici koji rutuju svoj uređaj obično instaliraju BusyBox aplikaciju koja instalira puno konzolnih alatki. Android aplikacije koriste ove alatke da odrade aktivnosti preko njihovog root pristupa.
Slika: Terminal emulator for Android
Zašto ne možete pokretati Android aplikacije na Linuks desktopu?
Linuks ne poseduje u sebi Dalvik virtuelnu mašinu te na njemu ne može pokretati Android aplikacije. Dalvik virtuelna mašina i ostali alati koje koristi Android, ne mogu biti tek tako 'ubačeni' u Linuks - postoji dosta posla čak i za jednostavno prikazivanje aplikacija u standardnom desktop prozoru kroz, na primer, Xorg. Teoretski, uz ogroman trud, programeri mogu podesiti Dalvik na Linuksu tako da i Linuks korisnici mogu pokretati aplikacije za Android na desktopu. Sada neaktivan projekat Ubuntu for Android je pokušaj da se učini nešto slično, integrisanjem Ubuntu-a i Android-a na mobilnom uređaju i dozvoljavanjem pokretanja Android aplikacija na ovoj distribuciji.
BlueStacks i ostali emulatori Android aplikacija omogućavaju delimično da se ovo postigne na Windows-u i OS X-u. One pokreću Android na virtuelnom hardveru u virtuelnim mašinama omogućavajući time da se postignu gotovo isti rezultati kao na desktopu. Ove metode međutim se nisu pokazale kao vrlo popularne.
Slika: Bluestacks (autor: srki94)
______________________________________________________________________
Guglov Chrome OS je takođe baziran na Linuksu. Kao i Android, Chrome OS ne nudi standardni X sistem prozora, pa se standardne Linuks aplikacije ne mogu pokretati na njemu. Za razliku od Androida, Chrome OS je bliži standardnim desktop Linuks distribucijama pa možete koristiti programerski režim da bi instalirali softver sa Linuksa koji nedostaje.
Slika: Chromium OS (Updated)
|