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

Sistema eragilearen kernela, sistema eragile guztiek erabiltzen duten software garrantzitsu bat da. Kernela sistema eragilearen bihoztzat hartzen da, hardwarea eta softwarea elkarlotzen dituelako. Elkarlotze honek konputagailu edo ordenagailu batek modu eraginkor batean lan egitea ahalbidetzen du. Sistema eragilearen barruan, modu pribilegiatuan exekutatzen da, horrela, programek hardwarea modu seguruan atzitu ahal izango dute. Hau dena gauzatu ahal izateko, sistema-deiak (system calls) erabiltzen ditu. Kernelak, erabiltzaile arruntari makinaren erabilpena errazteko erabiltzen da.

Konputagailua pizten dugun bakoitzean, kernela, ordenagailuko RAM memorian kargatzen da eta bertan dirau ordenagailua itzali arte.

Nahiz eta aurretik esan sistema eragile orok erabiltzen duela kernela, benetan, hardwarearen abstrakzioa (hardware abstraction) lortu nahi ez badugu ez dugu kernelik behar. Abstrakzioa (hardware abstraction) lortzea, programatzaileak hardwareari buruzko detaileak jakin gabe, hau atzitzeko aukera izateari deritzo.

Funtzioak aldatu

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:

1. Periferikoei edo makinara konektatzen diren gailuei sarbidea baimentzen die, erabiltzaileak erabili ditzan.

2. Makinaren zerbitzuak eta programak modu eraginkor batean exekuta daitezen memoria kudeatzen du.

3. Prozesu eta programa ezberdinek prozesatzeko behar duten denbora kudeatzen du.

Kernel motak aldatu

Hasiera batean, konputagailuak, nukleorik gabe funtzionatzen zuten, baina, programa ezberdinak erabili ahal izateko, makinak berrabiarazi eta birkonfiguratu behar ziren. Horregatik, programa laguntzaileak memorian gordetzen hasi ziren. Programa hauek garatzen joan ziren eta gaur egun nukleo edo kernel izenarekin ezagutzen direnen oinarri izan ziren.

Egun, lau kernel mota daude indarrean:

1. Nukleo monolitikoak (Monolithic kernel): hauek hardwarearen abstrakzioa errazten dute. Ez dute modulurik erabiltzen, hau da, kernela programatua dago dena kapa batean garatzeko. Honek azkarragoa egiten du, baina segurtasun aldetik galerak sortzen dira eta gainera prozesua konplexuagoa da. Adibidez, Linux edo Unix sistema eragileek honako nukleoak erabiltzen dituzte.

2. Mikronukleoak (Microkernel): funtzionalitatea hobetzeko, hardwareari abstrakzio bakunak eskaini eta zerbitzari aplikazioak erabiltzen dituzte. Sistema hau, aurrekoa baina seguruagoa da, baina motelagoa ere eta askotan erantzuna jasotzeko denbora dezente itxaron behar da. Adibidez, MAC OS X sistema eragileak , Mach mikronukleoa erabiltzen du.

3. Nukleo hibridoak (Hybrid kernel): mikronukleoen parekoak dira, baina kernela azkarragoa izan dadin, kernelaren espazioan kode gehigarria eskaintzen dute. Windowsek esaterako, Windows NT kernela erabiltzen du, mota honetakoa dena.

4. Exonukleoak (Exokernel): hardwarea zuzenean atzitzeko liburutegiak eskaintzen dituzte. Gaur egun Nemesis sistema eragileak honelako kernel mota erabiltzen du, hala ere, Nemesis ez da oso ezaguna.

Kanpo loturak aldatu

¿Qué es el kernel y cómo funciona?

Kernel

¿Qué es el kernel de un sistema operativo?

GNU/Linux, sistema eragileen artean lehiakide ahaltsua eta librea

kernel