Wikiproiektu:Informatika/S-IKudeatzekoSD1

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.

S/I kudeatzeko sistema-deiak[aldatu iturburu kodea]

Sarrera/Irteera kudeatzeko oinarrizko bost sistema-dei daude:

Create[aldatu iturburu kodea]

Fitxategi berri bat sortzeko balio du.

int create(char *FitxategiIzena, mode_t mode)

Parametroak:

  • FitxategiIzena: Sortu nahi den fitxategiaren izena.
  • mode: Fitxategi berriaren baimenak.

Itzulketak: Guztia ondo joanez gero ibili gabeko lehen fitxategi deskriptorea itzuliko du. Aldiz, erroreren bat baldin badago -1 itzuliko du.

Open[aldatu iturburu kodea]

Fitxategi bat ireki eta edukia irakurri, idatzi edo biak egiteko balio du.

#include<sys/types.h>
#includ<sys/stat.h>
#include <fcntl.h>  
int open (const char* Path, int flags [, int mode ]); 

Parametroak:

  • Path: Fitxategira joateko ibili nahi den ibilbidea:

Fitxategi-Sistema ezeberdin batean baldin badago ibilbidea orduan "/" jarri beharko da. Aldiz, fitxategi-sistema berean lan egiten badute, fitxategiIzena+luzapena jartzearekin nahikoa da.

  • flags: Nola erabili nahi duzun: O_RDONLY(irakurri), O_WRONLY(idatzi), O_RDWR(irakurri eta idatzi), O_CREATE (existitzen ez den fitxategi bat sortu) edo O_EXCL (existituz gero saihesteko).

Close[aldatu iturburu kodea]

Fitxategi-deskriptore batekin amaitzean sistema eragileari adierazten dio eta fitxategia ixten du.

#include <fcntl.h>
int close(int fd);

Parametroak:

  • fd: Fitxategi-deskriptorea

Itzulketak:

  • Guztia ondo joan bada 0
  • Erroreren bat gertatuz gero -1

Read[aldatu iturburu kodea]

Bufferretik fitxategi-deskriptore batera datuak irakurtzen ditu.

size_t read (int fd, void* buf, size_t cnt);  

Parametroak:

  • fd: Fitxategi-deskriptorea. open sistema-deiak itzulitakoa izan behar du, bestela NULL izango zen eta errorea eman beharko luke.
  • buf: Bufferra, non datuak bertatik irakurri behar diren. Bufferrak memoria egoki batera zuzenduta egon behar du, non memoria ez den zehaztutako tamaina baino txikiagoa, bestela gainezka egingo du.
  • cnt: Bufferraren luzera.

Write[aldatu iturburu kodea]

Fitxategi-deskriptorearen datuak idazten ditu bufferrean, bufferrean gordetako byte-ak idazten ditu zehaztutako fitxategian.

#include <fcntl.h>
size_t write (int fd, void* buf, size_t cnt); 

Parametroak:

  • fd: Fitxategi-deskriptorea.
  • buf: Bufferra, non datuak idatzi behar diren.
  • cnt: Bufferraren luzera

Itzulketak:

  • Dena ondo joanez gero idatzitako byte kopurua.
  • 0, baldin fitxategi amaierara iristen bada.
  • -1, erroreren bat badago edo etenaren seinalean dagoenean.

Bibliografia[aldatu iturburu kodea]