# Unix

UNIX (o Unix) és un sistema operatiu creat el 1969 a l'empresa AT&T Bell, amb la participació de Ken Thompson, Dennis Ritchie i Douglas McIlroy, entre d'altres. Hi ha un estàndard ISO per sistemes Unix i similars, anomenat POSIX.
Unix es va desenvolupar com a successor del sistema Multics. Es va dissenyar seguint la filosofia següent:
* Cada programa o eina acompleix una única finalitat, però ho fa bé.
* Les eines s'han de poder combinar entre elles.
* Cal utilitzar un format textual per a l'entrada i la sortida dels programes, per assegurar la legibilitat i compatibilitat de les dades.
Unix es va fer molt popular a les universitats. Al cap dels anys, van anar sortint moltes variants comercials d'Unix. Actualment, SCO és la propietària legal del codi Unix original, i la marca Unix és propietat de The Open Group.
A més dels sistemes Unix comercials, existeixen diversos sistemes operatius basats en la filosofia i els estàndards d'Unix. Els més coneguts són Linux (que aprofita les eines GNU) i els derivats de BSD. Tot i que no es poden anomenar Unix per raons legals, a efectes pràctics funcionen com a sistemes Unix.

## Història

Un grup d'investigadors dels Laboratoris Bell (actualment anomenats AT&T) van desenvolupar un sistema operatiu experimental anomenat Multics (Informació Multiplexada i Sistema de Computació) per usar amb un ordinador General Electric. Els laboratoris Bell van abandonar el projecte, però el 1969, Ken Thompson, un dels investigadors del Multics, va dissenyar un joc per a l'esmentat computador, que simulava el sistema solar i una nau espacial. Amb l'ajuda de Dennis Ritchie, Thompson va tornar a escriure-ho, ara per a un computador DEC (Digital Equipment Corporation), aprofitant que, junt amb Ritchie havia creat també un sistema operatiu, multitasca, amb sistema d'arxius, intèrpret d'ordres i algunes eines per al computador DEC. Se li va anomenar UNICS (Informació Uniplexada i Sistema de Computació) i podia suportar dos usuaris simultàniament. La seva llicència d'ús era molt costosa, la qual cosa el posava fora de l'abast de moltes persones. Això motivaria després la creació del Projecte GNU per al desenvolupament de programari lliure.
Fins a aquest instant, no havia existit suport econòmic per part dels laboratoris Bell, però això va canviar quan el Grup d'Investigació en Ciències de la Computació va decidir utilitzar UNIX en una màquina superior a la PDP-7. Thompson i Ritchie van aconseguir complir amb la sol·licitud d'agregar eines que permetessin el processament de textos a UNIX en una màquina PDP-11/20, i com a conseqüència d'això van aconseguir el suport econòmic dels laboratoris Bell. Va ser així com per primera vegada, en 1970, es parla oficialment del sistema operatiu UNIX executat en una PDP-11/20. S'incloïa en ell un programa per donar format a textos (runoff) i un editor de text. Tant el sistema operatiu com els programes van ser escrits en el llenguatge assemblador de la PDP-11/20. Aquest "sistema de processament de text" inicial, compost tant pel sistema operatiu com de runoff i l'editor de text, va ser utilitzat en els laboratoris Bell per processar les sol·licituds de patents que ells rebien. Aviat, runoff va ser millorat fins a convertir-se en troff, el primer programa d'edició electrònica que permetia realitzar composició tipogràfica. El 3 de novembre de 1971 Thomson i Ritchie van publicar un manual de programació d'UNIX (títol original en anglès: "UNIX Programmer's Manual").
En 1972 es va prendre la decisió d'escriure novament UNIX, però aquesta vegada en el llenguatge de programació C. Aquest canvi significava que UNIX podria ser fàcilment modificat per funcionar en altres computadores (d'aquesta manera, es tornava portable) i així altres variacions podien ser desenvolupades per altres programadors. Ara, el codi era més concís i compacte, la qual cosa es va traduir en un augment en la velocitat de desenvolupament d'UNIX. AT&T va posar a UNIX a la disposició d'universitats i companyies, també al govern dels Estats Units, a través de llicències. Una d'aquestes llicències va ser atorgada al Departament de Computació de la Universitat de Califòrnia, amb seu en Berkeley. En 1975 aquesta institució va desenvolupar i va publicar el seu propi succedani d'UNIX, coneguda com Berkeley Software Distribution (BSD), que es va convertir en una forta competència per a la família UNIX d'AT&T.
Mentrestant, AT&T va crear una divisió comercial denominada Unix Systems Laboratories per a l'explotació comercial del sistema operatiu. El desenvolupament va prosseguir, amb el lliurament de les versions 4, 5 i 6 en el transcurs de 1975. Aquestes versions incloïen els pipes o canonades, la qual cosa va permetre donar al desenvolupament una orientació modular respecte a la base del codi, aconseguint augmentar encara més la velocitat de desenvolupament. Ja en 1978, prop de 600 o més màquines estaven executant-se amb alguna de les diferents encarnacions d'UNIX.
La versió 7, l'última versió de l'UNIX original amb àmplia distribució, va entrar en circulació en 1979. Les versions 8, 9 i 10 es van desenvolupar durant la dècada de 1980, però la seva circulació es va limitar a unes quantes universitats, a pesar que es van publicar els informes que descrivien el nou treball. Els resultats d'aquesta investigació van servir de base per a la creació de Plan 9 from Bell Labs, un nou sistema operatiu portable i distribuït, dissenyat per ser el successor d'UNIX en investigació pels Laboratoris Bell.

## Famílies

Hi ha diverses famílies del sistema operatiu UNIX que han evolucionat de manera independent al llarg dels anys. Cada família es distingeix no tant per les seves diferències tècniques com per les seves diferències en propietat intel·lectual. S'observa que totes les famílies s'han vist contaminades, directament o indirectament, per altres famílies.
Les famílies UNIX més significatives són:
* AT&T: la família que va tindre el seu origen en l'UNIX de AT&T. Considerada la família UNIX "pura" i original. Els seus sistemes operatius més significatius són UNIX System III i UNIX System V.
* BSD: família originada pel llicenciament d'UNIX a Berkely. BSD es va reescriure per no incorporar propietat intel·lectual originària d'AT&T en la versió 4. La primera implementació dels protocols TCP/IP que van donar origen a Internet són la pila (stack) TCP/IP BSD.
* AIX: aquesta família sorgeix pel llicenciament d'UNIX System III a IBM.
* Xenix: familia derivada de l'adquisició dels drets originals de AT&T primer per part de Microsoft i després aquest els va vendre a SCO.
* GNU: En 1983, Richard Stallman va anunciar el Projecte GNU, un ambiciós esforç per crear un sistema similar a Unix, que pogués ser distribuït lliurement. El programari desenvolupat per aquest projecte -per exemple, GNU Emacs i GCC - també ha estat part fonamental d'altres sistemes UNIX.
* Linux: En 1991, quan Linus Torvalds va començar a proposar el nucli Linux i a reunir col·laboradors, les eines GNU eren l'elecció perfecta. En combinar-se ambdós elements, van conformar la base del sistema operatiu (basat en POSIX) que avui coneixem com a GNU/Linux. Les distribucions GNU/Linux basades en el nucli, el programari GNU i altres agregats, entre els quals podem mencionar Red Hat Linux i Debian, s'han fet populars tant entre els aficionats a la computació com en el món empresarial. Observeu que Linux té un origen independent, i per això es considera un clon d'UNIX i no un UNIX en el sentit històric.
Les interrelacions entre aquestes famílies són les següents, aproximadament en ordre cronològic:
* La família BSD sorgeix del llicenciament de l'UNIX original de AT&T.
* Xenix també sorgeix pel llicenciament de l'UNIX original de AT&T, encara que llaborç no era propietat de SCO.
* AIX sorgeix pel llicenciament de'UNIX System III, però també incorpora propietat intel·lectual de BSD.
* La família original AT&T incorpora il·legalment propietat intel·lectual de BSD en UNIX System III r3.
* La família AIX torna a incorporar propietat intel·lectual de la familia AT&T, aquesta vegada procedent d'UNIX System V.
* Linux incorpora propietat intel·lectual de BSD, gràcies al fet que aquest també s'allibera amb una llicència de codi obert denominada Open-source BSD.
* Segons SCO Group, Linux incorpora propietat intel·lectual procedent d'AIX, gràcies a la col·laboració d'IBM en la versió 2.4, encara no demostrat.

## Implementacions més importants

Al llarg de la història ha sorgit una gran multitud d'implementacions comercials d'UNIX. No obstant això, un conjunt reduït de productes ha consolidat el mercat i preval gràcies a un continu esforç de desenvolupament per part dels seus fabricants. Els més importants són:
* Solaris de Sun Microsystems. Un dels sistemes operatius Unix més difosos en l'entorn empresarial i conegut per la seva gran estabilitat. Part del codi font de Solaris s'ha alliberat amb llicència de fonts obertes (OpenSolaris).
* AIX d'IBM. L'UNIX "propietari" d'IBM va complir 30 anys de vida en el 2016 i continua en ple desenvolupament, amb una perceptible herència del mainframe en camps com la virtualització o la RAS dels serveis, heretada dels seus "germans majors".
* HP-UX d'Hewlett-Packard. Aquest sistema operatiu també va néixer lligat a les computadores departamentals d'aquest fabricant. També és un sistema operatiu estable que contínua en desenvolupament.
* macOS. Es tracta d'un UNIX complet, aprovat per The Open Group. La seva diferència marcada és que posseeix una interfície gràfica propietària anomenada Aqua, i és principalment desenvolupada en Objective-C en lloc de C o C++.
Existeixen sistemes operatius basats en el nucli Linux, i el conjunt d'aplicacions GNU (també denominat GNU/Linux), entre les més utilitzades trobem:
* Red Hat Enterprise Linux. El fabricant del qual Red Hat és conegut per la seva àmplia gamma de solucions i aportacions al desenvolupament de programari lliure. Recolza el projecte Fedora del com es beneficia i en deriven distribucions compatibles com Oracle Enterprise Linux i CentOS, també distribucions com Mandriva Linux, es va basar en una de les seves primeres versions.
* SUSE Linux de Novell. Originalment alliberat per la companyia alemanya SuSE. És popular per les seves eines d'administració centralitzada. De manera anàloga a RedHat amb Fedora, recolza el projecte openSUSE.
* Debian GNU/Linux. Amb una de les comunitats més grans i antigues del moviment de programari lliure, és base per a distribucions com Xandros, Mepis, Linspire, Ubuntu i Linux Mint.
També són populars els sistemes operatius descendents del 4.4BSD:
* FreeBSD. Potser el sistema operatiu més popular de la família, de propòsit múltiple. Amb una implementació SMP molt elaborada, és el sistema operatiu utilitzat pels servidors de Yahoo. I com base de molts sistemes operatius entre ells Mac OS X de Apple.
* OpenBSD. Àmpliament reconeguda per la seva seguretat proactiva i auditoria permanent del codi font. És utilitzada en ambients on la seguretat primera sobretot, és usual trobar-ho instal·lat en servidors que actuen com Firewall, VPN o Proxy.
* NetBSD. Se li coneix per la seva portabilitat, a octubre de 2008: 53 arquitectures suportades. La NASA ho ha utilitzat per a la investigació en xarxes TCP/IP satel·litàries, igual que per reciclar computadores velles amb programari modern.
Les següents implementacions d'UNIX tenen importància des del punt de vista històric, no obstant això, actualment estan en desús:
* Tru64 UNIX actualment d'Hewlett-Packard (abans de Compaq i originalment de Digital Equipment Corporation).
* UnixWare i SCO OpenServer anteriorment de Santa Cruz Operation i SCO Group, ara de Xinuos (UnXis).
* UX/4800 de NEC.
* IRIX de Silicon Graphics Inc..

## Ordres clàssiques d'UNIX

Algunes comandes bàsiques d'UNIX són:
* Navegació/creació de directoris/fitxers: ls, cd, pwd, mkdir, rm, rmdir, cp
* Edició/visionat de fitxers: touch, more, ed, vi
* Processament de texts: echo, cat, grep, sort, uniq, sed, awk, tail, head
* Comparació de fitxers: comm, cmp, diff, patch
* Administració del sistema: chmod, chown, ps, find, xargs, sd, w, who
* Comunicació: mail, telnet, ssh, ftp, finger, rlogin
* Entorns de comandes (en anglès shells): sh, csh, ksh
* Documentació: man.
Aquesta és una llista dels seixanta comandaments d'usuari de la secció 1 de la primera edició:
    ar, as, b, bas, bcd, boot, cat, chdir, check, chmod, chown, cmp, cp, date, db, dbppt, dc, df, dsw, dtf, du, ed, find, for, form, hup, lbppt, ld, ln, ls, mail, mesg, mkdir, mkfs, mount, mv, nm, od, pr, rew, rkd, rkf, rkl, rm, rmdir, roff, sdate, sh, stat, strip, su, sum, tap, tm, tty, type, un, wc, who i write.
Altres comandes:
* Fold
* Cal

## Referències

* ↑ «THE UNIX ORAL HISTORY PROJECT» (en anglès). Princeton. Arxivat de l'original el 11/06/2007. [Consulta: 15 novembre 2021].
* ↑ «The Creation of the UNIX* Operating System» (en anglès). Lucent Technologies, 2002. Arxivat de l'original el 28/03/2014. [Consulta: 15 novembre 2021].
* ↑ Stuart, Brian L. Principles of operating systems: design & applications. Boston, Massachusetts: Thompson Learning, 2009, p. 23. ISBN 978-1-4188-3769-3.
* ↑ Ritchie, Dennis M. «The Evolution of the Unix Time-sharing System». Arxivat de l'original el 3 abril 2017.
* ↑ Dolya, Aleksey. «Interview with Brian Kernighan», 29-07-2003. Arxivat de l'original el 18 octubre 2017.
* ↑ Bell Labs. Porting UNIX for its first commercial application The Creation of the UNIX* Operating System (en anglès).
* ↑ Dennis M. Ritchie Unix Programmer's Manual, First Edition (1971) Arxivat 2021-08-14 a Wayback Machine. Bell Labs. Lucent Technologies Inc. (en anglès).
* ↑ Bell Labs. From B language to NB to C The Creation of the UNIX* Operating System. (en anglès)
* 1 2 Bell Labs. Sharing UNIX with the rest of the world The Creation of the UNIX* Operating System (en anglès).
* 1 2 3 Bell Labs. Early versions of the UNIX* system The Creation of the UNIX* Operating System. (en anglès)

## Enllaços externs

* Plana de The Open Group UNIX System Arxivat 2008-07-05 a Wayback Machine.
* Història d'Unix
* Llista d'acrònims relacionats amb Unix
Viccionari