Šta je to Kernel?

Objavio u 26/01/2012 u 16:44

Š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]

Tags: kernelLinuxOSXsponawindows

Autor
eboye Vasilj Milošević

Objavljenih tekstova: 1160

Č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, LG G4, HTC 10 a sada je ponosni vlasnik Xiaomi Mi Mix 2S telefona. Inače je grafički dizajner po struci, ali se sada bavi programiranjem i zanima ga sve u vezi modernih tehnologija. Čovek pored kojeg morate biti Up To Date je autor na Srbodroidu. (napisala: goldie)

12 komentara, pridruži se diskusiji!
  • 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

  • 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 ?

  • 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 😀

  • Hvala na poučnim člancima 🙂

Odgovori na kvajuOdustajem od odgovora

Your email address will not be published. Required fields are marked *