Logo tl.androidermagazine.com
Logo tl.androidermagazine.com

Ano ang isang kernel?

Anonim

Ano ang isang kernel? Kung gumugol ka ng anumang oras sa pagbabasa ng mga forum sa Android, blog, kung paano mag-post o online na talakayan ay maririnig mo na ang mga tao na nagsasalita tungkol sa kernel. Ang isang kernel ay hindi isang bagay na natatangi sa Android - ang iOS at ang MacOS ay may isa, ang Windows ay may isa, ang QNX ng BlackBerry ay may isa, sa katunayan ang lahat ng mga antas ng operating system ay may isa. Ang isa naming interesado ay ang Linux, dahil ito ang ginagamit ng Android. Subukan nating sirain kung ano ito at kung ano ang ginagawa nito.

Ginagamit ng mga aparato ng Android ang kernel ng Linux, pumusta ang bawat telepono ay gumagamit ng kanilang sariling bersyon nito. Ang mga tagapangalaga ng kernel ng Linux ay pinapanatili ang lahat na malinis at magagamit, ang mga nag-aambag (tulad ng Google) ay nagdaragdag o nagbabago ng mga bagay upang mas mahusay na matugunan ang kanilang mga pangangailangan, at ang mga taong gumagawa ng hardware ay nag-aambag din, dahil kailangan nilang bumuo ng mga driver ng hardware para sa mga bahagi na ginagamit nila para sa bersyon ng kernel na ginagamit nila. Ito ang dahilan kung bakit tumatagal ng habang panahon para sa independiyenteng mga developer ng Android at hacker na mag-port ng mga bagong bersyon sa mga mas lumang aparato at makuha ang lahat. Ang mga driver na isinulat upang gumana sa isang bersyon ng kernel para sa isang telepono ay maaaring hindi gumana sa ibang bersyon ng software sa parehong telepono. At mahalaga iyon, dahil ang isa sa mga pangunahing pag-andar ng kernel ay upang makontrol ang hardware. Ito ay isang buong maraming code ng mapagkukunan, na may higit pang mga pagpipilian habang itinatayo ito kaysa sa maaari mong isipin, ngunit sa huli ito lamang ang tagapamagitan sa pagitan ng hardware at software.

Kapag ang software ay nangangailangan ng hardware upang gumawa ng anumang bagay, nagpapadala ito ng isang kahilingan sa kernel. At kung may sasabihin tayo, anupat wala tayong kahulugan. Mula sa ningning ng screen, hanggang sa antas ng dami, upang magsimula ng isang tawag sa pamamagitan ng radyo, kahit na kung ano ang iginuhit sa display ay sa wakas ay kinokontrol ng kernel. Halimbawa - kapag na-tap mo ang pindutan ng paghahanap sa iyong telepono, sinabi mo sa software na buksan ang application ng paghahanap. Ang mangyayari ay naantig mo ang isang tiyak na punto sa digitizer, na nagsasabi sa software na naantig mo ang screen sa mga coordinate. Alam ng software na kapag naabot ang partikular na lugar na iyon, dapat na buksan ang dialog ng paghahanap. Ang kernel ay kung ano ang nagsasabi sa digitizer na tumingin (o makinig, ang mga kaganapan ay "nakinig" para sa) para sa pagpindot, tumutulong na malaman kung saan mo hinawakan, at sinabi sa system na hinawakan mo ito. Kaugnay nito, kapag tumatanggap ang system ng isang kaganapan sa pagpindot sa isang tukoy na punto mula sa kernel (sa pamamagitan ng driver) alam nito kung ano ang iguhit sa iyong screen. Parehong ang hardware at ang software ay nakikipag-usap sa parehong mga paraan sa kernel, at iyon ay kung paano nalalaman ng iyong telepono kung kailan gumawa ng isang bagay. Ang pag-input mula sa isang panig ay ipinadala bilang output sa iba pa, kung naglalaro ka ba ng mga Nagagalit na Ibon, o kumonekta sa Bluetooth ng iyong sasakyan.

Ito ay kumplikado, at ito ay. Ngunit ito rin ay medyo karaniwang lohika ng computer - mayroong isang pagkilos ng ilang uri na nabuo para sa bawat kaganapan, at depende sa pagkilos na nangyayari ang mga bagay sa pagpapatakbo ng software. Kung walang kernel na tanggapin at magpadala ng impormasyon, kailangang isulat ng mga developer ang code para sa bawat solong kaganapan para sa bawat solong piraso ng hardware sa iyong aparato. Sa kernel, ang kailangan lang nilang gawin ay makipag-usap sa pamamagitan ng system ng system ng Android system, at ang mga tagagawa ng hardware ay kailangang gumawa lamang ng komunikasyon ng aparato sa kernel. Ang magandang bagay ay hindi mo kailangang malaman nang eksakto kung paano o kung bakit ginagawa ng kernel kung ano ang ginagawa nito, ang pag-unawa lamang na ang go-sa pagitan ng software hanggang sa hardware ay nagbibigay sa iyo ng isang magandang mahusay na pagkakahawak sa kung ano ang nangyayari sa ilalim ng baso.

Pagsunud-sunurin ayon sa nagbibigay ng isang bagong bagong pananaw patungo sa mga kasama na tumatagal sa buong gabi upang gumana sa mga kernels para sa iyong telepono, hindi ba?