Unix

Erabiltzaile asko izan eta betebehar asko egin ditzakeen sistema eragile ahaltsua, C lengoaian idatzia. Batez ere, lan-estazioetan eta zerbitzari berezietan erabiltzen da.

Unix edo UNIX 1960ko eta 1970eko hamarkadetan AT&Tko Bell laborategien langile talde batek garatutako ordenagailuetako sistema eragilea. Garatzaileen artean Ken Thompson, Dennis Ritchie eta Douglas McIlroy zeuden. Unix-en aldaera akademiko eta komertzial ugari izan zituen, hala nola Kaliforniako Unibertsitatea, Berkeley (BSD), Microsoft (Xenix), IBM (AIX) eta Sun Microsystems (Solaris) eta beste hainbat. Hauek guztiak Unix moduko sistemak direla esaten da. Baita software librearen ildoa indartzera etorri diren GNU/Linux eta FreeBSD sistemak ere.

Unix
Unix history-simple.svg
Jatorria
Sorrera-urtea 1969
Honen izena darama Multics (en) Itzuli
Ezaugarriak
Programazio-lengoaia C eta Mihiztatzaile
Deskribapena
Honen eragina jaso du Multics (en) Itzuli
Ekoizpena
Garatzailea Bell Laborategiak, Ken Thompson, Dennis Ritchie eta Brian Kernighan (en) Itzuli
Euskaraz
Euskaraz Ez
opengroup.org…
kronologia

Multics (en) Itzuli Unix Berkeley Software Distribution (en) Itzuli

HistoriaAldatu

Sistema eragile honen arrakasta guztiz ezustekoa izan zen informatikaren munduan (informatikaren historian zehar garrantzitsuenen artean, alegia), batez ere bere lehen inplementazioaren ostean. 1960ko hamarkadan MIT (Massachusetts institutu teknologian) MULTICS (Multiplexed Information and Computing System) sistema garatzen hasi ziren.

Ken Thomson eta Dennis Ritchie, MULTICSen moteltasuna ikusirik, proiektua berridatzi zuten mihiztadura lengoaian DEC PDP-7 ordenagailurako. Bi programatzaileak, beste proiektu bat burutu zuten fitxategi sistema multiataza bihurtzeko. Jadanik garatuta zegoenari, komando interpretatzailea (shell ingelesez) eta programa multzo bat gehitu zioten, eta horrela UNICS (Uniplexed Information and Computing System) sistema sortu zuten. Izena sistema bakarrik bi erabiltzaileentzako garatuta izanagatik dator (Andre Tanenbaumen ustez, bakarrik bat [1]).

Ordura arte proiektua ez zuen inolako finantzaketarik, baina proiektua PDP-7 makina handiago batera egokitu zutenean, Bell laborategiak behar zuen PDP-11/20 makinara alegia, testu prozesatzailea gehitu zioten, AT&T enpresaren helburua lortuz (testu prozesatzailea eta runoff testua formateatzeko tresnak garatzenean makina horrentzako). Une horretatik aurrera, enpresaren laguntza jaso zuen, eta runoff programa hedatu zuten troff sortuz. 1971ko azaroaren 3an argitaratu zen lehen Unix eskuliburua programatzaileentzat.

1973 urtean, UNIX sistema berridatzi zen C programazio lengoaian, eta aldaketa honek sistema osoa beste arkitekturetara migratzea erraztu zuen, aldaketa txikiak ez baitziren egin behar horretarako. Lengoai berriak kodea laburtu zuen eta garapen denbora asko murriztu, makina lengoaiaz eta mihiztadura lengoaiaz egindakoarekin aldratuta.

AT&T enpresak hainbat enpresa eta unibertsitateren eskura jarri zuen sistema, lizentzien bidez. Lizentzia hauetako bat, Kaliforniako unibertsitateko konputazio departamentura egokitu zitzaion, eta bere sistema propioa garatu zuten: BSD (Berkley Software Distribution), geroago, AT&Tko UNIX sistemaren aurkari zuzenaizango zena.

1975 urtean, AT&Tk dibisio berria sortu zuen: Unix System Laboratories, sistema berriaren ustiapen komertziala hasteko, eta urte beran 4., 5. eta 6. bertsioak kaleratu ziren. Azken bertsio berri horretan, UNIX sistemen ezaugarri garrantzitsuenetako bat agertu zen: pipe edo tutuak. Tresna horren bitartez sistemaren modularizazioari bultzada handia eman zitzaion eta software berriaren garapena arindu. 1978 urtean 600 makina inguru erabiltzen zuten UNIX sistema eragile gisa.

1979 urtean argitaratu zen UNIX sistemaren 7. bertsioa, distribuzio handiko azken UNIX sistema, alegia. Hemendik aurrera, 8. 9. eta 10. bertsiak garatu ziren 80ko hamarkadan, baina bere zabalkuntza bakarrik zenbait unibertsitatetara murriztu zen, hala eta guztiz ere, sistema berrietan egindako ikerkuntza zabaltzen jarraitu zuten.

Sistema berri hauetako ikerkuntzarekin, Plan 9 sistema garatu zuten, sistema banatu berria, UNIX sistemaren ondorengoa izateko sortua. Hala eta guztiz ere, sistema berri honek bakarrik konputazio eta sistema eragileen arloari buruzko ikerkuntzetarako erabili zen.

 
80.hamarkadan Unix sistema MITk garatutako X Window System erabiltzen.

Honez gero, 1982 urtean kaleratuko zen sistema komertzial berria garatzen hasi zen AT&T (azken bertsio komertziala UNIX 7 zen), eta System III eman zion. Baina aldi berean, zenbait enpresak (Western Digitall adibidez) UNIX 7 bertsioa saltzen zuten oraindik. Honek, nahaste handia sortzen zuen, eta hau guztia gutxi balitz, AT&T berak (Bell laboraregiak) System V sistema sortu zuen Berkleyko unibertsitateak garaturako software atalak zituena (vi edo ncurses esaterako), eta DEC konpainiak garatutako VAX makinaren bateragarri zena.

1993 urtean Novell-ek Unix System Laboratories erosi zuen. Erosketa hau, momentu larrian eman zen, laborategiak epaiketa bat baitzuen Kaliforniako Unibertsitatearekin BSD sistema zela-eta. AT&T-ko laborategiak System V-ren kodea kopiatzeagaitik salatu zuen Berkeley, baina azkenean frogatu zen, ez bakarrik salaketa faltsua zenik, baizik ere System V-ko garatzaileek BSDko atal handiak kopiatu zituztela. Gauzak horrela, Novellek erosi zuen jabeza intelektuala, oso murriztuta zen.

1991 urtean Linus Torvalds ikasle finlandiarra, Unixeko funtzio asko betetzen zituen nukleoa garatu zuen eta lizentzia askearekin argitaratu. Gertakari honetatik abiatuta, zenbait urteren buruan eta GNU tresnekin bat eginez, GNU/Linux sortu zen, zenbait urteren buruan beste UNIX sistema komertzialekin lehiatzeko moduko sistema.

1995 urtean Novellek SCO (Santa Cruz Operations) enpresari saldu zizkion bere Unix ustiatzeko eskubideak, enpresa honek Unix System V sistemaren ondorengoak saltzen jarraitzen du UnixWare izenpean (Aldi batez, OpenUnix ere deitu egin zen).

Unix moduko sistemakAldatu

Gaur egun Unix-Like sistema anitz aurki daitezke, denboran zehar garapen independiente izan dutenak, baina gero eta gehiago software librean oinarritu diren arren. Sistema hauen ezberdintasun garrantsitzuena eskubiden intelektualetako arloan dago, ezberdintasun teknikoetan baino.

  • AT&T sistemak: Oinarrizko Unix sistema da, beste sistemen gurasotzat hartzen dena. Unix System III eta UniU dira ezagunenak.
  • BSD sistemak: AT&T eta Kaliforniako Unibertsitatearen arteko lizentziatik jaio zen sistema da. TCP/IP protokoloa barneratzen lehena izan zen eta arrakasta handia izan zuen horregatik. FreeBSD bere eratorri librea da.
  • AIX sistemak: AT&T eta IBM arteko lizentziatik jaio zen sistema.
  • GNU/Linux sistemak: 1983 urtean Richard Stallmanek GNU proiektua hasi zuen, Unix-like sistema eragile librea eraikitzeko proiektua hasi zuen. Proiektu honen zenbait atal (hala nola gcc, emacs...) beste UNIX sistemen oinarria izan da. 1991 urtean Linus Torvaldsek Linux nukleo librea garatu zuen. Bi sistemak elkartuz, GNU/Linux sistema berri oso eta erabilgarria lortu egin zen. Kontuan hartu behar da, GNU/Linux ez dela UNIX sistemaren bilakaera bat, klon berri bat baizik.

POSIX eta Unix inguruko estandarrakAldatu

1980ko hamarkadaren amaieran, sistema eragile irekien estandarizazio-ahalegin bati esker oinarri komuna eman zitzaien sistema eragile guztiei: Horrela sortu zen POSIX, IEEEk bultzatuta. Lehen POSIX estandarra 1988an argitaratu zen. 1990eko hamarkadaren hasieran, industria-partzuergo batek aparteko baina antzeko zen ahalegina egin zuen, Common Open Software Environment (COSE) izenarekin, geroago The Open Group delakoaren administraziopean Single UNIX Specification (SUS) ozenarekin ezagutuko zena. Bi saiakerak bilduta 2008an Open Group Base Specification izeneko espezifikazioa argitaratu zen.

Exekutagarri bitarren eta objektuen UNIXen arteko bateragarritasuna hainbat CPUtan ziurtatzearren 1999an ELF formatua (Executable and Linkable Format) adostu zuten hainbat enpresak eta erakundek.

Fitxategi-sistemen hierarkia estandarizatzeko ere Filesystem Hierarchy Standard hitzarmena sortu zen.

OsagaiakAldatu

 
Unix fitxategi-sistemaren egitura

Unix sistema hasieran elkarrekin paketatu ziren hainbat osagaik dute oinarri. Sistema eragilearen nukleoaz gain, garapen-ingurunea, liburutegiak, dokumentazaioa eta osagai horietarako guztietako iturburu-kodea barne osatzen dute. Unix software-sistema autonomo ondo dokumentatua zen hasieratik eta horregatik oso eragin handia izan du irakaskuntzan.

Osagai horiek guztiak barneratuta eduki arren sistema ez zen oso handia: Unix V7-ren jatorrizko banaketak, konpilatutako bitar guztien kopiak, iturburu-kode osoa eta dokumentazioa barneratuta, 10 MB baino gutxiago hartzen zituen, eta garaiko zinta magnetiko bakar batean sartzen zen. Inprimatutako dokumentazioa bi liburukitan jasota zegoen.

Unix-eko osagaiek fitxategi-sisteman dituzten izenak eta direktoriotan antolatutako kokapenak nabarmen aldatu dira sistemaren historiaren bidez. Hala ere, V7 inplementazioa erreferentziatzat hartzen da. Ondokoak dira osagai nabarmenenak.

  • Nukleoa – iturburu-kodea /usr/sys direktorioan, eta azpidirektorioetan hainbat osagai daude:
  • Garapenerako ingurunea – bertsio zarretan zegoen ingurune osoa sistema osoa berreraikitzeko elementuekin:
    • ccC konpiladorea
    • asmihiztatzailea, mihiztadura-lengoaiaz idatzitako oinarrizko moduluak konpilatzeko
    • ld – estekatzailea, objektu-fitxategiak konbinatzeko
    • lib – liburutegiak ( /lib edota /usr/lib direktoriotan).
    • make – konpilazioa- eta estekatze-prozesuak automatizatzeko komando-interpretatzailea
    • include – goiburuko fitxategiak eta hainbat konstateren definizioa.
  • Komandoak – Erabiltzailearen komando arruntak eta administraziorako erabiltzen direnak.
    • shshell komando-interpretatzailea. Leiho-sistemak baino lehenago sortua eta eraginkorrago lan errepikakorretarako.
    • oinarrizko komandoak (utilities)cp, ls, grep, find eta beste asko. Haiekin batera:
      • sistemaren komandoak – administrazio lanerako: mkfs, fsck, passwd, kill, etab.
    • dokumentuak formateatzeko komandoak: garai batean erabiliak ofimatikako programak sortu baino lehen: nroff, troff, tbl, eqn, refer, eta pic. Geroago TeX eta Ghostscript.
    • grafikoakplot azpisistema hasieran eta X11 geroago.
    • komunikazioa – barne-komunikaziorako elementuak hasieran, mail eta write geroago. Unix V7 sisteman UUCP barneratu zuten, eta BSDren release 4.1c bertsioan TCP/IP protokoloaren oinarria.
  • Dokumentazioa – Unix aitzindaria izan zen dokumentazioa online kontsultagarri jartzen:
    • man – eskuliburuak oinarrizko informazioa, man komandoaren bidez kontsultatzen dena.
    • doc – dokumentazio sofistikatuagoa azpisistema konplexuetarako.

EraginaAldatu

Unix sistemak eragin nabarmena izan zuen beste sistema eragile batzuetan. Interaktibotasuna zela-eta lortu zuen ospea, baita tarifa nominalari eskainiz hezkuntzara hurbiltzeko ahaleginagatik, hardware merkean integratzeko aukerarengatik eta makina ezberdinetara egokitzea eta garraiatzea errazteagatik. Horretan C lengoaiak funtsezko elementua izan zen.

Unixek fitxategi-sistema guztiz sinplifikatua zuen, mota guztietako fitxategiak byte segida gisa tratatuz. Horrela, erregistroen kudeaketa erabiltzailearen mailako liburutegietara pasa zen sistemaren tamaina txikiagotuz. Gainera, dispositiboak eta dagozkien driverrak (inprimagailuak, terminalak edo disko-unitateak) integratu zituen fitxategi-sistema hierarkikoan, programei interfaze uniforme bat eskainiz eta programen malgutasuna bultzatuz. Era berean, fitxategi-sistemari dagokionean, Multicsen sortutako azpidirektorio-sistema errekurtsiboa ezagutarazten lagundu zuen. Garaiko beste sistema eragileetan direktorioak aparte zeuden eta kudeaketa berezitua behar zuten sistemaren aldetik.

Komando-interpretatzailea erabiltzaile arruntei eskaintzea, komandoak aparteko programa gisa antolatuta Multicsetik zetorren beste ezaugarri aipagarria ere bada. Lineako komando interaktiboak eta komando-fitxategiak (script-ak) idazteko lengoaia bera erabiltzeak sinplifikazioa ekarri zuen, baita komando-fitxategiak beste programen ezaugarriak edukitzea ere. Adierazpen erregularren erabilera ere bultzatu zuen.

Unixen lehen garatzaileak garrantzitsuak izan ziren modularitatea eta berrerabilgarritasuna software-ingeniaritzaren oinarrietara eramaten, "software-tresnak" bultzatzeko mugimendua sortuz.

TCP/IP sareko protokoloak bizkor ezarri ziren, Unix bitartez, konputagailu merke samarretan, eta hori oso mesedegarria izan zen Interneteko erabilera mundu osora zabaltzeko ahaleginean.

Unixen lineako dokumentazio zabalaren politikak eta sistemaren iturburu-kodera urte luzez eskuragarri egoteak programatzaileen aukerak eta ezagutzak areagotu zituen, eta 1983an abiatu zen software librearen mugimendua bultzatzen lagundu zuen.

Ikus, gaineraAldatu

Kanpo estekakAldatu