Wikiproiektu:Informatika/Sistema-dei: berrikuspenen arteko aldeak

Ezabatutako edukia Gehitutako edukia
No edit summary
13. lerroa:
== Sistema-deiak ==
 
[[Konputazio|Konputazioan]], '''sistema-dei''' bat [[programa informatiko]] batek uneko [[sistema eragile|sistema eragilearen]] [[Nukleo (informatika)|kernelari]] [[zerbitzu eskaera]] bat egiteko ''programaziobalio modu''duen errutina bat da. Zerbitzu hauen artean: hardwarearekin lotutako zerbitzuak (adibidez, [[disko gogor|disko gogorraren]] atzipena), [[Prozesu (informatika)|prozesuen]] exekuzioa eta sorpenasorrera edota kernelaren barneko zerbitzuen komunikazioa, esate baterako, [[prozesu-plangintzaprozesuen planifikazioa]].
 
Sistema-deiek prozesuen eta [[sistema eragile|sistema eragileen]] artean nahitaezkoa den [[interfaze]] bat eskaintzen dute.
21. lerroa:
=== Baimenak ===
 
Gaur egungo prozesagailuenprozesadoreen arkitektura gehienek segurtasun neurri batzuk dituzte inplementatuak. Esaterako, programa bat, dagokion [[helbide espazio|helbide espaziora]] egoten da mugatua, horrela, ezingo ditu atzitu exekuzioan dauden beste programak edota sistema eragilea bera atzitzea galarazten da. Horretaz gain, ezingo luke [[hardware|hardwareko]] gailurik zuzenean erabili.
 
Nolanahi ere, aplikazio arrunt askok zerbitzu mota horiek behar dituzte. Horretarako, sistema eragileak ondo definitutako implementazioinplementazio fidagarriez osatutako sistema-deiak eskaintzen ditu behar diren eragiketak betetzeko.
 
Sistema eragilea baimen guztiekin exekutatzen da eta aplikazioei zerbitzu eskaerak egiteko baimena ematen die sistema-deien bidez, normalean [[eten]] bereziak erabiliz.
 
Etenek [[Prozesatzeko unitate zentral|PUZa (CPU)]] baimen maila altuago batean jartzen dute modu automatikoan, ondoren kernalerikernelari exekuazioarenexekuzioaren kontrola (ardura) emateko. Honek, eskaera egin duen programari eskatutako zerbitzua eskainieman beharko litzaiokeen erabakitzen du. Zerbitzua onartzen bada, kernelak eskaera egin duen programak kontrolpean izan ezin dituen eragiketa zehatz bazukbatzuk exekutatuko ditu, jatorrizko programari dagozkion baimenak eta kontrola itzuliz.
 
=== Liburutegiak bitartekari moduan ===
34. lerroa:
C liburutegietan (libc) daude inplementatuta.
 
Liburutegira egindako deiak soilik ez du eragiten kernel modura igarotzea (kernel moduan ez dagoen bitartean), azpi-errutina dei arrunt gisa hartu ohi da. Sistema-dei batek kernelera pasako lioke kontrola (eta deitu dion liburutegi-deiak baino inplementazio eta plataforma menpekotasun handiagoa du). Adibidez, Unix-moduko sistemetan, <code>fork</code> eta <code>execve</code> C liburutegiko funtzioek, hurrenez hurren, <code>fork</code> eta <code>execve</code> sistema-deiak erabiltzen dituzte. Sistema-deiak zuzenean aplikazioko kodean erabiltzeak konplexutasuna handiagotzen du eta Mihiztadura[[mihiztadura-lengoaia]] erabiltzea nahitaezkoa litzateke (C/C++). Gainera, sistema-deiek erabiltzen duten behe-mailako interfaze bitarren ezagutza eduki beharra dago erabiltzen den sistema-deirako, jakinik denborarekin aldaketak izatea posible litekeela. Arrazoi horrengatik erabiltzen da liburutegi-deien abstrakzioa.
 
[[Exokernel]]-ean oinarritutako sistemetan, liburutegiaren bitartekari funtzioa oso garrantzitsua da. Exokerneletan, liburutegiek erabiltzaileen aplikazioak behe-mailako kernel API-etaz babesten dituzte eta abstrakzioak nahiz baliabide kudeaketa eskaintzen dute.
 
=== Mekanismoa: Nola funtzionatzen du sistema-deiaren inbokazioakdeiak ===
 
Sistema-deiek, normalean, zera egiten duen CPUko instrukzioagindu berezi bat erabiltzen dute: prozesadoreak kontrola aurretik zehaztutako kode pribilegiodun bati (ohikoena kernela izatea da) transferitzea. Honek kode pribilegiatuari prozesadorearen egoera eta non izango den konektatua zehaztea baimentzen dio.
 
Sistema-dei bat inbokatzen denean, hau egin duen programaren exekuzioa gelditu egiten da eta haren datuak gorde egiten dira (zehazki Process Control Block batean, PCB), geroago programa horren testuingurua berreskuratu nahi bada. Ondoren, prozesadoreak behe mailako kode pribilegioduna exekutatuko du, behar den zeregina betetzeko. AzkeninAzkenik, programaren (deia egin duena) arabera, jarraitu egingo du edo ez.
 
=={{Anchor|NATIVE}}Sistema-dei motak==
 
DeiLinux kernelean oinarritzen diren sistema eragileek, sitema-dei mota ezberdinak daude,dituzte zereginaren edo lortzen dutenaren arabera. Batez ere, 5 taldetan sailkatzen dira:
 
# Prozesuen Kontrol kudeaketarako