Free Web Hosting Provider - Web Hosting - E-commerce - High Speed Internet - Free Web Page
Search the Web

Linux

Scurta istorie

Cupris

UNIX este unul dintre cele mai populare sisteme de operare din lume datorita bazei sale largi de distributie si asistenta.

Initial a fost dezvoltat ca un sistem multitasking pentru minicalculatoare si mainframe-uri la mijlocul anilor 70, dar cu timpul a devenit unul dintre cele mai utilizate sisteme de operare, in ciuda unei interfete uneori confuze si a lipsei de stndardizare.

De unde aceasta popularitate? Pentru ca multi programatori simt ca este cel mai potrivit- Adevaratul Sistem de Operare. De unde si dezvoltarea Linuxului de catre un grup in continua crestere de programatori care vor sa-si vare mainile (si cunostintele ) in propriul sistem de operare.

Versiuni de UNIX exista pe multe platforma, de la calculatoare personale la supercalculatoare de tipul Cray Y-MP. Cele mai multe versiuni de UNIX pentru PC-uri sunt insa scumpe si greoaie.

Linux este foarte probabil, cea mai importanta realizare din domeniul software-ului liber , de la originalul si binecunoscutul Razboi al Stelelor sau mai recentul Emacs.

Acest sistem de operare este croit atat pe masura companiilor cat si a institutiilor de invatamant sau pentru utilizatorii particulari.

Nu mai este vorba de un sistem de uperare pentru initiatii UNIX care isi petrec ore in sir in fata consolei (desi,probabil un numar important de utilizatori intra in aceasta categorie).

Avem de-a face cu o imitatie de UNIX care ruleaza pe calculatoare echipate cu procesoare Intel de 32 biti (80386 sau mai recente).

Sub Linux se poate rula o mare varietate de software: procesoare de documente cum este TeX, interfata grafica X-Windows, compilatoare cum este GNU C\C++ sau software-ul de comunicatie TCP\IP.

Este o implementare versatila si de buna calitate de UNIX, care poate fi obtinuta si distribuita liber in termenii licientei publice generale GNU (GPL, GNU-general public licence- act care stipuleaza in principal dreptul de acces neangradit in programele GNU).

Linux transforma un calculator personal intr-o statie de lucru .Va pune la dispozitie intregul potential al UNIX-ului.

Firmele instaleaza Linux pe intregi retele de calculatoare in scopul gestiunii de date, pentru crearea unui mediu de calcul distribuit sau pentru telecomunicatii.

In intreaga lume Universitatile folosesc Linux pentru predarea proiectarii si implementarii sistemelor de operare.

Bineinteles linux este folosit de utilizatorii particulari, pentru aplicatii diverse.

Linuxul a fost si este in continuare dezvoltat de un grup de voluntari care comunica in principal pe Internet, facand schimburi de cod sursa, raportand erori si rezolvand probleme intr-un mediu complet deschis.

Oricine se alatura acestui efort de dezvoltare este binevenit: tot ceea ce i se cere este interesul de a sapa prin codul unui sistem da operare de tip UNIX si ceva cunostinte de programare.

Caracteristicile sistemului

Linux este compatibil in mare masura cu un numar redus de standarde UNIX, incluzand caracteristicile IEEE POSIX.1, Sistem V si BSD la nivel de sursa.

Scopul principal in timpul dezvoltarii acestui sistem de operare a fost acela e a asigura un nivel de compatibilitate cat mai mare cu restul sistemelor si aplicatiilor UNIX.

Un numar mare de programe pentru UNIX, accesibile liber, pot fi compilate imediat pe Linux.

In plus, tot codul sursa al Linux-ului, inclusiv nucleul, driverele pentru periferice, bibliotecile, programele utilizator si utilajul de dezvoltare sunt distribuite liber.

Caracteristicile Linux-ului include controlul executiei job-ului tip POSIX, pseudoterminalele, suportul pentru versiuni narionale sau console virtuale.

Pot fi memorate date in varii sisteme de gestiune a fisierelor, cel nativ, ext2fs, dar si Minix-1, Xenis, Dos si ISO 9660 pentru discuri compacte.

Linux poseda o implementare completa a suitei de protocoale de comunicatie TCP\IP.

Sunt incluse drivere pentru cele mai raspandite placi de retea Ethernet, implementari pentru SLIP, PLIP si PPP, sistem de fisiere in retea (NFS) si gama completa de servicii client-server TCP/IP.

Nucleul Linux este programat sa utilizeze facilitati speciale ale modului protejat alprocesoarelo Intel 80386. In particular, Linux foloseste facilitatile acestor procesoare pentru gestiune a memoriei si multitasking.

In sarcina nucleului Linux intra si executia programelor cu ajutorul tehnicii de paginare la cerere. Aceasta inseamna ca numai acele portiuni de program necesare pentru executie intr-un anumit moment sunt citite de pe disc in memoria calculatorului.

De asemenea, Linux utilizeaza partajarea de memorie intre programe cu copiere la scriere. Acest lucru inseamna o reducere a necesarului de memorie si deci o mai buna gestionare globala a acesteia.

In vederea cresterii memoriei disponibile pentru executia programelor, Linux implementeaza paginarea pe disc, permitand alocarea a pana la 256 Mb a ceea ce se numeste spatiu de swap. Cand programele au nevoie de multa memorie interna, o parte din informatii este evacuata in acel spatiu pe disc, iar locul ei este refolosit. Portiuni de date si programe circula intre disc si memoria interna, in functie de necesitati. Asadar, spatiul de swap este o extensie utila a memoriei RAM, dar nu o poate inlocui, fiind mult mai lenta.

Nucleul Linux gestioneaza intreaga memorie interna atat pentru executia programelor cat si pentru accesul rapid la fisiere, de tip cache. Toata memoria disponibila este utilizata pentru cache de fisiere. Cand se ruleaza programe mai mari, zona de cache este diminuata corespunzator.

Programele executabile pot folosi legarea dinamica la biblioteci partajate: codul bibliotecii, utilizat in comun, se gaseste intr-un fisier unic pe disc. Astfel programele executabile pot ocupa mult mai putin spatiu.

Exista si posibilitatea legarii statice, cand codul este inclus in intregime in fisierul executabil, pentru cei ce doresc depanarea sau intretinerea unor executabile independent de prezenta bibliotecii partajate.

Legarea dinamica a bibliotecii partajate se produce numai in momentul executiei ,pemitind programatorului sa inlocuiasca module din biblioteca cu unele proprii.

Pentru a usura depanarea programelor, nucleul face posibil vidajul de memorie si analiza lui in cazul terminarii anormale, pentru a putea determina cauzele caderii.

Limbaje de programare si utilitare

Linux ofera un mediu complet UNIX pentru dezvoltarea de programe si aplicatii, incluzand bibliotecile standard, compilatoarele, depanatoarele si intregul set de utilizare software necesar.

In mod obisnuit, dezvoltarea de programe pentru UNIX se face in limbajele C/C++. Compilatorul standard pentru aceste limbaje este compilatorul GNU, gcc.

In afara de C si C++, multe alte limbaje compilate sau interpretate sunt disponibile sub Linux, cum ar fi Smalltalk, FORTRAN, Pascal, Lips, Scheme si Ada.

In plus, sunt disponibile asambloare pentru scrierea de cod in mod protejat pentru 80386. Interpretoare sofisticate, raspindite in lumea Unix, cum aste Perl sau Tcl/Tk pentru dezvoltarea de aplicatii sub X Windows sunt disponibile si sub Linux.

Depanatorul standard sub Linux este gdb, care permite executia controlata a unui program sau analiza unui vidaj de memorie.

Cu ajutorul utilitarului Gprof se realizeaza culegerea de statistici referitoare la executia unui program in scopul ameliorarii performantelor lui.

Emacs este un editor de programe sofisticat care ofera un mediu integrat de editare si compilare interactiva a programelor in diverse limbaje de programare.

Alte utilitare includ make, pentru compilarea de aplicatii mari si RCS, un sistem pentru intretinerea versiunilor unui program.

Legarea bibliotecilor se face dinamic, permitand fisiere executabile mici sau inlocuirea de rutine de biblioteca cu rutine utilizator.

Linux este astfel un mediu ideal pentru dezvoltarea de programe: modern, standard si bine echipat.

Portarea pe alte sisteme de tip UNIX este foarte mult usurata.

Linux poate fi utilizat ca o solutie economica pentru dezvoltarea de programe , acasa sau in firme specializate ,pentru diverse alte sisteme tinta.

Studiul programarii sub Linux este usurat de faptul ca toate sursele sistemului de operare sunt disponibile.

Revista CHIP pag 2 LINUX de Costin Oproiu