Unix este unul dintre cele mai populare sisteme de operare la nivel mondial datorită bazei sale mari de suport și a distribuției. A fostdezvoltat inițial ca un sistem multitasking pentru minicomputere șimainframe-uri la mijlocul anilor 1970. De atunci a crescut și a devenit unul dintre cele mai utilizate sisteme de operare de oriunde, în ciuda interfeței sale uneori confuze și a lipsei de standardizare centrală.
Motivul real al popularității Unix? Mulți hackeri au sentimentul că Unix este lucrul corect – singurul sistem de operare adevărat. De aici și dezvoltarea Linux-ului de către un grup tot mai mare de hackeri Unix care vor să se murdărească cu propriul lor sistem.
Există versiuni de Unix pentru multe sisteme, de la calculatoare personale la supercomputere precum Cray Y-MP. Majoritatea versiunilor de Unix pentru calculatoare personale sunt destul de scumpe și greoaie. La momentul scrierii acestui articol, o versiune pentru o singură mașină a System V de laAT&T pentru 386 costă aproximativ 1500 USD.
Linux este o versiune de Unix care poate fi distribuită în mod gratuit, dezvoltată inițial de Linus Torvalds, care a început să lucreze la Linux în 1991, pe când era student la Universitatea din Helsinki, Finlanda.Linus lucrează acum pentru Transmeta Corporation, un start-up din Santa Clara, California, și continuă să întrețină nucleul Linux, adică cea mai mică componentă de bază a sistemului de operare.
Linus a lansat versiunea inițială a Linux gratuit pe internet,generând fără să vrea unul dintre cele mai mari fenomene de dezvoltare de software din toate timpurile. Astăzi, Linux este scris și întreținut de un grup de mai multe mii (dacă nu chiar mai mulți) de dezvoltatori care colaborează liber pe Internet.Au apărut companii care oferă suport pentru Linux, care îl împachetează în distribuții ușor de instalat și care vând stații de lucru preinstalate cu software-ul Linux. În martie 1999, prima expoziție comercială Linux World Expo a avut loc în San Jose, California, la care se pare că au participat peste 12.000 de persoane.Majoritatea estimărilor plasează numărul de utilizatori Linux din întreaga lume undeva în jurul cifrei de 10 milioane (și ne așteptăm ca acest număr să pară mic până când veți citi aceste rânduri).
Inspirat de sistemul de operare Minix al lui Andrew Tanenbaum (un alt Unix liber pentru PC-uri – deși unul foarte simplu), Linux a început ca un proiect de clasă în care Linus dorea să construiască un sistem Unix simplu care să poată rula pe un PC bazat pe 386. Primele discuții despre Linux au avut loc pe grupul de știri Usenet comp.os.minix. Aceste discuții se refereau în principal la dezvoltarea unui mic sistem universitarUnix pentru utilizatorii Minix care doreau mai mult.
Dezvoltarea foarte timpurie a Linux-ului s-a ocupat în principal de caracteristicile de comutare a sarcinilor din interfața în mod protejat a 80386, totul scris în cod de asamblare. Linus scrie:
După aceea a fost floare la ureche: codificare păroasă în continuare, dar aveam niște dispozitive, iar depanarea era mai ușoară. Am început să folosesc C în această etapă,și cu siguranță accelerează dezvoltarea. Acesta este, de asemenea, momentul în care am început să devin serios în legătură cu ideile mele megalomane de a face „un Minix mai bun decât Minix”. Speram că voi putea recompilegcc sub Linux într-o zi …
Două luni pentru configurația de bază, dar apoi doar puțin mai mult până când am avut un driver de disc (serios buggy, dar s-a întâmplat să funcționeze pe mașina mea)și un mic sistem de fișiere. Cam atunci a fost momentul în care am făcut disponibil 0.01: nu era frumos, nu avea un driver de flop și nu putea face aproape nimic. Nu cred că cineva a compilat vreodată acea versiune. Dar până atunci eram dependent și nu am vrut să mă opresc până când nu puteam să arunc Minix.
Nu a fost făcut niciun anunț pentru versiunea 0.01 a Linux. Sursele 0.01 nu erau nici măcar executabile: ele conțineau doar rudimentele goale ale sursei kernelului și presupuneau că aveai acces la o mașină Minix pentru a le compila și a te juca cu ele.
La 5 octombrie 1991, Linus a anunțat prima versiune „oficială „a Linux, versiunea 0.02. În acest moment, Linus era capabil să rulezebash (GNU Bourne AgainShell) și gcc (GNU Ccompiler), dar nu funcționau prea multe altele. Din nou, acesta a fost gândit ca un sistem pentru hackeri. Principalul obiectiv era dezvoltarea nucleului; niciuna dintre problemele legate de asistența pentru utilizatori, documentație, distribuție și așa mai departe nu fusese măcar abordată. Astăzi, situația este destul de diferită – adevăratul entuziasm în lumea Linuxse referă la mediile grafice de utilizator, la pachetele de distribuție ușor de instalat și la aplicațiile de nivel înalt, cum ar fi utilitarele grafice și suitele de productivitate.
Linus a scris în comp.os.minix:
Vă tânjiți după zilele frumoase ale Minix-1.1, când bărbații erau bărbați și își scriau singuri driverele de dispozitiv? Sunteți fără un proiect drăguț și abia așteptați să vă tăiați dinții pe un sistem de operare pe care puteți încerca să îl modificați pentru nevoile dumneavoastră? Considerați că este frustrant când totul funcționează pe Minix?Nu mai aveți nevoie de nopți albe pentru a face să funcționeze un program ingenios? Atunci această postare ar putea fi exact pentru dumneavoastră.
După cum am menționat acum o lună, lucrez la o versiune gratuită a unei asemănări cu Minix pentru calculatoarele AT-386. A ajuns în cele din urmă la stadiul în care este chiar utilizabilă (deși s-ar putea să nu fie în funcție de ceea ce doriți) și sunt dispus să pun sursele pentru o distribuție mai largă.Este doar versiunea 0.02 … dar am rulat cu succesbash, gcc,GNU make, GNUsed, compress, etc. sub ea.
După versiunea 0.03, Linus a ridicat numărul versiunii la 0.10, deoarece mai mulți oameni au început să lucreze la sistem. După alte câteva revizuiri, Linus a mărit numărul versiunii la 0.95, pentru a reflecta așteptările sale că sistemul era gata pentru o lansare „oficială „foarte curând. (În general, unui software nu i se atribuie numărul de versiune 1.0 decât atunci când este teoretic complet sau fără erori). Acest lucru s-a întâmplat în martie 1992. Aproape un an și jumătate mai târziu, la sfârșitul lui decembrie 1993, nucleul Linux era încă la versiunea 0.99.pl14 – apropiindu-se asimptotic de 1.0. Versiunea 1.0 a apărut în martie1994. În momentul scrierii acestui articol (martie 1999), versiunea actuală a kernelului este 2.2.6, în timp ce versiunile 2.3 ale kernelului sunt în curs de dezvoltare simultană. (Vom explica în detaliu convențiile de versiuni Linux în continuare.)
Linux nu ar fi putut lua naștere fără instrumenteleGNU create de Free Software Foundation. compilatorul lor gcc, despre care vom discuta în capitolul 13 a dat viață codului lui Linus Torvalds. Uneltele GNU au fost împletite cu dezvoltarea Linux încă de la început. Datorită contribuțiilor critice ale acestor instrumente, Fundația pentru Software Liber cere chiar ca distribuțiile de Linuxcu utilitarele aferente să se numească GNU/Linux.
Berkeley Unix (BSD) a jucat, de asemenea, un rol important în Linux – nu atât de mult în crearea sa, cât în furnizarea instrumentelor care îl fac popular. Cele mai multe dintre utilitarele care vin cu distribuțiile Linux sunt portate din BSD. Daemonii și utilitățile de rețea sunt deosebit de importante. Codul de rețea al kernelului pentru Linux a fostdezvoltat de la zero (de două sau trei ori, de fapt), dar demonii și utilitarele sunt BSD de epocă.
Astăzi, Linux este o clonă completă de Unix, capabilă să ruleze sistemul X Window, TCP/IP, Emacs, Web, software de poștă electronică și de știri, orice doriți. Aproape toate pachetele majore de software liber au fost portate pe Linux, iar software-ul comercial devine disponibil. De fapt, mulți dezvoltatori încep prin a scrie aplicații pentru Linux și le portează ulterior pe alte sisteme Unix. Se acceptă mai mult hardware decât în versiunile originale ale kernelului. Mulți oameni au executat teste de referință pe sisteme Linux și au constatat că acestea sunt mai rapide decât stațiile de lucru de la Sun Microsystems și Compaq, iar Linux are performanțe mai bune sau la fel de bune ca Windows 98 și Windows NT pe o gamă largă de teste de referință.Cine ar fi ghicit vreodată că această „mică” clonă Unix ar fi crescut pentru a cuceri întreaga lume a calculatoarelor personale și a serverelor?
.