Šta je to Kernel?

android kernel

Šta je to Kernel? Ako ste i malo čitali neki Android forum, blog … sigurno ste čuli da ljudi spominju kernel, što i mi često ovde radimo. Kernel nije nešto što je specifično samo Android operativnom sistemu. iOS, MacOS, Windows, BlackBerry ONX i drugi ga imaju, zapravo svaki napredni operativni sistem ga ima. Onaj za koji smo mi zainteresovani je Linux, jer je to osnova Androida. Pa da probamo da ga raščlanimo na to šta je i šta radi.

Android uređaji koriste Linux kernel, ali to nije identičan kernel kao i kod običnih Linux baziranih operativnih sistema. Postoji dosta koda ugrađenog u njega koji je specifičan Android platformi. Google ekipa koja ga održava je doprinela dosta na njegovom razvoju. Proizvođači su takođe ovde imali dosta posla, jer moraju da napišu drajvere za njihov hardver specifično za tu verziju kernela. Ovo je jedan od razloga zašto je potrebno određeno vreme Android developerima i hakerima da portuju novu verziju operativnog sistema na starije uređaje i da ga nateraju da radi. Tako da drajveri pisani za Gingerbread kernel ne mora da znači da će raditi i na Ice Cream Sandwich kernelu. A ovo je veoma bitno, jer kernelova glavna funkcija je da kontroliše hardver. Ovde ima jako puno koda, sa mnogo više opcija nego što možete i da zamislite, ali na kraju krajeva ovo je samo spona između hardvera i softvera.

Android

Kada je softveru potreban hardver da uradi bilo šta, on šalje zahtev kernelu. I kada kažem bilo šta, mislim bilo šta. Od osvetljenosti ekrana, preko jačine zvuka, do inicijalizacije poziva preko radia, čak i ono što se iscrtava na ekranu je kompletno kontrolisano preko kernela. Na primer: kada pritisnete dugme za pretragu na vašem telefonu, vi govorite softveru da otvori aplikaciju za pretragu. Ono što se zapravo dešava jeste da ste dodirnuli određenu tačku na ekranu osetljivom na dodir, što govori softveru da ste dodirnuli ekran na određenim koordinatama. Softver zna da ako je određena tačka pritisnuta, da je potrebno pokrenuti dialog za pretragu. Kernel govori ekranu osetljivom na dodir da osluškuje gde će se desiti dodir. Kao povratna informacija, kada sistem primi informaciju da je dodir izvršen na određenoj tački od kernela, on zna šta je potrebno da uradi da bi iscrtao potrebnu grafiku na ekranu. Softver i hardver komuniciraju preko kernela u oba smera, i ovo je zapravo kako vaš telefon zna kada treba nešto da uradi. Ulazna informacija sa jedne strane postaje izlazna na drugom kraju, bilo da igrate Angry Birds ili da spajate Bluetooth slušalice.

Zvuči komplikovani, ali i jeste. Ali je ovo zapravo standardna kompjuterska logika – za svaku akciju postoji definisana reakcija na svaki “događa”. Bez kernela, koji prihvata i šalje informacije, developeri bi morali da pišu kod za svaki pojedinačni “događaj” (event) za svaki pojedinačni deo hardvera u vašem uređaju. Sa kernelom, sve što je potrebno je da komuniciraju sa njim preko sistemskih Android API-a, a hardverski developeri treba da osposobe komunikaciju hardvera sa kernelom. Dobra strana je da ne morate da znate kako ili zašto kernel radi to što radi. Dovoljno je da razumete da je on prevodilac između softvera i hardvera koji kontroliše sve što se dešava ispod stakla.

Sada vam je valjda malo jasnije zašto developeri kernela rade celu noć kada prepravljaju kernel za vaš telefon.

[via AndroidCentral]

Objavljeno u Android rečnik

eboye

Vasilj
Milošević
Objavio tekstova:
Čovek koji je uvek tu kada ste u nevolji i koji će vam uvek pomoći svojim savetima i IT iskustvom. Hobi mu je čitanje ChangeLog-a. Posle HTC Hero telefona posedovao je HTC Desire HD, HTC One X, LG Nexus 5, LG G3 a sada je ponosni vlasnik LG G4 telefona. Inače je grafički dizajner po struci i zanima ga sve u vezi modernih tehnologija. Čovek pored kojeg morate biti Up To Date je autor na Srbodroidu. (napisala: goldie)

11 misli na “Šta je to Kernel?

  1. Sony Ericsson programeri se razbise od posla. Moja Xperia X10 (2.3.3) jos uvek koristi 2.6.29 kernel, a koliko vidim i nove Xperia-e iz 2011. kada budu dobile ICS update ce ostati na starom 2.6.32 kernelu. Verovatno nemaju nocnu smenu 😀

    Za ili protiv: Thumb up 0 Thumb down 0

  2. Pingback: LG c660 CM9 vs Stock [benchmark] | Srbodroid

  3. Pingback: Dominacija Linuxa na mobilnom tržištu | Srbodroid

  4. Imam mobilni telefon Samsung Galaxy S I9070 koristim ga oko 6mjeseci i kada sam neki dan uključila wi-fi ugasio me telefon i posle se neprestano počeo paliti i gasiti, zatim mi je pojavio neki tekst kernel. Mislim da je taj kernel i otišao. Koliko sam pročilata iz ovog članka taj kernel se ne može poporaviti ?

    Za ili protiv: Thumb up 0 Thumb down 0

  5. A citao sam par puta kad ljudi razgovaraju kako su instalirali isti castum room ali pitaju jedan drugoga koji kornel koristis pa me zanima u cemu je tu razlika i kako to da za isti model telefona na istom roomu nije isti i kornel

    Za ili protiv: Thumb up 0 Thumb down 0

  6. Pingback: Android particije objašnjene: boot, system, recovery, data, cache i misc | Srbodroid

  7. Pingback: Android koji radi na kalkulatoru!? | Srbodroid

Ostavi komentar

Vaša email adresa neće biti javno objavljena. Polja koja su obavezna obeležena su sa *