Sunteți pe pagina 1din 12

UNIVERSITATEA ,,TIBISCUSDIN TIMIOARA

Facultatea de Calculatoare i Informatic Aplicat

PROIECT
Dezvoltarea Aplicatiilor sub Unix

Student:

UNIX Caracteristici generale


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 c tre 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 produc torilor 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, 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.

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

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 (shellul) 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.

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. Ecranul CDE poate fi observat n figura de mai jos, cu principalele programe i instrumente de lucru: calendar, administrare de fiiere, e-mail, administrarea printrii etc.

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 u or 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 informa ii.

Interfaa grafic GNOME

Documentarea n UNIX Fie c este vorba despre un ncep tor 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. 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 utiliz m 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).

Listing pentru comanda man ls

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

n figura 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. Ofer informaii cu privire la o $ man -s nume 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. nr_sectiune

SISTEMUL DE FIIERE UNIX I COMENZI


Sistemul de fiiere reprezint o construcie logic ce ofer posibilitatea stocrii i regsirii informaiei ce se afl pe un dispoziti de stocare cu acces aleator. Un sistem de fiiere este parte integrant a sistemului de operare i este format din fiiere, directoare precum i informaii necesare pentru localizarea i accesul acestora. Sistemul de fiiere UNIX ordoneaz i grupeaz din punct de vedere logic fiierele ntr-o manier eficient, prin cuprinderea acestora n directoare ce sunt asemntoare dosarelor ce conin mai multe documente. n UNIX fiierele sunt interpretate sub forma unor iruri de octei; astfel, cu toate c o aplica ie face o cerere pentru un fiier cu o structur special, nucleul stocheaz acel fi ier pe disc ca o simpl secven de octei, organiznd fiierele n directoare. Funcia de baz a sistemului de fiiere este aceea de a oferi servicii de fiiere aplicaiilor respective fr ca acestea s fie preocupate de structura special de stocare hardware. Directorul root are o serie de subdirectoare (ce difer n funcie de implementarea UNIX), printre care cele mai importante sunt, de regul: "bin", "dev", "etc", "opt", "lib","mnt", "tmp","home" i "usr". Aceste directoare au urmtorul coninut: /bin Comenzi UNIX /dev Director pentru dispozitive speciale /etc Programe i fiiere de date suplimentare /lib Directorul bibliotecii de programe C /mnt Directorul mount; rezervat pentru montarea sistemelor de fiiere /opt Conine aa numitele software storage objects (SSO's) /tmp Director temporar /usr Conine rutine utilizator /var Fiiere obiect nepartajat /home Directorul utilizatorilor sistemului

Unele dintre directoarele UNIX sunt mai interesante dect altele; existena i coninutul acestor directoare depinde de varianta de UNIX utilizat. Nu exist practic reguli foarte stricte cu privire la localizarea fiierelor. Spre exemplu, pentru a gsi anumite fiiere sistem binare, putem cuta ntr-unul din directoarele: /bin, /usr/bin, /sbin, /usr/sbin i chiar n /etc. Spaiul dedicat stocrilor temporare este localizat, de regul, n directorul /tmp. Acest director poate fi accesat pe majoritatea sistemelor ca /tmp, /usr/tmp sau /var/tmp. Dou dintre cele trei referine vor fi directoare reale iar cea de-a treia va fi o legtur simbolic (symlink) ctre una din primele dou. Varianta de UNIX utilizat va influena care dintre aceste referine este legtura simbolic. Se recomand totui ca aceste directoare s fie reconfigurate astfel nct o singur referin s fie un director real, iar celelalte dou s fie legturi simbolice ctre acest director. Mai mult, acest director se recomand a fi montat separat. Deoarece utilizatorii pot scrie fiiere de dimensiuni mari n spaiul temporar /tmp, montarea separat asigur protecia directoarelor / i /usr fa de umplerea cu fiiere temporare. O regul general valabil n acest sens este aceea c utilizatorii nu trebuie s aib drept de creare i tergere de fiiere n locaiile / i /usr. Directorul /tmp trebuie s aib permisiuni de acces 1777, nu 777. Dreptul de acces 777 permite ca orice utilizator s aib drepturi depline n directorul /tmp, n timp ce 1777 seteaz aa-numitul sticky bit ce nseamn c directorul poate fi modificat sau ters doar de ctre proprietar. Directorul /usr poate fi montat separat sau poate fi subdirector al lui /. Subdirectoarele sale pot fi: bin fiiere binare include fiiere pentru programare lib biblioteci de programe

local pachete software locale, biblioteci, fiiere include, fiiere binare (de regul /usr/local se monteaz separat pentru a nu umple directorul /usr). sbin fiiere de sistem binare share informaie partajat, inclusiv pagini de manual. Directorul /var poate fi montat separat (ceea ce este recomandat) sau poate fi subdirector al lui / sau /usr. Subdirectoarele sale pot fi: adm stocare fiiere log (Solaris) crash diagnostic n situaii de oprire brusc log stocare fiiere log (Solaris i Linux Red Hat) mail zona de stocare pentru pota electronic spool zona de spool pentru printare, utilitarul cron i alte servicii yp zona de stocare pentru fiierul de configurare NIS.

Partiii Partiiile reprezint modalitatea de organizare a spaiului de pe disc la nivel jos. Partiiile sunt independente de sistemul de operare; un sistem de operare solid recunoate diviziunile la nivel jos de pe disc i adreseaz fiecare partiie ca pe un echipament logic separat. Toate informaiile cu privire la partiii sunt localizate n aa-numita tabel de partiii (partition table), stocat n eticheta de disc sau n header-ul de volum (volume header) al discului fizic. Aceasta este modalitatea prin care discurile pstreaz propriile informaii referitoare la modalitatea de aranjare a datelor i de aceea ele pot fi transferate de la un calculator la altul fr riscul pierderii informaiei. De asemenea, partiiile permit existena mai multor sisteme de operare pe acelai calculator, instalate n partiii diferite. Iniial, exista o coresponden strict ntre partiii i sistemele de fiiere, partiiile fiind considerate drept

containere pentru sistemele de fiiere. Acum un sistem de fiiere se poate ntinde pe mai multe partiii prin utilizarea volumelor logice, astfel nct partiiile pot fi considerate elemente de baz pentru stocarea informaiei n loc de a fi interpretate drept simple containere. Deoarece partiiile sunt diviziuni la nivel hardware ale discurilor, ele pot oferi o protecie la nivel jos mpotriva supra-ncrc rii. Utilizndu-se anumite politici de partiionare, unele dintre partiii pot fi supra-ncrcate fr a afecta performanele generale ale sistemului; n orice caz, umplerea unei partiii nu are cum s afecteze spaiul altei partiii.

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