UNIX® este un sistem de operare inițiat de un grup de programatori de la AT&T Bell Labs, printre care Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy și Joe Ossanna. Astăzi există mai multe variante (implementări) ale sistemului, acestea fiind dezvoltate atât de firme comerciale cât și de indivizi și organizații non-profit (precum Free Software Foundation).
Trademark-ul UNIX aparține organizației The Open Group care îndeplinește rolul de standardizare și certificare. Oficial, poate fi numit UNIX doar un sistem de operare care a trecut de certificarea Single Unix Specification a acestei organizații. O mare parte din producători (mai ales cei non-profit) au ales, atât din cauza prețului cât și din cauza dezvoltării foarte rapide a distribuției lor, să nu-și certifice sistemele. Acestea, cu toate că sunt perfect sau aproape perfect compatibile cu standardul, sunt numite în mod comun „compatibile UNIX”, U*ix sau *nix. Astfel de sisteme nu sunt cu nimic inferioare celor certificate, iar în momentul de față dețin supremația din punct de vedere al bazei instalate.
Spre sfârșitul anilor 1970 și începutul anilor 1980, influența sistemului de operare UNIX în mediile academice a dus la o răspândire explozivă a sistemului (în principal varianta BSD, provenită de la Universitatea Berkeley din California). Sistemul a fost preluat și dezvoltat mai departe ducând la apariția unor variante precum Solaris, HP-UX și AIX. Pe lângă sistemele certificate, întâlnim astăzi o serie de descendenți BSD (FreeBSD, NetBSD și OpenBSD) precum și sisteme mai noi cum ar fi Linux. Termenul UNIX tradițional este folosit pentru a descrie un sistem cu caracteristici similare cu sau UNIX System V.
Istoric 350px|right|thumb|Istoria sistemelor Unix miniatura|Versiunea 7 Unix Prima versiune de UNIX, bazată pe Multics, a fost elaborată în 1969 de Ken Thompson și Dennis Ritchie din grupa de cercetare de la Bell Laboratories, pentru a rula pe un calculator PDP-7. A doua versiune a fost scrisă pentru calculatorul PDP 11/20, iar a treia versiune, în limbajul C, necomercială, pentru calculatoare PDP 11/45 și 11/70, a apărut în 1973.
Prima versiune comercializată de Bell Labs a fost V6, în 1976.
În anul 1978 este distribuită versiunea V7, care putea lucra pe calculatoarele PDP 11/70, Interdata 8/2 și VAX, minicalculatoarele de 32 de biți ale firmei DEC (versiunea 32V). Această versiune a fost distribuită gratuit în toate universitățile din S.U.A. ceeace a dus la creșterea popularității Unix-ului în mediile universitare.
În această perioadă se creează la AT&T Unix Support Group (USG) pentru distribuirea sistemului de operare UNIX. Bell Labs a continuat cercetările proprii, elaborând în 1985 versiunea V8, disponibilă numai în interiorul laboratoarelor.
Prima versiune distribuită de USG a fost System III, în 1982, care a incorporat facilitățile din V7 și 32V. În 1983, USG lansează noua versiune, System V. După reorganizarea USG în USDL (Unix System Development Laboratory) se livrează, începând cu 1984, System V-Release 2 (V2).
Numeroase alte firme (Remington Rand, DEC) și universități (California, Illinois, Harvard), au declanșat cercetări similare asupra Unix. La Universitatea Berkeley din California s-au realizat versiunile BSD BSD-3 și BSD-4, pentru calculatoare VAX, care reprezintă îmbunătățiri ale versiunii 32V. În BSD 4.1 se introduc facilități de gestiune a memoriei virtuale prin paginare la cerere, iar in BSD 4.2 facilități de lucru în rețele locale Ethernet, sau rețele extinse ARPANET. În plus, a fost creată o nouă interfață utilizator (C-Shell), noi editoare de texte (VI și Ex), noi compilatoare pentru PASCAL și LISP etc.
În 1985, AT&T încearcă să impună o versiune standard, ca singură alternativă de evoluție a propriului sistem și elaborează prima versiune a normelor SVID (System V Interface Definition).
După lansarea de către AT&T a System V-Release 4 (V2) în1988, IBM, Hewlett-Packard, DEC, Hitachi și Philips creează Open Software Fundation (OSF) ce reprezintă o acțiune de contracarare a atitudinii de monopolizare a AT&T. Scopul declarat al societății OSF este de a dezvolta un sistem UNIX standard și deschis, bazat pe sistemul IBM AIX.
La definirea standardelor UNIX roluri importante au avut și alte organisme internaționale precum IEEE (The Institute of Electrical and Electronics Engineers) prin normele POSIX (Portable Operating System Interface) și X/Open. Scopul declarat al acestor organizații este de a dezvolta sisteme de operare deschise (în format deschis).Istoric Unix swarm.cs.pub.roO scurtă istorie a UNIX-ului -- de la MULTICS la Linux -- cs.cmu.edu
Prezentare generală Sistemul de operare Unix este folosit pe scară largă atât pentru servere cât și pentru stații de lucru. Mediul de dezvoltare Unix și modelul de programare client-server au fost esențiale în dezvoltarea Internetului și trecerea de la sistemele de calculatoare individuale la sistemele de calculatoare în rețea.
Atât Unix-ul cât și limbajul de programare C au fost dezvoltate de AT&T și distribuite guvernului și instituțiilor academice, ceea ce a dus la portarea lor pe un număr mai mare de calculatoare diferite decât orice alt sistem de operare. Astfel, UNIX-ul a devenit în informatică sinonim cu noțiunea de sistem deschis (open system).
Sistemul de operare UNIX a fost conceput de la bun început ca portabil, multi-user și multi-tasking, și este caracterizat de următoarele concepte informatice de bază: datele sunt stocate în format text simplu într-un sistem de fișiere ierarhic; dispozitivele și toate elementele IPC (inter-process communication) sunt văzute ca fișiere; se folosește pe larg linia de comandă; în loc de programe monolitice masive se preferă programe simple care au o singură funcție, aceste programe fiind cascadate folosind facilitatea pipe pentru a obține funcționalitatea dorită.
Sistemul UNIX constă din totalitatea acestor programe și a unui program master care controlează sistemul. Acest program poartă numele de nucleu sau kernel și oferă servicii precum: pornirea și oprirea altor programe; accesul la sistemul de fișiere; gestionarea resurselor și dispozitivelor hardware, etc. 3.1 Structura și arhitectura sistemului UNIX ebooks.unibuc.ro
Standardizare Prima încercare de standardizare a sistemelor de tip UNIX a avut loc în cadrul proiectului ARPA și a fost documentată în RFC 681.RFC 681: NETWORK UNIX Documentul descrie cerințele sistemului Unix pentru a fi folosit ca un ARPANET mini-host. ARPANET avea să devină mai târziu Internetul din ziua de astăzi. Procesul de evaluare a fost de asemenea bine documentat.
Începând cu sfârșitul anilor 1980, un efort de standardizare cunoscut sub numele de POSIX a asigurat o bază comună pentru toate sistemele de operare de tip UNIX. POSIX este un standard deschis, bazat pe structurile comune de date întâlnite în sistemele UNIX concurente pe piață la vremea respectivă. Standardul POSIX a fost publicat de IEEE în anul 1988. Un efort similar a avut loc la începutul anilor 1990 sub numele de Common Open Software Environment (COSE) Initiative și este administrat de The Open Group. O nouă activitate de standardizare a fost pornită în 1998 de către Austin Group cu scopul de a uni cele două specificații anterioare (POSIX și COSE) sub numele de Single UNIX Specification.
În anul 1999, un număr de furnizori de sisteme UNIX au convenit asupra unui nou standard care vizează de data aceasta formatul binar folosit de programele din sistemele UNIX. Specificația se numește SVR4's Executable and Linkable Format (ELF) și oferă o compatibilitate binară substanțială între diversele versiuni de UNIX, cât timp tipul de procesor folosit este același.
Alt standard folosit în UNIX este The Filesystem Hierarchy Standard. A fost creat ca un layout de referință pentru sistemul de fișiere. Este folosit pe larg în ziua de astăzi în special în Linux.
Distribuții thumb|256px|Un sistem compatibil UNIX - PC-BSD rulând cu interfața grafică KDE Sistemele UNIX actuale se bazează pe trei ramuri originale - UNIX System V (produs de cei de la AT&T la mijlocul anilor 1980), BSD (ramură desprinsă din proiectul AT&T la sfârșitul anilor 1970) și respectiv GNU/Linux (produs ca replică gratuită și open-source la celelalte două ramuri - nucleul e dezvoltat de Linus Torvalds începând cu 1991, iar o mare parte din aplicații sunt date de Proiectul GNU). Fiecare distribuție de astăzi se bazează pe una din aceste ramuri, dar a preluat și anumite caracteristici de la celelalte.
Principalele tipuri de distribuții UNIX aflate în producție la ora actuală sunt: Solaris - Produs de firma Sun Microsystems. Este distribuit atât în versiune closed-source cât și in versiune open source numită Open Solaris. Rulează pe arhitectura SPARC, IA-32 și x86-64. HP-UX - Produs de firma HP. Rulează pe arhitectura PA-RISC și IA-64. AIX - Produs de firma IBM. Rulează pe arhitectura PowerPC și POWER. IRIX - Produs de firma SGI. Rulează pe arhitectura MIPS. MacOS X - Produs de compania Apple pentru calculatoarele Macintosh. Este software comercial, bazat pe o combinație de FreeBSD, nucleul Mach și tehnologii specifice Apple. Rulează pe arhitectura PowerPC și x86. GNU - Produs de către proiectul GNU pentru a creea o alternativă liberă a sistemului UNIX. Mulți oameni se referă la sistemul GNU complet ca GNU/Hurd pentru a evidenția faptul că folosește nucleul Hurd și nu nucleul Linux. Rulează pe IA-32. Linux - Produs de multiple organizații într-o gama largă de distribuții, liber și open-source în baza licenței GPL (licența) și, în majoritatea cazurilor, disponibil gratuit. Rulează pe diverse arhitecturi, incluzând IA-32, x86-64, IA-64, PowerPC, MIPS, PlayStation 2. Majoritatea distribuțiilor Linux îl distribuie împreună cu utilitățile sistemului de operare GNU, ceea ce îi face pe mulți oameni să se refere la aceste distribuți ca GNU/Linux. Dintre distribuțiile Linux cele mai importante amintim: Arch, Debian GNU/Linux, Fedora, Gentoo, Knoppix, Mandrake Linux, Parabola, Red Hat Linux, Slackware, SuSE Linux și Ubuntu. BSD - Astăzi open-source, și disponibil în trei distribuții principale: FreeBSD, NetBSD și OpenBSD. NetBSD rulează pe 54 de arhitecturi diferite, fiind portat inclusiv pe un microcontroller care controla un prăjitor de pâine .
Componente
Sistemele UNIX sunt construite din mai multe niveluri concentrice de software, conținând fiecare o serie de componente. Un sistem UNIX conține, pe lângă nucleu (kernel), un interpretor de comenzi care servește și drept limbaj de scripting (numit shell), un set de biblioteci tipice, o serie de aplicații canonice și cod sursă pentru portabilitate. Nu este necesar ca distribuțiile să conțină aceleași programe sau comenzi - ci doar să respecte anumite standarde și să aibă un comportament previzibil și similar - astfel, kernelul Solaris nu este același cu kernelul HP-UX, iar shellul standard de pe un sistem poate fi complet diferit de cel de pe alt sistem (populare sunt shellurile bash - Bourne Again Shell, ksh - Korn Shell, C Shell și tcsh).
Componența generală a sistemelor UNIX este : 280px|left|thumb|Un exemplu de utilizare a comenzilor canonice Unix - aici, shellul Bourne Again
Kernel În general, UNIX folosește un nucleu monolitic care are posibilitatea de a încărca module suplimentare. Aceasta este o trăsătură comună a nucleelor UNIX începând cu System 5 și până în ziua de astăzi în distribuțiile Linux și BSD. Nucleul Hurd este o excepție de la această regula, fiind un micronucleu.
Mediu de dezvoltare