UNIX

De la Wikipedia, enciclopedia liberă
Salt la: Navigare, căutare

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 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 Version 7 UNIX sau UNIX System V.

Prezentare generală[modificare | modificare sursă]

Istoria sistemelor Unix

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 sistem).

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.

Standardizare[modificare | modificare sursă]

Prima încercare de standardizare a sistemelor de tip UNIX a avut loc în cadrul proiectului ARPA și a fost documentată în RFC 681.[1] 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 compatibiltate 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[modificare | modificare sursă]

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:

Componente[modificare | modificare sursă]

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 :

Un exemplu de utilizare a comenzilor canonice Unix - aici, shellul Bourne Again

Kernel[modificare | modificare sursă]

Î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.

Mediu de dezvoltare[modificare | modificare sursă]

UNIX are un mediu suficient pentru a reconstrui tot sistemul direct din codul sursă. Canonice sunt un compilator de C (cc), un assembler (as) , un linker pentru combinarea fișierelor obiect (ld), un set tipic de biblioteci pentru limbaj (lib), un sistem de automatizare a compilării (make), și eventual alte limbaje de programare și scripting (C, C++, Java, Perl, Python, Fortran, COBOL, Pascal), programe de arhivare (ar, tar, bz2, gzip, zip, rar), unelte pentru dezvoltarea de compilatoare etc.

 v  d  m  Mediul de dezvoltare UNIX
Limbaje de programare: C | C++ | Java| Fortran | COBOL| Pascal
Limbaje de scripting: shell | AWK | Perl | Python
Unelte: gcc | GNU Assembler | GDB | make
Arhivare: ar | tar
Revision control: Subversion | Git | Mercurial | RCS | CVS
IDE: Eclipse

Comenzi UNIX[modificare | modificare sursă]

În UNIX comenzile se introduc într-un anumit program intitulat shell. Acesta este pornit automat de sistem în momentul în care utilizatorul este autentificat. În general, nu se face o distincție între aplicații de sistem și aplicații de uz general. Există însă un set de comenzi generale care pot fi întâlnite pe orice sistem UNIX, comenzi standardizate de organizația The Open Group. Aceste comenzi sunt necesare pentru interacționarea cu sistemul și lucrul cu fișierele.

 v  d  m  Programe în linia de comandă pentru Unix (mai multe)
Management de fișiere: cat | cd | chmod | chown | chgrp | cksum | cmp | cp | du | df | file | fsck | ln | ls | lsof | mkdir | mount | mv | pwd | rm | rmdir | split | touch
Management de procese: at | chroot | cron | exit | kill | killall | nice | pgrep | pidof | pkill | ps | pstree | sleep | time | top | wait
Management utilizator/mediu: env | finger | id | mesg | passwd | su | sudo | uname | uptime | w | wall | who | whoami | write
Procesare text: awk | comm | cut | ed | ex | fmt | head | iconv | join | less | more | paste | sed | sort | tac | tail | tr | uniq | wc | xargs
Programare Shell: basename | echo | expr | false | printf | test | true | unset Imprimare:
lp
Communicații:
inetd | netstat | ping | rlogin | traceroute
Căutare:
find | grep | strings
Diverse:
banner | bc | cal | dd | man | size | yes

Interfață grafică[modificare | modificare sursă]

Un sistem compatibil UNIX - Fedora Linux rulând cu interfața grafică GNOME

Pe lângă aceste comenzi, o distribuție modernă UNIX vine cu un server grafic (X11 sau X Server), care implementează sistemul de ferestre și controlează tastatura și mausul. X11 s-a impus de la bun început ca standard de interfață grafică pentru sistemele UNIX. Cea mai des folosită implementare de server X11 este cea a Fundației X.Org și este folosită atât de distribuțiile libere BSD și Linux, cât și de versiunile UNIX proprietare cum ar fi Solaris de la Sun Microsystems.

X11 nu specifică modul în care trebuie să arate ferestrele și elementele grafice de pe ecran. Acestea se particularizează cu ajutorul unui manager de ferestre și/sau a unui mediu desktop. Primul astfel de sistem de particularizare a fost OPEN LOOK.[2] [3] Dezvoltat la sfârșitul anilor 1980 de AT&T, Sun Microsystems și XEROX, a încercat să se impună ca un standard fără să reușească. Alternativa s-a numit Motif și a fost dezvoltată de o serie de firme competitoare. În ziua de azi, OPEN LOOK și Motif sunt foarte rar folosite, și au fost înlocuite de noi medii grafice precum GNOME, KDE, Fluxbox, etc.


 v  d  m  Medii desktop și managere de ferestre pentru X11
Medii desktop: Gnome | KDE | XFCE | CDE | IRIX Interactive Desktop EDE | Étoilé | LXDE | Mezzo | ROX | UDE
Managere de ferestre: AfterStep | Beryl Compiz | Enlightenment | KWin | Metacity | Sawfish | Window Maker | Blackbox | Fluxbox | FVWM95 | IceWM | JWM | Openbox | QVWM | twm | WindowLab | dwm | evilwm | ratpoison | UWM | wmii | xmonad
Sisteme de dezvoltare: GTK+ | Qt | Motif | FLTK | OPEN LOOK

Aplicații UNIX[modificare | modificare sursă]

UNIX oferă utilizatorilor accesul la o serie extinsă de programe, atât servere cât și aplicații. Practic, sunt acoperite toate domeniile de activitate, de la IDE-uri pentru programare, servere web și calcul științific până la browsere, procesoare de text și jocuri - spre exemplu, o parte din distribuții vin cu browserul Firefox.


 v  d  m  Programe UNIX
Editoare de text: vi | vim | emacs | gedit | Kate | AbiWord | NEdit | nano | Bluefish
Suite office: OpenOffice.org | Gnome Office | KDE Office
Tehnoredactare: TeX | LaTeX | Kile | LyX | Texmaker | Scribus
Editoare grafice: GIMP | Inkscape | Blender | Krita | Maya | Softimage | K-3D | Dia
Multimedia: MPlayer | Xine | Totem | Kaffeine | VLC | Amarok | aTunes | XMMS | BMP | Audacious | RhythmBox | Cinelerra | KDenlive | LiVES | Kino | AviDemux | Ardour | Audacity
Severe networking: Apache | thttpd | lighttpd | vsftpd | pure-ftpd | OpenSSH | Samba | Squid | NTP | ISC DHCP
Clienți networking: telnet | ftp | Firefox | Galeon | Konqueror | Opera | Kontact | Evolution | Thunderbird | PidgIn | Kopete | Gabber | TightVNC | RealVNC | aMule | Azureus | Vuze | Qtorrent | Ktorrent | Skype | Linphone | OPenwenGo | Ekiga
Securitate: gufw | nmap | Wireshark | chkrootkit | rkhunter

Sisteme UNIX gratuite[modificare | modificare sursă]

În anul 1983, Richard Stallman a anunțat proiectul GNU, un proiect ambițios al cărui scop este crearea unui sistem UNIX gratuit, în sensul că oricine obține o copie a sistemului de operare poate să-l utilizez, studieze, modifice și distribuie mai departe. Printre pachetele de bază ale sistemului GNU amintim gcc - GNU Compiler Collection , glibc - GNU C library și GNU core utilities. Kernelul sistemului poartă numele Linux, după numele lui Linus Torvalds, inițiatorul proiectului. Prima versiune a kernelului a apărut în anul 1991, și a fost publicată sub licență GNU General Public License.

Distribuțiile Linux împachetează și distribuie sistemul software GNU. O serie de distribuții precum Red Hat Enterprise Linux, Fedora, SUSE Linux Enterprise, openSUSE, Debian GNU/Linux, Ubuntu, Mandriva Linux, Slackware Linux și Gentoo au devenit foarte populare atât în rândul utilizatorilor profesioniști cât și în rândul utilizatorilor neprofesioniști.

O derivată gratuită a sistemului BSD UNIX a fost lansată în anul 1992 sub numele de 386BSD, și a dus mai târziu la apariția unui număr de alte variante gratuite precum NetBSD, FreeBSD, OpenBSD, DragonFly BSD etc.

Linux și BSD ocupă în momentul de față o bună parte din piața ocupată în mod tradițional de sistemele UNIX proprietare, și se extind pe piețe noi precum piața de calculatoare personale, dispozitive mobile, dispozitive embedded. Datorită designului, multe bucăți de software sunt comune tuturor acestor sisteme. O bună parte din codul sistemelor Linux provine din BSD, în timp ce distribuțiile gratuite BSD folosesc pe larg software GNU.

OpenSolaris este o adiție relativ recentă pe lista variantelor gratuite de sisteme Linux. Include o serie largă de utilitare de sistem GNU, și este în mod curent singura derivativă open-source de UNIX System V.


Referințe[modificare | modificare sursă]

  1. ^ RFC 681: NETWORK UNIX
  2. ^ Sun Microsystems, Inc. (1989). OPEN LOOK Graphical User Interface Functional Specification. Addison Wesley. ISBN 0-201-52365-5 
  3. ^ Tony Hoeber (1 decembrie 1988). „Face to face with Open Look”. Byte Magazine. http://www.guidebookgallery.org/articles/facetofacewithopenlook. Accesat la 31 iulie 2007. 


Legături externe[modificare | modificare sursă]