softwarea

softwarea Chuck is a Dios. | 2010-11-22 15:51

SOFTWAREA


Softwarea ordenagailuaren atal logikoa da. Hots, hardwarea abiarazteko balio duen programa eta agindu sorta.


Sistema eragilea:

Sistema eragilea softwarea bat da, programaz eta datuz osatua, ordenagailuetan funtzionatzen duena eta ordenagailuaren hardwarea kudeatzen duena, eta askotariko software aplikazioak efizientziaz exekutatzeko zerbitzu komunak eskaintzen dituena.

Beharrezkoa da erabiltzailea ordenagailuarekin Hardwarearen funtsezko kudeaketa oso konplexua da, erabiltzailearentzat eta sistema eragileak sistemaren ulermena eta erabilpena errazten dio. Makinaren zehaztasunak alde batera utziz, honen baliabideak kudeatzeko aukera eskaintzen duen softwarea da oro har.

Mota honetako softwarea, mikroprozesadoreak erabiltzen dituzten sistema gehienetan aurki dezakegu, hala nola telefono mugikorretan, DVD-ak ikusteko sistemetan, ordenagailutan, ...

Eskainitako zerbitzuak

Prozesu kudeaketa

Ordenagailuan exekuzioan dauden programa guztiek prozesuak dira, Von Neumman arkitektura erabiltzen den heinean, prozesu bakarra baizik ezin da exekutatu PUZ bakoitzean. Lehenengo sistema eragile azpigaratuek (hala nola MS-DOS) ez zioten ordenagailuaren arkitekturak ezartzen zuen muga horri aurre egiten (etete kudeaketa izan ezik), eta ondorioz bakarrik programa bat erabili zitekeen. Beste sistema garatuago batzuek (Mainframeak 60-ko hamarkadan) prozesu anitz erabili zezaketen.

Sistema eragile modernoek, prozesu anitz kudeatu ditzakete, ordenagailuak PUZ bakarra izan arren, horretarako sistema eragileak zenbait eginbehar gauzatu behar ditu:

  • Prozesuak sortu eta ezeztu.

  • Prozesuak gelditu eta berrabiatu.

  • Prozesuen arteko komunikazio mekanismoak eskaini.

Sistema eragileek, programa asko aldi berean exekutatzen direla emateko, prozesu bakoitza oso denbora laburrean exekutatzen da PUZan, beste prozesu batentzako lekua utziz. Horrela, aldi berean prozesu bakarra exekutatzen den arren, guztiak exekutatzen direla ematen du.

Zenbait sistematan (Adibidez Windows sistemetan) System Idle Process dago, zein exekutatzen da beste prozesurik PUZik ez badu eskatu.

Memoria kudeaketa

Memoria kudeaketaren eskema: Ikusi daiteke, memoria virtual guztia ez dagoela memoria fisikoan.

Memoria fisikoa, memoria birtualean itzultzeak (horrietan, eta segmentoetan), sistema eragilearen kernelak, programentzako memoria kudeatzearazten du. Horrela, memoria berbera aldi berean erabili dezake programa anitzetarako, eta memoria fisikoa baino gehiago erabiltzen dituzten programak parean exekutatu daitezke.

Programa batek, bere memoria birtualaren helbide eskuraezin batera (momentu horretan memoria fisikoan mapeatuta ez dagonea) eskatzen badu, Interrupzio bat egozten da, eta eskatutako memoria eskuragarri uzten duen programa exekutatzen da. Egoera hori, Unix sistemetan, orri falta (Page Fault) izenez ezagutzen da.



Fitxategi sistemak

Sakontzeko, irakurri: fitxategi sistema

Fitxategi sistemak, ordenagailuen memoria fisikoaren zenbait ezaugarriengatik beharrezkoak dira:

  • Memoria fisikoa ez da iraunkorra, eta sistema itzaltzen denean, gordetako informazio guztia galtzen da.

  • Memoria, oso osagai garestia denez, tamaina txikia daukate behar de data guztiak gordetzeko, eta horretarako, beste dispositibo zabal eta motelagoetan idatzi behar dira.

Ordenagailuak, informazioa diskoetan gordetzeko fitxategi erabiltzen ditu. Fitxategi hauek, diskoetan idazten diren era, fitxategi sisyrms bezala ezagutzen da. Gordetzeaz gain, izena, propietateak, direktorio hierarkia, baimenak... kudeatzen ditu, informazioa era erabilgarriagoan eskeiniz.

Lehendabiziko fitxategi sistemak, disko mota bakarrera mugatuta ziren, eta fitxategien izenak, direktorioen hierarkiaren sakontasunak eta beste zenbait ezaugarri oso mugatuta zeuden. Gaur egun, sistema eragile modernoek VFS - (Virtual file System) erabiltzen dute, diska mota anitz kudeatzeko fitxategi sistema berberatekin.

Fitxategi sistemek, aplikazioetara, diskoetan nola almazenaturik dauden data (bai nola almazenatuta edo non) eskurapen independientea eskaintzen dio. Horrela, aplikazioek, ez dute jakin behar instalatuta egongo diren sistemetan ze diska mota dauden.

Hala eta guztiz ere, sistema fitxategien artean, zenbait ezberdintasun aurki ditzakegu, hala nola, letra xehe eta larrien arteko diferentziak izenetan (Adibidez, NFTS/FAT32 sistemetan ez dira letra xehe eta haundiak ezberdintzen fitxategien izenetan eta ext3/ext4 edo reiserFS ordea, bai), edo fitxategien zenbait atributoetan.



Softwarea programazioa:



C programazio lengoaia maila baxuko estandarizatutako programazio lengoaia bat da, 1970 urte inguruan Ken Thompson eta Dennis Ritchie-k garatua UNIX sistema eragilean erabiltzeko. Ordudanik hainbat sistema-eragiletara zabaldu da, eta gehien erabiltzen den lengoaietako bat da. C bere eragingarritasunagatik erabilia, eta sistema-softwarea idazteko programazio lengoaiarik erabiliena da, baina aplikazio-softwarea idazteko ere erabiltzen da. Hasiberrientzat diseinatua izan ez arren, ordenagailu zientziak erakusteko erabiltzen da maiz.


Sorrera

1969. urtean Dennis Ritchie Bell Telephone Laboratories inc enpresan garatutakoa da C programazio lengoaia. Mullay Hirlen, New Jersein, geroago AT&T laboratories-en eta beranduago Lucen tecnologoes-en ere garatu zen. Aurretik egondako BCLP-ren eta B-ren programazio-lengoaien garapenaren ondorioa da, hauek Belllaborategietan garatuak ere. Aurreko lengoaiak bezala, sistema eragileak eta konkretuki Unix sistema eraikitzeko sortu zen, kode eraginkorra sor zezan, muineko ezaugarri bezala hartuz.

C 1978. urtera arte Bell laborategien barne erabilpenerako zegoen bakarrik. Brian kernigan eta Dennis Ritchie “El lenguaje de programacion C” lan ezagunarekin lengoaiaren deskribapena egin zuten arte. Orduan C mundu-mailakoa bihurtu zen.

1989. urtean ANSI (American National Standardization Institute) erakundeak C lengoaiaren lehen estandarizazioa burutu zuen, eta honen ondorioz, lengoai arautu horri ANSI C izena eman zitzaion. Hurrengo urtean ISO (International Standardization Institute) estandar bihurtu zen. Estandarizazioari esker, arau jakin horiek jarraituz egindako programek garraiagarriak dira sistema ezberdinen artean, honek esan nahi du programa berdina, era berdinean lan egingo duela sistema ezberdinetan.

C-en inplementazio komertzial gehienak ez dira K&RC”-aren definizio originalaren berdinak. Honek dakartzan bateraezintasun arazoak ekiditeko, ANSIko X3J11 komitea lanean hasi zen C lengoaiaren definizioa arautzeko. 80. hamarkadaren erdialdera, estandarra onartzen da esfortzu horri esker.

1998. urtean ANSI eta ISO erakundeen talde bateratu batek C lengoaiaren luzapen hau normalizatu zuen.



Software librearen askatasunak

Softwarea "librea" da ondorengo askatasunak bermatzen baditu:

  1. helburua edozein dela ere, programa exekutatzeko askatasuna

  2. programa aztertu eta norberaren beharretara egokitzeko askatasuna

  3. programa kopiatzeko eta kopiak banatzeko askatasuna

  4. programa hobetzeko askatasuna, eta hobetutako bertsioa zabaltzeko askatasuna edonork etekina atera diezaion

Garrantzitsua da azpimarratzea programa aztertzeko, hobetzeko edota norberaren beharretara egokitzeko, iturburu-kodea beharrezkoa dela; beraz, exekutagarriarekin batera, iturburu-kodea ere eskura eduki behar da.

Askatasun horiek bermatzeko, programari lizentzia edo egile-eskubideak ezarri behar zaizkio. Software libreen artean Copyleft edo GPL (GNU General Public License) eta LGPL (Lesser GPL) izenez ezagutzen diren lizentziak dira gehien erabiltzen direnak.

Teoriko batzuek azken puntua erabiltzen dute (3. libertatea) GNU GPL lizentziak ezarritako mugak partzialki justifikatzeko software librearen beste lizentzien aurrean. Hala ere, jatorrizko zentzua askeagoa eta irekiagoa da eta ez da inkonpatibilitate egoera propioak ematen dion bezain murriztailea. Hau konponduta egon daiteke GNU GPL lizentziako 3.o bertsioan; izan ere, oraingo bertsioak software librearen programatzaile komunitateari kalte handiak sortzen ari zaizkio, askotan ezin izaten dutelako bi lizentzia desberdineko kodeak nahastu nehiz eta 4 libertateak hori ahalbidetu beharko luketen.

OSI izeneko web ofizialean gaur egun onartuak dauden software librearen lizentzien zerrenda dago.

"Software ez libre" kontzeptua lau libertateak bermatzen ez dituzten software mugatzaileagoko lizentzia baten pean banatzen diren softwareari buruz hitz egiteko erabiltzen da. Propietate intelektualaren legeak aldakuntza, bikoiztasun eta birbanaketa eskubide gehienak erreserbatzen ditu copyright-aren jabearentzat; software libreko lizentzia baten pean dagoen softwareak aldiz, ezeztatu egiten ditu eskubide erreserbatu hauen gehiengoa.

Software librearen definizioak ez du ezer esaten prezioari buruz, eta ingelesez "free" hitzak "aske" eta "doako" esanahiak dituenez, oso erabilia den eslogana honakoa da: "free as in freedom, not as in free beer", alegia, "aske askatasunean bezala, eta ez doako garagardoaren zentzuan". Ohikoa da software librearen CDak salgai ikustea Linux banaketa bezala. Hala ere, egoera honetan, CDaren erosleak kopiatu eta birbanatzeko eskubidea du. Dohainik dagoen softwareak software librearen definiziora egokitzen ez diren murrizketak barnera ditzake- adibidez, iturburu-koderik gabe egon daiteke, edota banatzaileak ordainetan sari bat izatea debekatu dezake esplizituki eta abar.

Nahasketa ekiditeko, pertsona batzuk "libre" (software librea) eta "doan" (softwarea dohainik) hitzak erabiltzen dituzte ingelesezko "free" terminoaren zalantzagarritasuna ekiditeko. Baina, hautazko termino hauek software librearen mugimendu barruan bakarrik dira erabiliak, nahiz eta gainerako mundura pixkanaka hedatzen ari diren. Beste batzuek Open Source Software terminoaren erabilera defendatzen dute (kode irekiko softwarea, iturri irekikoak ere deituak). "Open source" eta "free software"-aren arteko ezberdintasuna honetan datza: azkenek libertatearen aspektu etiko eta filosofikoak hartzen ditu kontuan; "open source", aldiz, aspektu teknikoan oinarritzen da bakarrik.

Antzeko kontzeptuei erreferentzia egiten dien terminoak elkartzeko saialdian, "FLOSS" terminoarenerabilera zabaltzen ari da" Free-Libre-Open Source Software" esanahiarekin eta zeharka, ekoitzi eta sostengatzen duen komunitateari erreferentzia eginez.



  • Sistemakoa: software bat da, programaz eta datuz osatua, ordenagailuetan funtzionatzen duena eta ordenagailuaren hardwarea kudeatzen duena, eta askotariko software aplikazioak efizientziaz exekutatzeko zerbitzu komunak eskaintzen dituena.( Linux, Windows...)

  1. linux: 1991.urtean sortu zen, Linus Torvalds zen eskutik sortu zen baina honeke zakien zer egiten ari zen, izan ere, helsinkiko unibertsitateko proiektu moduan hasi batzuen Linux.

  2. Microft windows: Bill Gatek eta Paul Allenek sortu zuten 1975an enpresa hau eta gaur egun software mota hau, bere 7. Bertsioan aurkitzen da et esan daiteke, mundu osoko erabilienetakoa dela.


  • Aplikaziozkoa: sistema eragile baten gainean lan egiten duten programak. (Mozila Firefox, Word, Safara, Explorer,…)



  • Programaziozkoa: programak sortzeko behar den lenguaia informatikoa.





Utzi iruzkina: