Sunteți pe pagina 1din 19

1.

1 Introducere
Sistemul de operare UNIX, mpreun cu suita de protocoale TCP/IP
pentru comunicaia n reea i cu sistemul de fiiere NFS constituie o soluie
convenabil pentru constituirea unui sistem complet de operare n reea.
Dezvoltat iniial n laboratoarele AT&T Bell Labs (cu participarea
companiei General Electric i a faimosului MIT Massachusetts Institute of
Technology), UNIX-ul reprezint, de fapt, o mare familie de sisteme de
operare nrudite ce descind din munca programatorilor Dennis Ritchie i
Ken Thompson (creatorii limbajului C) la sfritul anilor 60 i nceputul
anilor 70. Sistemele din familia UNIX pot fi rulate pe orice tip de calculator,
plecnd de la calculatoarele personale pn la super-calculatoarele cu
configuraii extrem de avansate, utilizate ndeosebi n domeniul militar i cel
bancar. De asemenea, toate variantele de UNIX sunt multitasking

, domeniu
n care UNIX are o reputaie deosebit.
Numele su deriv de la un jos de cuvinte al unui alt proiect
Bell Labs/MIT din acelai timp produs pe un calculator mainframe cunoscut
sub numele de Multics (Multiplexed Information and Computing Service).
Sistemul de operare interactiv Multics fusese scris pentru un computer al
companiei General Electric dovedindu-se dup ani de dezvoltare mult prea
costisitor, de aceea Bell Labs s-a retras ulterior din proiect.
n timpul lucrului la proiectul Multics, programatorul
Ken Thompson a scris un joc de cltorie n spaiu pentru computerul
General Electric. Dup sistarea proiectului, acesta a rescris jocul mpreun

Prin multitasking se nelege capacitatea unui sistem de operare de a executa mai multe
procese (task-uri) simultan. Acest lucru se realizeaz prin fenomenul time slicing ce
presupune c fiecare proces aflat n execuie utilizeaz calculatorul pentru o perioad
determinat de timp. Comportamentul multitasking este n opoziie cu task switching,
caz n care fiecare proces aflat n execuie trebuie s se termine pentru a se ncepe
execuia unui nou proces.
UNIX
CARACTERISTICI GENERALE
1
UNIX
cu colegul su Dennis Ritchie pentru a rula pe un computer DEC PDP-7 ce
avea un display grafic mai performant. Acest calculator avea nevoie ns de
un sistem de operare viabil. Iniial, noul sistem de operare a fost numit de
ctre Thompson UNICS (Uniplexed Information and Computing Service),
apoi numele su s-a schimbat n UNIX iar jocul de cltorie spaial a fost
modificat pentru a rula sub UNIX.
Cu toate mbuntirile aduse de-a lungul timpurilor, de la primele
implementri de UNIX i pn acum, toate variaiile sale urmresc ntr-o
mare msur arhitectura i funcionalitatea original UNIX.
1.2 Scurt istoric
Pentru a nelege mai bine caracteristicile acestui sistem de operare,
avantajele i dezavantajele sale, este util s cunoatem cteva lucruri legate
de istoria sa.
Dup cum am spus mai nainte, UNIX a fost conceput iniial la
Bell Laboratories USA drept un proiect privat de cercetare, proiect nceput
n 1969 de ctre un mic colectiv de cercettori. Scopul acestui colectiv de
cercetare era acela de a concepe un sistem de operare care s corespund
urmtoarelor exigene:
s fie elegant, simplu i concis;
s fie scris ntr-un limbaj de programare de nivel nalt i nu n
limbaj de asamblare;
s permit refolosirea codului.
La nceput, UNIX a fost scris n limbaj de asamblare i de aceea nu
putea rula dect pe un calculator anume. Odat cu naterea limbajului C n
1971, Ritchie i Thompson au rescris n 1973 programele de sistem UNIX
n C. n acest fel UNIX-ul putea fi mutat (portat) i pe alte calculatoare fr
un efort prea mare de programare. n aceeai perioad, compania AT&T
(firm mam pentru Bell Laboratories) a fost declarat monopol de Comisia
Federal de Comer a SUA. Drept compensaie, Bell Laboratories a oferit
gratis sistemul de operare UNIX universitilor din SUA, astfel nct acesta
a devenit extrem de popular n mediul academic. Cu timpul, UNIX s-a
rspndit i n mediul comercial, n care studenii aplicau ceea ce au nvat
pe bncile universitilor.
Spre deosebire de majoritatea productorilor de sisteme de operare
din acel timp, care produceau sisteme mari i scrise n limbaj de asamblare,
UNIX avea un mic procent de cod scris n limbaj de asamblare (aproximativ
10% - kernelul), n timp ce restul codului era scris n C. Grupul de
dezvoltare a sistemului a conceput iniial munca n limbaj de nivel nalt,
UNIX Caracteristici generale
apoi, odat cu dezvoltarea sa, au aprut mici schimbri ce au fost fcute n
kernel i n limbajul de programare pentru a se definitiva UNIX-ul.
n cadrul acestei evoluii continue, kernelul i software-ul aferent au
fost extinse pn cnd s-a creat un sistem de operare scris n C, bazat pe
kernelul n limbaj de asamblare.
Codul surs al sistemului de operare UNIX a fost fcut public i
disponibil universitilor de pe ntreg teritoriul SUA. Programatorii de la
Universitatea Berkeley din California au fcut modificri substaniale
codului surs original i astfel s-a nscut BSD (Berkeley Software
Distribution) UNIX. Aceast nou versiune de UNIX a fost fcut
cunoscut la rndul ei programatorilor din SUA care au adugat instrumente
i cod. Cea mai important mbuntire adus sistemului de operare de
ctre programatorii de la Berkeley a fost adugarea software-ului de reea ce
a permis sistemului de operare s funcioneze ntr-o reea local. Varianta
BSD UNIX a devenit extrem de popular printre productorii de computere,
dintre care: Hewlett Packard, Digital Equipment Corporation i Sun
Microsystems.

Scurt istoric al sistemului de operare UNIX
Tabelul 1.1
1969 nceputul dezvoltrii a ceea ce urma s devin UNIX de ctre programatorii
Ken Thompson i Dennis Ritchie la Bell Laboratories.
1973 UNIX este rescris n C pentru a fi portabil i a putea rula pe diverse computere.
1975 Se distribuie versiunea 6 n afara laboratoarelor Bell; prima versiune BSD deriv
din aceast versiune V6.
1980 Microsoft produce Xenix iar BSD 4.2 este larg utilizat.
1984 Universitatea Berkeley din California distribuie versiunea 4.2 BSD ce include suita
de protocoale TCP/IP pentru reea i alte programe aplicative.
1984 Apare versiunea SVR2 (System V Release 2); exist aproximativ 100.000 de
instalri de UNIX n ntreaga lume.
1986 Apare versiunea 4.3BSD ce include internet name server.
1987 Apare versiunea SVR3; n acest moment exist aproximativ 750.000 de instalri de
UNIX n ntreaga lume.
1988 Apare UNIX SVR4 prin unificarea versiunilor System V, BSD i Xenix.
1991 UNIX System Laboratories (USL) devine o companie n care acionar majoritar este
AT&T; Linus Torvalds ncepe dezvoltarea Linux-ului.
1992 USL elaboreaz UNIX SVR4.2 iar Novell i anun intenia de a prelua USL.
1993 Apare versiunea 4.4BSD de la Berkeley. Novell preia USL.
1999 UNIX mplinete 30 de ani; kernel-ul Linux ajunge la versiunea 2.2.
2001 Versiunea 3 Single UNIX Specifications reunete eforturile POSIX, The Open
Group i ale altor companii. Kernel-ul Linux ajunge la varianta 2.4
2003 Kernel-ul Linux ajunge la versiunea 2.5
2004 Se afl n lucru variante ale kernel-ului Linux versiunea 2.6
UNIX
n timp ce firma Sun Microsystems avea sistemul de operare SunOS
bazat pe versiunea BSD UNIX 4.2, compania AT&T folosea o versiune de
UNIX cunoscut sub numele de System V (system five). n anul 1988,
SunOS/BSD, AT&T System V Release 3 i XENIX (o versiune de UNIX
dezvoltat de Microsoft pentru PC-uri cu procesoare Intel) au fost
combinate ntr-o nou versiune UNIX denumit System V Release 4
(SVR4). Aceast nou generaie a sistemului de operare UNIX a fost creat
n scopul combinrii celor mai bune caracteristici din varianta BSD ct i
din varianta AT&T System V pentru a crea un standard n industria
sistemelor de operare. Acest lucru a permis dezvoltarea de software pentru
UNIX indiferent c era vorba despre System V sau BSD 4.2. Noua variant
SVR4 a devenit baza celor mai multe varieti de UNIX.
n tabelul 1.1 regsim istoria de peste 30 de ani a sistemului de
operare UNIX.
1.3 UNIX sistem de operare pentru reea
Ca un vechi i adevrat sistem de operare pentru reea, UNIX ofer
faciliti avansate n acest sens, printre care:
Operare multi-utilizator
Multitasking
Procesare distribuit
Nivel ridicat de securitate
Facilitatea de operare multi-utilizator permite accesul simultan la
sistem pentru mai muli utilizatori ce pot astfel partaja aceleai resurse ale
sistemului. Sistemul de operare are grij de fiecare resurs a computerului,
fie c este vorba de memoria RAM, microprocesor, hard disk, scanner sau
imprimant, permind partajarea fiecreia dintre acestea. Fiecare program
aflat n execuie poart numele de proces sau task. Sistemul de operare
UNIX ine evidena mai multor procese simultan aceast capacitate a sa
este denumit multitasking. Acest fapt permite mai multor aplicaii s ruleze
n acelai timp pe computer.
De asemenea, capacitatea de procesare distribuit a sistemului de
operare se refer la faptul c acesta permite utilizarea partajat a resurselor
n cadrul reelei. Cel mai simplu exemplu n acest sens este acela n care un
utilizator poate accesa fiiere i aplicaii de pe hard disk-ul altui computer
situat n alt parte a reelei de calculatoare.
UNIX Caracteristici generale
n fine, sistemele de operare pentru reea au implementate sisteme de
securitate foarte sigure; exist multe alte faciliti de asigurare a securitii
n afar de cea clasic nume-de-utilizator/parol. De regul, facilitile de
asigurare a securitii sistemului pot fi active sau nu, n funcie de politicile
de securitate implementate la nivelul companiei respective.
1.4 Arhitectura UNIX
Sistemul de operare UNIX este un sistem de operare structurat n
principal pe urmtoarele dou nivele:

Programe sistem UNIX;
Nucleul (denumit kernel) sistemului UNIX.
Majoritatea programelor sistem i kernel sunt scrise n C, permind
portabilitatea pe alte platforme hardware ce posed un compilator C.
Programele de sistem UNIX ofer funcionalitatea cerut de utilizatori prin
iniierea unui sistem de apeluri ctre nucleul sistemului UNIX. Nucleul
ndeplinete aceste cereri interacionnd cu nivelul hardware i returnnd
rezultatele scontate utilitarelor i programelor sistem. n aceast arhitectur
stratificat, doar nucleul UNIX trebuie s se ocupe de echipamentele
hardware specifice cu care trebuie s interacioneze; n interiorul nucleului
majoritatea codului specific hardware se limiteaz la driverele
echipamentelor.
Nucleul reprezint centrul sistemului de operare i are rolul de a
oferi funcionalitile de baz necesare funcionrii computerului. Nucleul
este apropiat de microprocesor i hardware, fiind un fiier executabil ce este
ncrcat n memorie atunci cnd are loc procesul de boot al calculatorului,
fiind denumit generic unix (pe sistemele bazate pe System V) sau vmunix
(pe sistemele bazate pe BSD). Odat cu ncrcarea n memorie, nucleul
ncepe execuia urmtoarelor funcii:
Administrarea echipamentelor, a memoriei i a proceselor;
Asigur controlul funciilor de transmisie a informaiilor ntre
programele de sistem i echipamentele hardware;
Administreaz entiti precum spaiul de swap, demonii i
sistemul de fiiere.
Spaiul de swap reprezint o poriune special de pe
hard-disc ce este folosit de ctre kernel pentru procesare.
Buci ale programelor ce se afl n execuie pot fi
interschimbate ntre memoria RAM i hard-disc ori de cte
ori este nevoie. Acest mecanism de extindere a memoriei
UNIX
RAM a sistemului prin utilizarea spaiului de pe hard-disc
poart denumirea de memorie virtual.
Demonii sunt programe (sau procese) ce ndeplinesc un anumit
rol; ei sunt procese speciale care i ncep execuia dup
ncrcarea sistemului de operare n memorie. Dup aceea,
demonii ateapt s ruleze anumite sarcini n sprijinul
sistemului de operare, putnd fi pornii manual sau n mod
automat. Un exemplu de proces demon este dtlogin care
determin apariia ecranului de login CDE la nceputul unei
sesiuni UNIX sau dup ce utilizatorul iese din File Manager-ul
CDE. Procesele demon din lumea UNIX sunt similare cu
serviciile (services) din Windows NT/2000/XP sau cu modulele
NLM (Netware Loadable Modules) din sistemul de operare
Novell Netware.
Sistemele de fiiere reprezint modalitatea de organizare a
directoarelor, subdirectoarelor, fiierelor pe hard-disc.
Sistemele de fiiere pot fi situate att local (pe calculatorul
local) ct i la distan (pe alt calculator din reea, de regul
un aa numit server).

Programele i utilitarele sistemului, precum i aplicaiile
utilizatorilor sunt independente de hardware i singura cerin pentru acestea
este s iniieze apeluri standardizate de sistem ctre nucleul UNIX. Cele mai
multe dintre funciile nucleului UNIX se ocup de managementul fiierelor
sau al anumitor tipuri de dispozitive. Pentru a simplifica i standardiza
apelurile de sistem, UNIX interpreteaz echipamentele ca fiind tipuri
speciale de fiiere. Poate cea mai important caracteristic a sistemului
UNIX este aceea a disponibilitii codului surs, ceea ce permite multor
programatori s mbunteasc i s modifice aceste sistem de operare de-a
lungul anilor. Cele dou proprieti remarcabile ale sistemului de operare
UNIX sunt:
Portabilitatea aceasta se manifest n dou moduri: n primul
rnd, UNIX este portabil pe numeroase platforme hardware; n al doilea
rnd, programele scrise pentru UNIX sunt implicit portabile pe toate
platformele UNIX, depinznd de nivelul de similaritate ntre nucleele i
programele de sistem UNIX;
Modularitatea UNIX este un sistem dinamic, a crui
funcionalitate poate fi mbuntit prin adugarea de noi programe
utilitare; de asemenea, este posibil i modificarea nucleului i recompilarea
sa pentru un sistem de operare mai bun.
UNIX Caracteristici generale
Arhitectura general i cele mai importante funcii ale nucleului
UNIX sunt prezentate n figura 1.2.



1.5 Funcionaliti UNIX
Dintre cele mai importante caracteristici funcionale ale sistemului
de operare UNIX se disting urmtoarele:
Operare multiutilizator;
Multitasking preemtiv;
Multiprocesare;
Suport pentru aplicaii multi-threaded.
O alt caracteristic important este aceea a managementului
memoriei care este realizat prin dou metode de baz: memoria virtual
(prin procedeul de swapping) i paginarea. Prima metod permite
interschimbarea proceselor ntre memoria fizic i partiia de swap de pe
hard disc, n timp ce procedeul de paginare caut s elimine sau cel puin s
minimizeze fragmentarea (care apare n procesul de swapping), permind
astfel proceselor s execute doar acele poriuni ale acestora care sunt
prezente n memoria principal. Aceste poriuni de dimensiune fix
ncrcate n memoria principal la cerere sunt cunoscute sub denumirea de
pagini, iar ntregul proces este referit sub numele de sistemul de memorie
virtual (bazat pe cereri de pagini).
Figura 1.2 Arhitectura general a sistemului de operare UNIX
UNIX
Alt funcionalitate de baz este aceea oferit de sistemul de
intrare/ieire care ncearc s minimizeze interaciunile (specifice
hardware) necesitate de nucleul UNIX. Sistemul de intrare/ieire al
sistemului de operare UNIX este alctuit din:
Interfaa socket, folosit pentru comunicaiile ntre procese;
Driverul dispozitivelor bloc, folosit pentru comunicarea cu
dispozitive orientate pe bloc (de exemplu hard discuri sau uniti
de band). Transferurile efectuate de astfel de dispozitive se fac
de regul n blocuri de lungime fix de 512 sau 1024 octei;
Driverul dispozitivelor orientate caracter, folosite pentru
comunicarea cu dispozitivelor orientate pe caracter (terminale,
imprimante sau alte dispozitive care nu transfer date n blocuri
de octei de dimensiune fix).
n fine, un rol de baz n funcionarea sistemului UNIX l are
controlul proceselor i intercomunicarea ntre procese (asigurat prin
mecanismul de conduct pipe- fie prin sockets).
1.6 Implementri de UNIX
Dou dintre familiile importante ale sistemului de operare UNIX
sunt:
UNIX System V Release 4, cunoscut de regul sub denumirea
de SVR4 sau V.4, deriv din modelul original dezvoltat la
Bell Laboratories, cunoscut mai trziu sub numele de UNIX
Systems Laboratory (USL) i vndut apoi ctre SCO (Santa Cruz
Operation) i
Berkeley Software Distribution (BSD) versiunea 4.4., variant
cunoscut sub denumirea de 4.4BSD.
Exist ns o mare varietate de sisteme de operare UNIX, majoritatea
acestora fiind similare deoarece sunt bazate pe standardul SVR4. Celelalte
varieti sunt bazate pe BSD. Cele mai multe diferene apar la comenzile de
administrare a sistemului. Putem spune dac lucrm pe un sistem de operare
bazat pe System V sau BSD i dup comenzile de printare (lp pentru System
V i lpr pentru BSD) i de vizualizare a proceselor lansate n execuie
(ps ef pentru System V i ps aux pentru BSD).
UNIX Caracteristici generale
UNIX a devenit o marc nregistrat (deinut de The Open Group
www.opengroup.org), de aceea fiecare productor de UNIX i-a ales
propriul nume. Spre exemplu, versiunea de UNIX a firmei Sun se numete
Solaris, a firmei IBM se numete AIX iar a firmei Hewlett Packard se
intituleaz HP-UX.
n tabelul 1.3 sunt prezentate o serie de implementri UNIX,
platformele hardware pe care acestea activeaz precum i vnztorii
produselor.

Diferite implementri de UNIX

Tabelul 1.2
Implementarea
UNIX
Platforma hardware Vnztor
A/UX Macintosh Apple Computer
AIX Staii i mainframe-uri IBM,
RS/6000
IBM
HP-UX Staii HP RISC Hewlett-Packard
Corporation
Linux Intel x86 Shareware
NextStep Intel 486 sau Pentium, Next Next Computer
OSF/1 i Ultrix Staii DEC VAX i Alpha Digital Equipment
Corporation
SCO OpenServer Intel 486 sau Pentium Santa Cruz Operation
Solaris Staii Sun Sparc i Intel x86 SunSoft
UNIXWare Intel 486 sau Pentium Novell

Aceste variante de UNIX sunt concepute s ruleze pe platformele
hardware specifice firmelor care le-au dezvoltat. Unele variante ns ruleaz
pe mai multe platforme hardware; spre exemplu, Solaris ruleaz att pe staii
de lucru Sun ct i pe staii cu microprocesoare Intel i pn la computere de
tip mainframe i supercomputere.
Ultimul sistem de operare derivat din kernelul UNIX l reprezint
Linux-ul, conceput s ruleze pe microprocesorul Intel de la staii de lucru
ieftine (chiar i 386!) pn la servere performante. Linux-ul a devenit foarte
popular printre specialitii entuziati ai computerelor n necesitatea gsirii
unui sistem de operare stabil i ieftin.
UNIX
Totul a plecat n 1992 de la Linus Torvalds de la Universitatea din
Helsinki, Finlanda, care a fcut public Linux-ul pe Internet i a ncurajat pe
toat lumea s contribuie la dezvoltarea sa. n mod periodic un grup de
dezvoltatori revizuiesc i testeaz ultimile contribuii i elaboreaz
o versiune stabil a sistemulului de operare. Linux este gratis conform GNU
General Public Licence (www.gnu.org) dar exist o serie de companii care
adaug sistemului produse de tip Office, interfee desktop, software pentru
Web server, etc. precum i CD-uri de instalare i percep astfel o tax (care
este, oricum, mult mai mic dect a oricrui alt sistem de operare
comercial).
1.7 GNU Not UNIX, free software i open source
Conceptul de free software este un concept vechi; primele
calculatoare personale au ajuns prima dat n universiti, fiind instrumente
de cercetare. Software-ul putea fi instalat n mod liber pe orice calculator,
iar programatorii (puini, la acea vreme) erau pltii pentru activitatea de
programare, nu pentru programele n sine pe care le realizau. Ceva mai
trziu ns, atunci cnd calculatoarele personale au intrat n lumea afacerilor,
programatorii au nceput s restricioneze drepturile de folosire a software-
ului pe care l produceau, percepnd taxe de utilizare pentru copiile
programelor.
Numele de GNU provine de la sintagma GNU Not UNIX i s-a
dorit a fi un sistem de operare precum UNIX ce este distribuit cu codul
surs i poate fi copiat, modificat i redistribuit. Proiectul GNU a fost iniiat
n 1983 de Richard Stallman i alii ce au pus bazele Fundaiei pentru
Software Liber (FSF Free Software Foundation). Concepia lui Stallman
este aceea c utilizatorii pot face ce doresc cu software-ul achiziionat,
putnd face cpii ale acestuia pentru prieteni i modifica codul surs
redistribuind-ul la un anumit cost. FSF stipuleaz termenul copyleft care
nseamn c oricine redistribuie software free trebuie s lase n continuare
libertatea de copiere i redistribuie a programului, asigurndu-se n acest fel
c nimeni nu va reclama drepturi de proprietate asupra unor versiuni viitoare
i nu va impune restricii la utilizarea acestuia.
n acest context, termenul free nseamn libertate i nu neaprat
gratis. Fundaia FSF percepe nite costuri iniiale la distribuia GNU.
Redistribuitorii pot, de asemenea, s perceap taxe pentru copiile
programelor n scopul profitului sau pentru acoperirea costurilor. Ideea de
baz a software-ului liber (free software) este aceea c se las libertatea
UNIX Caracteristici generale
utilizatorilor s modifice i s reasambleze produsul fr nici o restricie n
afar de aceea c nici ei, la rndul lor, nu pot impune restricii mai departe.
Stallman crede c unul dintre rezultatele filozofiei free software este
acela c mai multe programe free vor coexista mpreun provenind din alte
programe free. GNU

este un exemplu n acest sens; acesta a devenit un


sistem de operare cnd n august 1996 i-a fost adugat un kernel (GNU
Hurd i Mach). Fundaia FSF continu s dezvolte software free sub form
de programe de aplicaii; un program de tip spreadsheet este acum
disponibil. Sistemul de operare Linux este conceput cu componente GNU
iar kernelul este dezvoltat de Linus Torvalds.
Munca lui Stallman a inspirat multe contribuii de software free, iar
definiia open source conine multe dintre ideile lui Stallman, putnd fi
considerat drept un concept derivat. Open Source Definition a luat natere
odat cu distribuia Debian GNU/Linux. Sistemul de operare Debian, o
variant de Linux popular i n zilele noastre, a fost construit n ntregime
pe baz de software free. Cu toate acestea, deoarece avea alte licene diferite
de copyleft (care era prin definiie free), Debian a avut ceva probleme n
definirea faptului c este free. Cu timpul au fost elaborate o serie de reguli
definite n Debian Free Software Guidelines, document ce definete
practic software-ul open source.
Partizan mptimit al software-ului free, Eric Raymond a scris un
articol intitulat The Cathedral and the Bazaar (Catedrala i bazarul) n
ncercarea de a explica ideea de free software. n acest articol, Raymond
descrie software-ul comercial ca fiind dezvoltat n stilul unei catedrale,
izolat de marea majoritate a dezvoltatorilor independeni, n timp de
software-ul free se construiete n stil de bazar, oferind un loc de ntlnire
pentru oricine dorete acest lucru. n articol se susine ideea c modelul de
bazar este superior deoarece un numr mult mai mare de utilizatori i
programatori contribuie la dezvoltarea de software mai bun i ntr-un timp
mai scurt. Toi cei care doresc s contribuie la scrierea codului pentru
proiect sunt binevenii, iar cel mai bun cod va fi ales pentru includerea n
proiectul final.

GNU s-a vrut iniial s fie o alternativ la versiunile comerciale de UNIX. Acest lucru nu
s-a ntmplat nc, dar Richard Stallman i ali programatori muncesc n continuare pentru
acest ideal. Paradoxal este c primele succese nregistrate de GNU au fost aplicaii
adiionale sistemelor proprietare UNIX. Componente GNU precum GNU Emacs, GCC
(GNU C Compiler) i bash (un nlocuitor free pentru Bourne Shell) sunt instalate astzi
implicit pe majoritatea variantelor de UNIX existente.
UNIX
Articolul The Cathedral and the Bazaar a avut un mare succes i o
mare influen ulterior: oficialii de la Netscape au dezvluit codul surs al
vestitului lor browser web (Netscape Navigator) n sperana c dezvoltatori
independeni l vor face mai bun. Mai mult, Netscape a nceput s l consulte
pe Raymond cu privire la integrarea firmei n curentul free software. La
nceputul anului 1998, Eric Raymond s-a ntlnit cu o serie de susintori ai
conceptului de free software pentru a discuta modaliti prin care s
ncurajeze i alte companii precum Netscape s li se alture. Printre ideile
vehiculate atunci, s-a stabilit c termenul free (care n englez are un sens
dual, de liber, dar i de gratis) sun anti-comercial, drept pentru care au
propus termenul de open source drept nlocuitor. Netscape a folosit
termenul de open software atunci cnd a anunat distribuirea public a
codului surs pentru Netscape Navigator iar faimoasa editur OReilly and
Associates a adoptat acest termen n materialele sale promoionale. Cu
ajutorul acestor dou mari firme, termenul de open source a nceput s aib
mare succes.
Similar cu acest concept a luat natere i ideea de open hardware
cu privire la dispozitivele i interfeele hardware. Acest concept ns nu a
avut acelai succes ca ideea de software open source, dar el nc exist i
poate fi studiat la adresa web http://www.openhardware.org/.
1.8 Comenzi i interfee grafice n UNIX
Sistemul de operare UNIX posed peste 350 de comenzi de sistem i
programe utilitare folosite pentru administrarea sistemului (adugare de noi
utilizatori, noi dispozitive hardware, etc.), administrarea sistemului de
fiiere (creare, editare, copiere, tergere, printare, etc.), asigurarea
conexiunii la reea i comunicrii cu alte sisteme i oferirea de ajutor.
Interpretorul de comenzi (shell-ul) preia comenzile i le execut. Unele
dintre comenzi sunt nglobate n interpretor, precum comanda cd (change
directory) dar marea majoritate a comenzilor se afl pe hard-disc, de regul
n directoare specifice, precum directorul bin (prescurtarea de la binary
code).
Toate sistemele de operare moderne au un sistem grafic de interfa
cu utilizatorul (GUI Graphical User Interface); interfaa grafic
Macintosh, Microsoft Windows sau UNIX CDE sunt exemple de astfel de
interfee.



UNIX Caracteristici generale
Interfaa grafic CDE (Common Desktop Environment)

Firma Sun Microsystems a fost una dintre primele firme ce a utilizat
o interfa grafic pentru sistemul de operare UNIX. n anul 1993 s-a format
un consoriu de firme ce comercializau sisteme de operare UNIX, cu scopul
de a dezvolta un mediu de interfa grafic, integrat, standard i funcional.
Printre membrii acestui consoriu se numrau: Hewlett-Packard, IBM,
Novell, Sun Microsystems, companii i membri ai fundaiilor OSF (open
Software Foundation), X/Open i X Consortium. CDE este bazat
pe standardul Motif, oferind o serie de caracteristici generale, comune cu
alte medii desktop, printre care:
ofer un mediu GUI de interfa ntre utilizator i sistemul de
operare;
include meniuri ce pot fi selectate de ctre utilizatori i permite
rularea unor programe fr a fi necesar scrierea comenzii la
linia de comand;
ofer peste 300 de programe utilitare i instrumente;
permite utilizatorilor s controleze mai multe documente i
aplicaii pe ecran n acelai timp;
controleaz activitile din ferestre att cu ajutorul mouse-ului
ct i cu ajutorul tastaturii.
Ecranul CDE poate fi observat n figura 1.4, cu principalele
programe i instrumente de lucru: calendar, administrare de fiiere, e-mail,
administrarea printrii etc.

UNIX

Figura 1.4 Interfaa grafic CDE


Interfaa grafic GNOME

O alt interfa grafic mai recent n lumea UNIX este GNU
Network Object Model Environment (GNOME) i face parte din proiectul
GNU open source. GNOME (vezi figura 1.5) posed un mediu grafic uor
de utilizat pentru utilizator precum i un cadru propice de dezvoltare a
aplicaiilor de asemenea, fiind software open source, este gratis. Interfaa
GNOME (http://gnome.org) este inclus n majoritatea versiunilor de UNIX
BSD precum i n distribuiile de GNU/Linux. De asemenea, GNOME
funcioneaz i cu Sun Solaris (http://www.sun.com/gnome). GNOME
posed o interfa intuitiv, uor de utilizat, combinnd o organizare
complex a desktop-ului cu faciliti de navigare ce permit un acces uor la
informaii.

UNIX Caracteristici generale


Figura 1.5 Interfaa grafic GNOME

1.9 Documentarea n UNIX
Fie c este vorba despre un nceptor sau despre un utilizator avansat
n utilizarea UNIX-ului, totdeauna este util consultarea paginilor de help
(care n UNIX se numesc pagini de manual, sau man pages). Dar s vedem
cum se poate obine ajutor n UNIX atunci cnd vrem s aflm cum se
utilizeaz o comand ?
Cea mai la ndemn soluie este consultarea paginilor de manual,
acest lucru fcndu-se prin utilizarea comenzii man. A doua soluie ar fi
utilizarea resurselor Internet. n continuare vom prezenta mai pe larg aceste
dou opiuni.


UNIX
1.9.1 Utilizarea comenzii man
Manualul programatorului UNIX (paginile de manual) descriu toate
detaliile pe care trebuie s le cunoatem pentru a utiliza comenzi, a
programa sau a administra sistemul. De regul, paginile de manual sunt
instalate automat odat cu instalarea sistemului. Paginile de manual se
prezint sub form de text, fr grafice, desene, etc. Pentru a accesa paginile
de manual trebuie s utilizm comanda man la prompter. Paginile de manual
sunt deosebit de utile fie atunci cnd am uitat sintaxa unei comenzi sau
dorim informaii n plus cu privire la acea comand.
Paginile de manual ofer informaii cu privire la sintaxa general a
comenzii, descrierea funcionalitii acesteia, opiunile i argumentele
utilizate i exemple de folosire a comenzii. Unele dintre comenzi nu vor
funciona la fel n cadrul shell-urilor diferite; n acest caz se va face referire
la shell-ul Bourne (sh), shell-ul Korn (ksh), shell-ul Bourne Again Shell
(bash) sau shell-ul C (csh).

Figura 1.6 Listing pentru comanda man ls


UNIX Caracteristici generale
S vedem n continuare cteva moduri n care poate fi utilizat
comanda man:
$ man nume
Ofer informaii cu privire la o comand anume,
unde nume este denumirea complet a comenzii
respective

n figura 1.6 avem ca exemplu o parte din listing-ul obinut n urma
apelului comenzii man ls (informaii cu privire la comanda ls).
O alt posibilitate de utilizare a comenzii man este aceea n care se
folosete o anumit seciune din manualul UNIX, avnd n vedere c
paginile de manual sunt structurate pe mai multe seciuni. Dintre aceste
seciuni, cele mai importante sunt: seciunea 1 - comenzi utilizator,
seciunea 2 - apeluri de sistem, seciunea 3 - apeluri de biblioteci.

Comenzile precum man(1) sunt grupate deci n seciunea 1.

$ man -s nr_sectiune nume
Ofer informaii cu privire la o
comand cu numele specificat de
nume, n seciunea nr_sectiune

Observaie
Aceast comand poate s difere de la un sistem la altul. Modalitatea
de apel prezentat mai sus se refer la Sun Solaris. Pe un sistem FreeBSD
ns, comanda poate fi apelat n felul urmtor, fr a se specifica opiunea -
s: man nr_sectiune nume.

n cazul n care nu tim numele comenzii, putem apela comanda man
folosind opiunea -k, prin care facem o cutare dup un cuvnt cheie.

$ man -k cuvant_cheie
Ofer informaii cu privire la
comenzi referitoare la cuvntul
cheie specificat

Exemplul urmtor ne arat cum am putea cuta informaii cu privire
la modificarea proprietarului (owner) unui fiier:

$ man -k owner
chown(2), fchown(2), lchown(2) - change owner and group
of a file
chown(8) - change file owner and group
$


UNIX
Listingul anterior conine o serie de referine care conin cuvntul
cheie owner. Pe unele sisteme UNIX acest lucru se poate face utiliznd
comanda apropos, ca n exemplul urmtor:

$ apropos owner
chown(2), fchown(2), lchown(2) - change owner and group
of a file
chown(8) - change file owner and group
$


De asemenea, se pot afia informaii generale n legtur cu o
comand specificat folosind whatis. Comanda whatis se poate folosi astfel:

$ whatis comanda
Afieaz linia de nceput din cadrul
paginii de manual referitoare la
comanda specificat

Comanda whatis poate fi util n cazul n care ne reamintim
comanda dar nu mai tim la ce se folosete.
n mod normal, listingul obinut n urma unei comenzi man se poate
ntinde pe multe pagini. n acest sens, este util s cunoatem cteva taste
specifice utilizate pentru navigarea n cadrul paginilor listate pe ecran. n
tabelul 1.7 sunt prezentate cteva taste folosite la navigarea prin listingul
paginilor de manual.

Taste utilizate pentru deplasarea n cadrul paginilor de manual

Tabelul 1.7
Tasta SPACE Determin defilarea ecran cu ecran
Tasta RETURN Determin defilarea unei singure linii de ecran
Tasta b napoi cu un ecran (b - back)
Tasta f nainte un ecran (f - forward)
Tasta q Se ncheie listarea i comanda man (q - quit)
/sir_caractere Se caut irul de caractere specificat
Tasta n Se caut urmtoarea apariie a irului de
caractere (n - next)
Tasta h Se afieaz informaii privind posibilitile de
deplasare n listing (h - help)

UNIX Caracteristici generale
1.9.2 Utilizarea referinelor Internet
Pe Internet exist o serie ntreag de documentaii cu privire la
sistemul de operare UNIX. n tabelul 1.8 sunt prezentate cteva adrese web
utile ce conin astfel de documentaii.

Resurse Internet pentru diverse variante de UNIX

Tabelul 1.8
URL Varianta de UNIX
http://www.FreeBSD.org/cgi/man.cgi BSD
http://docs.hp.com/index.html HPUX 10 & 11
http://docs.sun.com/ SunOS, Solaris
http://www.ibm.com/servers/aix/ IBM AIX
http://support.sgi.com/search/ SGI IRIX/Linux
http://doc.sco.com/ UnixWare & SCO


Dintre aceste adrese web, prima (http://www.FreeBSD.org) merit o
atenie deosebit, deoarece prezint pagini de manual i pentru alte versiuni,
cum ar fi:
BSD, 2.9.1 BSD, 2.10 BSD, 2.11 BSD
BSD 0.0, 386BSD 0.1
BSD NET/2, 4.3BSD Reno, 4.4BSD Lite2
FreeBSD 1.0-RELEASE - FreeBSD 4.0-RELEASE
FreeBSD 5.0
FreeBSD Ports
Linux Slackware 3.1
Minix 2.0
NetBSD 1.2 - NetBSD 1.4
OpenBSD 2.1 - OpenBSD 2.6
Plan 9
RedHat Linux/i386 4.2, 5.0, 5.2,etc.
SunOS 4.1.3, 5.5.1, 5.6, 5.7
ULTRIX 4.2
UNIX Seventh Edition

S-ar putea să vă placă și