Wikiproiektu:Informatika/Kernel3

Artikulu hau "Kalitatezko 2.000 artikulu 12-16 urteko ikasleentzat" proiektuaren parte da
Wikipedia, Entziklopedia askea

Sistema eragileak, non kokatzen diren aplikazioaren eta hardwarearen artean.

Sistema eragilea software bat da eta programekin eta datuekin osatzen da. Sistema eragileak konputagailuaren hardwarea kudeatzen du, eta askotariko software aplikazioak efizientziaz exekutatzeko zerbitzu komunak eskaintzen ditu.

Sistema eragile baten oinarrizko helburuak eta ikuspuntuak bi dira, elkarren artean erlazionaturik badaude ere: batetik makina-mailakoak baino funtzionalitate ahaltsuagoak eskaintzea programei eta programatzaileei, eta bestetik, baliabideen kudeaketa orekatu eta eraginkorra. Lehen helburua sistema-deiek betetzen dute, horretarako, sistema-dei horien kodea definitu behar da, baina hori egiterakoan baliabideen kudeaketa orekatua eta eraginkorra hartu behar da kontuan. Era berean, kudeaketa egokia ziurtatzeko sinkronizazio/komunikazioa eduki behar da kontuan.

Sistema eragilea beharrezkoa da erabiltzailea konputagailuarekin komunikatzeko. Hardwarearen funtsezko kudeaketa oso konplexua da, hori dela eta, sistema eragileak sistemaren ulermena eta erabilpena errazten du erabiltzailearentzat.

Makinaren zehaztasunak alde batera utziz, oro har, baliabideak kudeatzeko aukera eskaintzen duen softwarea da. Mota honetako softwarea, mikroprozesadoreak erabiltzen dituzten sistema gehienetan aurki dezakegu, hala nola, telefono mugikorretan, DVDak ikusteko sistemetan, konputagailutan eta abarretan.

Kernela[aldatu iturburu kodea]

Kernela, sistema eragilearen (SE) modulu zentrala da. Sistema eragilearen zatietatik lehen kargatzen dena da eta memoria nagusian mantentzen da sistema eragilea berriro itzali arte. Memorian egotearen ondorioz, garrantzitsu da kernela ahal bezain txikia izatea sistema eragilearen beste zati guztiei beharrezkoak dituzten zerbitzuak ematen dizkien bitartean. Kernelaren kodea normalean memoriaren eremu babestu batean kargatua izaten da, beste programa edo sistema eragilearen zatiek ez dezaten gainidatzi. Prozesuen arteko komunikazioa eta sistema-deiak erabiliz, aplikazioen eta hardware mailan burututako ekintzen arteko zubi moduan jarduten du. Sistema eragile orok du bere kernela, adibidez Linux kernela sistema eragile askotan erabilia da adibidez FreeBSD, Android, Linux bera eta beste zenbait.

Kernelaren ardurak[aldatu iturburu kodea]

Kernelak konputagailuari baliabideak eskaini eta kudeatzen dizkio, beste programei exekuzioa eta baliabide horiek erabiltzea baimenduz. Kernelak gainera memoriako helbide espazioa ezartzen du aplikazioetarako, memorian aplikazioen kodea duen fitxategiak kargatzen ditu eta programentzako edota programen barnean kokapen bereziak dituzten adarrentzako exekuzio pila ezartzen du.

Kernela hauen arduradun da:

  • Aplikazioen exekuziorako prozesuak kudeatu.
  • Memoriaren Sarrera/Irteera, esleipena eta kudeaketa.
  • Gailuean kudeaketa gailu driverren erabilerarekin.
  • Sistema-deien kontrola, kernelaren exekuziorako beharrezko dena.

Kernel motak[aldatu iturburu kodea]

Kernel monilitikoak[aldatu iturburu kodea]

Sistema eragilearen zerbitzu guztiak kernelaren hari nagusian zehar exekutatzen dira monolitozko kernel batean. Memoria-eremu babestu berean bizitzeak hardware sarbide indartsu eta aberatsaz hornitzen dio. Monolitozko kernelek beren kontrolpean dauden osagai guztien gaineko pribilegio osoa gordetzen dute, haien artean fitxategi sistema, prozesuen arteko komunikazioa, Sarrera/Irteera eta gailuen kudeaketa, oinarrizko prozesuen antolaketa eta hardwarea. Monolitozko kernelak beste kernelak baino handiagoak izaten dira, ordenagailuaren prozesu askori aurre egiten dietelako maila baxuetan,beraz, gailu, Sarrera/Irteera eta eten kanal edota beste hardware operadore askoren interfazeak dituzten kodeak inkorporatu behar dituzte. Kernelaren arkitektura berriagoak, esate baterako, mikrokernel edo kernel hibridoen diseinua hobestearen arrazoia zenbat eta kernela handiagoa izan orduan eta funtzio gehiago behar dituko dituela. Horrek kodea astuna egiten du eta motelagoa egin kode horren karga.

Mikrokernelak[aldatu iturburu kodea]

Hardwarearen gaineko abstrakzio sinple bat definitzen du, multiataza, memoriaren antolaketa edo interprozesu-komunikazioa bezalako sistema eragilearen zerbitzu minimo batzuk ezartzeko sistema-deiak erabiltzen dituena. Sistema eragile bat ezartzeko beharrezkoak diren ezaugari eta funtzio minimo batzuk dituen kode edo sofwtare zati bat da. Mekanismo kopuru minimo bat ematen du, sistema baten oinarrizko funtzioak betetzeko nahikoa, hauek malgutasun hadiz ezartzea bilatuz, honek sistema eragilearen beste zati batzuei eraginkortasunez gauzatzea ahalbidetzen die, ez baitu politaka asko inposatzen.

Kernel hibridoak[aldatu iturburu kodea]

Zerbitzu gutxi batzuk exekutatzen ditu kernelaren espazioan mikrokernel tradizionalen errendimendua murrizteko, kernel kodea zerbitzari gisa exekutatzen ari den bitartean erabiltzaileen espazioan. Azken finean mikrokernel eta monolitozko kernelaren arteko konbinazio bat da. Horrela kernel arkitektura honek monolitozko kernelaren azkartasun eta diseinu sinplearen eta mikrokernelaren modularitate eta exekuzio babestuearn konbinazioa aprobatxatzen du.

Nano kernelak[aldatu iturburu kodea]

Kernel txiki bat da hardware abstrakzio eskaintzen duena baina sistema zerbitzurik gabe. Kernel handiagoak ezaugarri gehiago eskaintzeko eta hardware abstrakzio gehiago kudeatzeko diseinatuta daude. Mikrokernel modernoei sistema zerbitzuak falta zaizkie, hortaz, mikrokernel eta nanokenel terminoak antzekoak bihurtu dira. Historikoki, nanokernel hitzak, kernelaren kode osoaren bolumena, hau da, hardwarearen modu pribilegiatuan exekutatzen ari den kodea nahiko txikia den kernel bat adieratzen du.

Exo kernelak[aldatu iturburu kodea]

Hardware-baliabide fisikoak esleitzen ditu, hala nola, prozesadore-denbora eta deisko-blokeak, beste programa batzuetarako. Programa horiek, kernela sistema eragilearen abstrakzioak simulatzeko erabiltzen duten sistema eragileaeen liburutegietara lotu daitezke. Exokernela Massachusettseko Teknologia Institutuan garatutako sistema eragilea da, hardware baliabideen aplikazio maila kudeatzea bilatzen duena. Exokernel arkitektura baliabideen babesa horien kudeaketarekiko bereizteko diseinatuta dago, aplikazioaren pertsonalizazio espezifikioa errazteko. Exokernelak tamaina txikiakoak dira duten operabide mugatuagatik. Exokernel sistema eragileak barne hartzen dituen ezaugarrien artean daude:

  • Aplikazioen kontrolerako laguntza hobea.

Kanpo loturak[aldatu iturburu kodea]

https://www.webopedia.com/TERM/K/kernel.html

https://www.techopedia.com/definition/3277/kernel https://www.techopedia.com/definition/27003/monolithic-kernel https://www.techopedia.com/definition/3388/microkernel https://www.techopedia.com/definition/27004/hybrid-kernel