Istoria Linuxului

Istoria Linuxului
(Linux - de la vis la realitate!)


Introducere. Istorie şi evoluţie. Prezentare Linux, ca urmaş al UNIX-ului.

Conceptul de "Linux" a apărut la iniţiativa unei singure persoane, studentul finlandez Linus Torvalds. Modelul care a fost urmat în dezvoltarea Linux-ului a fost cel al sistemului Minix, un derivat al Unix-ului.

Ca sistem de operare, MINIX nu era unul superb. Avea avantajul codului sursă făcut public. Oricine făcea rost de cartea "Sistem de Operare" a lui Tanenbaum intra în posesia a 12.000 de linii de cod, scrise în C şi limbaj de asamblare.

Studenţii de Informatică din toată lumea au luat cu asalt cartea, citind liniile de cod care făceau să funcţioneze sistemul de operare ce rula pe calculatoarele lor. Unul din aceşti studenţi era Linus Torvalds.

În 1991, Linus Torvalds era student în anul doi la Informatică la Universitatea din Helsinki şi hacker autodidact. Tânărului de 21 de ani îi plăcea să se joace cu puterea calculatoarelor şi cu limitele către care putea fi împins sistemul. Dar lipsea un sistem de operare care să satisfacă dorinţele profesioniştilor. MINIX era bun, dar era doar un sistem de operare pentru studenţi, o unealtă de învăţare şi nu una industrială.

Pe 25 August 1991, istoricul mesaj a fost trimis de către Linus către grupurile de discuţii MINIX.

De la: Linus Benedict Torvalds
Newsgroup: comp.os.minix
Subiect: Ce aţi dori să vedeţi cel mai mult în minix?
Sumar: mic sondaj pentru noul meu sistem de operare.
ID-Mesaj:<>
Data: 25 Aug 91 20:57:08 GMT
Organizaţie: Universitatea din Helsinki

Salutări tuturor celor care folosesc minix. Construiesc un sistem de operare (gratuit) (doar un hobby, nu o să fie la fel de mare şi profesionist ca GNU) pentru clone AT 386 (486). Lucrez la el din aprilie şi e aproape gata. Aş vrea să primesc feed-back cu lucrurile care plac/nu plac în minix, deoarece sistemul meu de operare se aseamănă într-o oarecare măsură cu minix (aceeaşi structură a sistemului de fişiere (datorită unor raţiuni practice) printre altele). Am portat bash (1.08) şi gcc (1.40), şi lucrurile par să meargă. Asta înseamnă că o să obţin ceva practic în câteva luni şi vroiam să ştiu ce altceva ar mai dori lumea să conţină. Orice sugestie e binevenită, dar nu promit să o şi implementez. Linus

P.S. Da - nu conţine cod minix şi are multi-threaded fs. Nu e portabil (foloseşte task-switching 386 etc) şi probabil nu va suporta nimic altceva decât hardiskuri AT, deoarece doar asta am.

După cum se înţelege din mesaj, Linus însuşi nu credea că sistemul lui va fi destul de mare pentru a schimba lumea informaticii pentru totdeauna. Linux v 0.01 a fost lansat la mijlocul lunii septembrie 1991 şi a fost pus pe net. Entuziaşti s-au adunat în jurul acestui tânăr şi codurile au fost downloadate, testate, modificate şi s-au întors la Linus. 0.02 a apărut pe 5 Octombrie, împreună cu această faimoasă declaraţie a lui Linus.

De la: Linus Benedict Torvalds Newsgroups: comp.os.minix
Subiect: Surse kernel asemănător minixului gratuite pentru 386-AT
ID-Mesaj: <>
Data: 5 Oct 91 05:41:06 GMT
Organizaţie: Universitatea din Helsinki

Deplângeţi zilele frumoase ale lui minix-1.1, când bărbaţii erau bărbaţi şi îşi scriau singuri driverele? Eşti lipsit de un proiect frumos şi mori de nerăbdarea de a-ţi înfinge dinţii într-un sistem de operare pe care să-l modifici după dorinţele tale? Gândeşti că e frustrant când totul merge pe minix? Nu mai există oameni care să stea toată noaptea ca să facă un program să ruleze? Atunci acest mesaj e pentru tine. Cum am menţionat acum o lună, lucrez la o versiune gratuită a unei clone-minix pentru computerele AT-386. A ajuns în sfârşit în stadiul în care poate fi utilizabil (deşi poate că nu e ce vă doriţi) şi sunt de acord să fac sursele publice pentru o mai largă distribuţie. E doar versiunea 0.02 (+1 (foarte mic) patch), dar am rulat cu succes bash/gcc/gnu-make/gnu-sed-compress etc sub el. Sursele pentru acest mic proiect al meu pot fi găsite la nic.funet.fi (128.214.6.100) în directorul /pub/OS/Linux. Directorul mai conţine şi câteva fişiere READ ME şi câteva binare care să meargă sub Linux (bash, update şi gcc, ce puteţi cere mai mult...) Găsiţi toate sursele kernelului, n-a fost folosit nici un cod minix. Sursele librăriilor sunt doar parţial gratuite, deci nu pot fi momentan distribuite. Sistemul e capabil să compileze "as-is" şi este cunoscut faptul că funcţionează. Heh. Sursele pentru bash şi gcc pot fi găsite în acelaşi loc în /pub/gnu.

Linux versiunea 0.03 a apărut în câteva săptămâni. În decembrie a apărut versiunea 0.10. Linux era doar într-o formă scheletică. Avea suport doar pentru hard-diskuri AT, nu avea login (boota direct în bash). Versiunea 0.11 era mult mai bună oferind suport pentru tastaturi multilingvistice, drivere pentru floppy, suport pentru VGA, EGA, Hercule etc. Numerele versiunilor au trecut de la 0.12 direct la 0.95 şi 0.96 şi tot aşa. Curând codul a fost accesibil lumii întregi via siteuri ftp din Finlanda şi din alte părţi.

Curând mai mult de 100 de persoane s-au alăturat taberei Linux. Apoi mii. Apoi sute de mii. Nu mai era doar jucăria unui hacker. Având o grămadă de programe din proiectul GNU, Linux era pregătit de lansare. A fost licenţiat sub GNU General Public License, asigurându-se astfel faptul că, codul sursă va fi liber pentru toţi să-l copieze, studieze şi să-l schimbe. Studenţii şi programatorii au pus mâna pe el.

Curând, comercianţii au apărut. Linux a fost şi este gratuit. Ce au făcut comercianţii a fost să compileze diferite programe şi să le adune într-un format distribuibil, asemănător celorlalte sisteme de operare cu care oamenii erau familiarizaţi. Red Hat, Caldaera, Debian şi alte câteva companii au primit răspunsuri favorabile din partea multor utilizatori din toată lumea. Cu noua interfaţă grafică (ca X-windows, KDE, GNOME) distribuţiile Linux au devenit foarte populare.

În acelaşi timp se întâmplau lucruri uimitoare cu Linux. Pe lângă PC, Linux a fost portat pe diferite platforme. Linux a fost modificat să ruleze pe computere Palm Pilot de la 3Com. Tehnologia cluster a făcut posibilă combinarea unui număr mare de maşini Linux într-o singură entitate. În aprilie 1996, cercetătorii de la Laboratorul Naţional Los Alamo au folosit Linux să ruleze 68 de PC-uri ca o singură maşină de procesare paralelă pentru a simula unde de şoc atomice. Dar spre deosebire de alte calculatoare care costau o avere, a fost ieftin. Supercomputerul a costat doar 152.000 de dolari, inclusiv munca (de conectare a celor 68 de calculatoare); doar o zecime din preţul unui supercomputer comercial. A atins o viteză de 19 miliarde de calcule pe secundă devenind al 315-lea cel mai puternic calculator din lume; şi era unul robust. 3 luni mai târziu încă nu fusese nevoie de a fi restartat.

Cel mai bun lucru la Linux în ziua de azi este numărul mare de susţinători fanatici. Cum apare o nouă componentă hardware, kernelul Linux este modificat pentru a profita de ea. De exemplu, la câteva săptămâni de la apariţia Micropocesorului Intel Xeon, kernelul Linux a fost modificat şi era pregătit să-l folosească. A fost adaptat să ruleze cu procesoare Alpha, Mac, PowerPC şi chiar şi palmtopuri, realizare cu greu egalată de orice alt sistem de operare; şi îşi continuă căltoria în noul milenium cu acelaşi entuziasm cu care a început într-o zi frumoasă în 1991.

Prezentarea conceptului de OpenSource, sau "softul liber". Licenţa publică Generală GNU.

De reţinut că odată cu dezvoltarea Linux-ului s-au pus bazele filozofiei de "Soft Liber", codul sursă în întregime public, distribuit şi cu drepturi de utilizare gratuite, astfel urmând paşii lui Richard Stallman, care a pus bazele proiectului GNU - o mişcare sofware pentru a furniza software gratuit şi de calitate. Idolatrizat în tărâmul calculatoarelor, Stallman şi-a început uimitoarea carieră în faimoasele Laboratoare de Intelingenţă Artificială de la MIT, şi în timpul celei de-a doua jumătăţi a anilor `70 a creat editorul Emacs. La începutul anilor `80 companiile comerciale de software au atras multe din minţile strălucite de la laboratoarele de IA şi au negociat înţelegeri de confidenţialitate pentru a le fi protejate secretele. Dar Stallman avea altă viziune. Ideea lui era că spre deosebire de alte produse, software-ul trebuie să fie liber de orice restricţii privind copierea, distribuirea şi modificarea lui pentru a se putea obţine programe mai bune. Cu celebrul manifest din 1983 care a declarat începutul proiectului GNU, a pornit o mişcare pentru crearea şi distribuirea programelor care se potriveau filozofiei lui (numele GNU e un acronim pentru "GNU is Not Unix"). Dar pentru a-şi îndeplini visul de a crea un sistem de operare gratuit trebuia ca mai întâi să creeze uneltele. Aşa că începând cu 1984, Stallman a început să scrie Compilatorul C GNU (GCC), o uimitoare realizare pentru un singur programator. Datorită cunoştinţelor sale legendare a reuşit să surclaseze grupuri întregi de programatori care lucrau pentru companii comerciale, creând GCC, considerat unul dintre cele mai eficiente şi robuste compilatoare create vreodată.

Până în 1991, proiectul GNU a creat multe unelte. Mult aşteptatul compilator C GNU era deja disponibil, dar încă nu exista un sistem de operare. Chiar şi MINIX a trebuit să fie licenţiat. Lucrările erau în toi la kernelul GNU HURD, dar acesta urma să apară abia peste câţiva ani. Asta însemna prea mult pentru Linus.

Călătoria Linuxului de la proiectul unui hacker până la globalizare a fost mai mult o experienţă de evoluiţe. Proiectul GNU, pornit în 1980 de Richard Stallman, a pus fundaţia pentru dezvoltarea de software open-source. Sistemul de operare al profesorului Andrew Tanenbaum, MINIX, a adus studiul unui sistem de operare de la baza teoretică la una practică şi, în sfârşit, entuziasmul fără de limite către perfecţiune al lui Linus Torvalds a dat naştere Linuxului. În ultimii ani, sute de mii de oameni au format o comunitate globală care l-au îngrijit şi i-au făcut un loc glorios în "revoluţia" calculatoarelor. Astăzi Linux nu este doar un proiect de hacking al vreunui student, este un fenomen mondial aducând laolaltă companii ca IBM şi milioane de oameni din toată lumea în spiritul mişcării software-ului open-source. În istoria calculatoarelor, va rămâne ca una dintre cele mai uimitoare realizării ale omului.

Despre utilizarea şi necesitatea Linux-ului.

Apariţia Linuxului şi a celorlalte produse open-source a schimbat totul. Fiindcă Linuxul poate rula chiar şi pe calculatoare cu foarte puţine resurse, a devenit o alternativă potrivită pentru utilizatorii cu bani puţini. Anticele calculatoare 486/Pentium1 care au devenit istorie în lumea dezvoltatorilor, sunt încă folosite în ţările în curs de dezvoltare. Linuxul a făcut posibilă dezlănţuirea întregului potenţial al acestor calculatoare. S-a răspândit de asemenea şi folosirea software-ului open-source. i ca dovadă a caracterului global al Linuxului, distribuţii localizate au apărut în cele mai obscure părţi al lumii. Documentaţia Linux include acum documente scrise în aproape toate limbile majore, cât şi în limbi minore precum vietnameza.
Când Linux a fost proiectat prima oară de Linus Torvald, era doar hobby-ul unui hacker. Dar Linuxul a parcurs mult drum de la prima maşină Intel 386 ce a rulat primul kernel. Cea mai notabilă întrebuinţare a Linuxului în prezent este în domeniul supercalculatoarelor şi a calculelor paralele. Două exemple ar fi TeraGrid şi EvoloCity.

În August 2001, BBC a anunţat că Guvernul Statelor Unite intenţionează să construiască ceea ce urma să fie un megacomputer, capabil să efectueze peste 13 trilioane de calcule pe secundă (13,6 TeraFLOPS). Proiectul numit TeraGrid constă dintr-o reţea alcătuită din 4 centre americane de supercalculatoare. Cele patru laboratoare care colaborează să construiască TeraGrid sunt Naţional Center for Supercomputing Applications de la Universitatea din Illinois (NCSA), San Diego Supercomputer Center (SDSC) de la Universitatea din California, Argonne National Laboratory din Chicago, California Institute of Technology din Pasadena, la fiecare din acest centru existând un supercomputer, în total mai mult de 3.000 de procesoare trebuind să ruleze în paralel pentru a crea Teragrid. Tehnologia din spatele TeraGrid este tehnologia cluster: tehnologia care uneşte mai multe procesoare pentru a crea un supercalculator.

TeraGrid va combina destulă putere de calcul pentru a facilita calcule matematice complexe şi simulări, de la cercetări astrologice la cercetări privind cancerul ăi la previziuni meteo. Echipat cu 600 de Terabytes spaţiu de stocare, TeraGrid va fi atât de puternic, încât un om ar avea nevoie de 10 milioane de ani pentru a face ce face TeraGrid într-o secundă. Ce este uimitor este că acest supercomputer va rula Linux. Fiecare din cele patru centre va rula un cluster Linux, conectate printr-o reţea dedicată de fibră optică ce permite un trafic de 40GB/secundă.
Evolocity de la Laboratorul National Lawrence Livermore

În Iulie 2002, a fost anunţat faptul că Linux NetworkX, o companie din California, a început construcţia lui Evolocity, un supercalculator cluster bazat pe Linux. Clusterul va fi alcătuit din 962 de noduri alcătuite din 1920 de procesoare Intel Xeon 2,4 Ghz, cu 4 GB de memorie DDR SDRAM şi 120 GB de spaţiu pe hard-disk la fiecare nod, acest supercalculator cluster va efectua 9,2 TeraFLOPS, ajungând în topul celor mai rapide cinci supercalculatoare din lume. Cu procesoare produse în serie, acest supercalculator va aduce un aer de schimbare la Laboratorul Naţional LL. La fel ca în primul caz şi acest supercomputer rulează Linux.
Folosind Linux ca sistem de bază, constructorii TeraGrid au economisit milioane de dolari, folosind tehnologia cluster dezvoltată de entuziaştii mişcării open-source.

Avantaje si dezavantaje ale Linux-ului.

În general, serverele de Linux sunt considerate stabile. Atâta timp cât planificatorul de procese (care este mic şi relativ bine testat) funcţionează corect, sistemul de operare nu se blochează complet. O aplicaţie blocată poate fi oprită, iar zona de memorie eliberată, fără efecte asupra celorlalte procese din sistem. Distribuţiile Linux sunt gratuite. Comparativ cu o soluţie de server Microsoft, preţul soluţiei Linux va conţine doar hardware, pe când o soluţie Microsoft devine din ce în ce mai scumpă pe măsură ce complexitatea serviciilor necesare creşte. Soluţiile Linux sunt disponibile pe aproape orice platformă. Esenţialul, atunci când apare o platformă nouă, este să se scrie un compilator de C. Portarea sistemului de operare devine apoi relativ simplă, spre deosebire de sistemul Microsoft, care e distribuit doar în format binar. Soluţiile Unix au o oarecare maturitate în Internet. Există suficientă experienţă tehnică, suficiente concluzii practice pentru ca elaborarea unei soluţii stabile să fie relativ simplă.

Linux-ul permite o flexibilitate deosebită. Pentru că sursele programelor sunt disponibile, se pot face modificări în ele în funcţie de necesităţi, uneori cu consecinţe catastrofale. Limbajul de interpretor permite scrierea de mici aplicaţii ad-hoc, pentru diverse scopuri de monitorizare şi intreţinere.

Configurarea unui server Linux nu este un lucru tocmai uşor. În general, configurările presupun scrierea unor fişiere într-un limbaj mai mult sau mai puţin criptic, în funcţie de aplicaţie. (În schimb, configurarea unui server Microsoft se face dintr-un meniu grafic) Linux fiind soft liber, nu există suport tehnic propriu-zis (există totuşi distribuţii comerciale, dar şi aici suportul tehnic este limitat). Acesta poate fi un avantaj sau un dezavantaj. Există nenumărate grupuri de discuţii, cu persoane pasionate de Linux, pe care se pot posta întrebări şi la care probabilitatea de a primi un răspuns este foarte mare. (totuşi, probabil că nu va exista aceeaşi răbdare pentru întrebări simple sau stupide ca la o companie comercială).

Nu există garanţii de natură materială pentru funcţionarea unui software. Nu există persoane care pot fi trase la răspundere. Autorul respectivului software poate să ia în considerare problemele utilizatorului sau nu, în funcţie de gradul de implicare în proiect la momentul respectiv. Pentru anumite plăci, unele foarte răspândite, pot să nu existe drivere. Dacă fabricantul nu oferă suficiente date tehnice pentru respectivul produs, sau are un contract de exclusivitate cu Microsoft pentru drivere, respectiva placă nu poate fi folosită. E cazul multor modem-uri software, dintre care Connexant e cel mai notoriu, ca şi al anumitor plăci video.

Alegerea unei distribuţii.

O distribuţie linux este în fapt un sistem de operare instalabil, sau care poate rula de pe un anumit mediu (disketă, usb-stick, CD) şi care constă dintr-o colecţie de programe însoţite de un kernel linux. Există o diversitate de distribuţii, peste 100 oficiale. Fiecare dintre ele urmează ceea ce am putea numi o "filozofie a distribuţiei". Este un termen puţin cam pretenţios, dar încercăm prin el să descriem tendinţele şi trăsăturile caracteristice ale unei distribuţii. Asta este partea frumoasa la linux, si anume ca iti poti alege un sistem de operare mulat pe felul tau de a utiliza PC-ul ba chiar mai mult, pe felul tău de a fi. O clasificare a distributiilor ar fi foarte laborioasa, ele pot fi usor sau dificil de folosit, pentru incepatori sau pentru avansati, pot fi pe unul sau mai multe discuri, pot rula de pe o disketa sau de pe un dispozitiv USB, poate fi o distributie produsa de o companie sau de un grup de pasionati, poate fi instalabila sau poate rula live (direct de pe un CD bootabil), si am putea continua asa la nesfarsit. Dincolo de frumusetea fenomenului insa, ca incepator, trebuie sa alegi una dintre aceste distrouri si aici avantajul se transforma in dezavataj, generand eterna intrebare Ce distributie sa aleg ? culminand cu discutii interminabile care sfarsesc prin a enerva utilizatorii avansati. Un raspuns bun la acesta intrebare este : Incepe cu distributia de care poti face rost cel mai usor. Fie ca este de la o revista de profil, descarcata din reteaua de cartier sau imprumutata de la cineva, poti incepe cu orice distributie reusesti sa gasesti. Nu-ti face probleme, daca va fi sa devii un utilizator de linux iti vei gasi singur in timp drumul catre distributia ta. In timp vei intra probabil in comunitatea unui astfel de distro si vei afla ce sunt distrowar-urile sau discutiile in contradictoriu dintre membrii diverselor comunitati care sunt de obicei starnite de acesta banala intrebare "Ce linux sa aleg ?" sau "Care distributie este mai buna ?". Ca o completare ar mai trebui spus ca exista si o serie de distributii considerate a fi "pentru incepatori" iar dintre ele fac parte doua in mod special numite Mandrake si Knoppix care se remarca prin orientarea catre incepatori si integrarea unor unelte grafice de configurare. De asemenea folosirea unei distributii care ruleaza de pe CD poate constitui un inceput bun.

Linux-ul - baza reţelisticii. (UNIX promotorul TCP/IP-ului de azi).

Caracteristic arhitecturii de tip Unix este modelul client-server.
Majoritatea aplicaţiilor Linux se bazează pe această construcţie, în care un proces trimite o cerere către un "demon" (procesul server) de la care primeşte un răspuns. În acest fel, partajarea resurselor în reţea sau chiar în Internet se face foarte uşor. De exemplu, dacă la un sistem Linux conectăm o imprimantă, va trebui să pornim "demonul" de imprimantă. Pentru a imprima un document, indiferent de pe ce calculator, cel local sau unul din alt continent, vom folosi un client de imprimantă, care va trimite o cerere de imprimare la respectivul server. În funcţie de drepturile atribuite de administrator, acesta va onora cererea sau o va refuza. Acest sistem e destul de greoi atunci când lucrăm cu un singur calculator. Este însă nepreţuit într-o reţea mare, pentru că permite partajarea comodă a resurselor sistemelor din reţea.

Internetul a fost construit pe maşini Unix. Nu e de mirare deci că Linux a moştenit cele mai multe dintre calităţile sistemelor Unix, şi în principal implementarea completă a protocoalelor TCP/IP (Linux-ul a avut parte de suita de protocoale TCP/IP, înainte de platforma celor de la Microsoft).

De asemenea, "demonii" care implementează diversele servicii, utilitarele necesare în verificarea şi depanarea conexiunilor etc. În general, pentru fiecare tip de servicii există mai multe versiuni de "demoni". Totuşi, unii sunt atât de populari, încât sunt aproape standard.
De exemplu, serverul de web Apache, derivat din ncsaHTTPD este, după unele rapoarte, folosit de 40-50% din site-urile de web existente. Apache e un server modular, care dispune şi de un "parser" puternic pentru pagini dinamice, limbajul PHP. Serverul de mail sendmail este un alt exemplu de "demon"  folosit de extrem de multe servere. Derivând din sendmail-ul de la Berkeley, el e prezent în toate distribuţiile de Linux şi multe variante de Unix. Tot "standard de facto" este serverul de nume, named, provenind tot din suita de servicii din distribuţia Berkeley. O distribuţie de Linux conţine de asemenea "demoni" pentru ftp, pop3, imap, telnet etc, putând asigura practic toate serviciile pe care le oferă un ISP obişnuit. Mai conţine un server de date, mySql (deşi există mai multe servere de baze de date disponibile, inclusiv Oracle). Începând cu versiunea de kernel 2.4.x, funcţiile de filtrare de pachete au fost de asemenea îmbunătăţite considerabil, permiţând folosirea unui calculator cu Linux ca firewall cu posibilităţi apropiate de cele ale dispozitivelor dedicate.

Primii paşi în Linux. Prezentarea surselor de documentare şi înţelegerea necesităţii de a te documenta.

Pornind de la premisa de "Software Liber", într-o permanentă dezvoltare, nu vom putea spune că vom şti toate "căile ascunse ale Linux-ului". Linux înseamnă o permanentă documentare şi cunoaşterea noţiunii de manual şi HOW-TO. Ceea ce este suficient să ştim este modul de funcţionare al sistemelor multiuser şi multitasking, noţiunea de kernel, configurarea unui sistem Linux, organizarea unui sistem, lucrul cu fişiere şi pachete, precum şi noţiuni de bază din reţelistică.

Avantajul oferit utilizatorului de Linux, este acela că alături de fiecare pachet şi fiecare aplicaţie vom găsi tutoriale complete (care acoperă instalări, eventuale (re)compilări, configurare, utilizare). Utilizatorului de Linux îi este recomandat să fie familiarizat cu noţiunea de documentare, să viziteze periodic site-uri dedicate grupurilor de utilizatori Linux şi să fie în pas cu ultimile apariţii în domeniul securităţii sistemului. Nu este nici o problemă dacă un utilizator de Linux nu reţine o serie lungă de parametri ai unei comenzi foarte rar utilizată.
Un site foarte bun pentru obţinerea documentaţiei este: The Linux Documentation Project


logo © 2007-2023 - Linux pentru toți
Toate drepturile rezervate!