Wikiproiektu:Informatika/SEetaSIKanalak3

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.

S/I kanalak aldatu

Edozein programa Unix edo Linux plataformetan Sarrera/irteera kanalak daude informazioa garraiatzeko. Sistema eragileek programatzaileari eskaintzen dizkion hiru kanal estandar daude; Sarrera Estandarra, Irteera Estandarra, printf -k egiten du, eta Errore estandarra, hemen idazten duguna zuzenean pantailara doa.

Prozesu batek ezaz bere sarrera sarrera estanderretik hartzen du, bere irteeera irteera estandarretik bidaltzen du eta errore mezuak errore estandar irteeratik.

Nola adierazten dira kanal hauek? aldatu

Liburutegi-errutinekin ari bagara; Stdin(Sarrera Estandarra), Stdout(Irteera Estandarra) eta Stderr(Errore estandarra). Sistema deiekin ari bagara; 0(Sarrera Estandarra), 1(Irteera Estandarra) eta 2(Errore estandarra).

 
S/I Kanal estandarrak









S/I aldatzeko ondoko karaktereak erabiltzen dira:

  • Komando < fitxategia Fitxategiaren sarrera hartzen du.
  • Komando > fitxategia Komandoaren irteera bidaltzen du fitxategira, edozein gauza berridazten du.
  • Komando 2> fitxategia Komandoaren irteera errorea bidaltzen du fitxategira ( 2 zenbakia alda daiteke beste descriptore fitxategi batengatik).
  • Komando >> fitxategia Fitxategiaren bukaeran gehitzen du komandoaren irteera.
  • Komando 2>&1 Errore irteera, irteera estandarrera bidaltzen du.
  • Komando &> fitxategia Irteera estandarra eta error bidaltzen du fitxategira, beste era batean jarrita: > fitxategia 2>&1
  • Komando1 | Komando2 Komando1-en irteera Komando2-ren sarrerara pasatzen du. (pipe)

Fitxategien deskriptore taula aldatu

Sistema eragileak irekirik dauden S/I kanalak gordetzen dituen fitxategia da. Sistema eragileak fitxategiak ireki, sortu etab. egiteko eskaintzen dituen errutinak, bueltatzen duten zenbakia fitxategi deskriptorea da, eta fitxategia atzitzeko balio du.

 
Deskriptoreak indizeak dira, eta 0, 1, 2 ez dira libre egongo beraz fitxategia sortzerakoan 3tik aurrerako zenbakiak erabiliko dira.
 
Prozesu bakoitzeko taula bat daukagu.












Eragiketak aldatu

Deskriptorea sortzeko: aldatu

  • open()
  • create()
  • socket()
  • accept()
  • socketpair()
  • pipe()
  • opendir()

Deskriptore taulan eragiketak egiteko: aldatu

  • close()
  • dup()
  • dup2()

Erreferentziak aldatu

Sarrera/Irteera kanal estandarrak

Sarrera/Irteera kanal estandarrak

File Deskriptor