Care este diferența dintre Linux și Unix?

Linux sa inspirat din Unix, dar Linux nu este Unix – deși este cu siguranță asemănător Unix. Vom explica diferențele majore dintre aceste două sisteme de operare celebre.

Aceeasi diferenta?

Linux este un sistem de operare gratuit și open-source. Unix este un produs comercial, oferit de o varietate de vânzători fiecare cu propria sa variantă, de obicei dedicată propriului hardware. Este scump și sursă închisă. Dar Linux și Unix fac mai mult sau mai puțin același lucru în același mod, nu? Mai mult sau mai puțin, da.

Subtilitățile sunt puțin mai complicate. Există diferențe dincolo de tehnic și arhitectural. Pentru a înțelege unele dintre influențele care au modelat Unix și Linux, trebuie să înțelegem poveștile lor din spate.

Originile Unix

Unix are peste 50 de ani. A fost dezvoltat în Digital Equipment Corporation (DEC) limbaj de asamblare pe o DEC PDP/7 ca proiect neoficial la Laboratoarele Bell, apoi deținut de AT&T. La scurt timp a fost portat la a DEC PDP/11/20 computer, apoi răspândit în mod constant pe alte computere de la Bell. O rescrie în limbaj de programare C a condus la versiunea 4 a Unix din 1973. Acest lucru a fost semnificativ deoarece caracteristicile limbajului C și ale compilatorului au însemnat că acum era relativ ușor să port Unix la noi arhitecturi de computer.

În 1973, Ken Thompson și Dennis Ritchie a prezentat o lucrare despre Unix la o conferință. Drept urmare, cererile de copii ale Unix au ajuns în Bell. Deoarece vânzările de sisteme de operare nu se încadrau în domeniul de operațiuni permis de AT&T, acestea nu puteau trata Unix ca pe un produs. Acest lucru a dus la distribuirea Unix ca cod sursă cu o licență. Costurile nominale au fost suficiente pentru a acoperi transportul și ambalarea și o „redevență rezonabilă”. Unix a venit „ca atare”, fără suport tehnic și fără remedieri de erori. Dar ați primit codul sursă și îl puteți modifica.

Unix a cunoscut o absorbție rapidă în instituțiile academice. În 1975, Ken Thompson a petrecut un an sabatic de la Bell la Universitatea din California, Berkeley. Împreună cu unii studenți absolvenți, a început să adauge și să îmbunătățească copia lor locală a Unix. Interesul exterior față de completările Berkeley a crescut, ducând la prima lansare a Berkeley Software Distribution (BSD). Aceasta era o colecție de programe și modificări de sistem care puteau fi adăugate într-un sistem Unix existent, dar nu era un sistem de operare independent. Versiunile ulterioare ale BSD au fost sisteme întregi Unix.

  Cum să-ți organizezi arborele genealogic pe Linux cu Gramps

Acum existau două variante majore de Unix, fluxul AT&T și fluxul BSD. Toate celelalte variante Unix, cum ar fi AIX, HP-UX, și Oracol Solaris, sunt descendenți ai acestora. În 1984, unele dintre restricțiile privind AT&T au fost eliberate și au putut să producă și să vândă Unix.

Unix a devenit apoi comercializat.

Geneza Linux

Văzând comercializarea Unix ca o erodare suplimentară a libertăților disponibile utilizatorilor de computere, Richard Stallman și-a propus să creeze un sistem de operare bazat pe libertate. Adică libertatea de a modifica codul sursă, de a redistribui versiunile modificate ale software-ului și de a utiliza software-ul în orice mod pe care utilizatorul îl consideră potrivit.

Sistemul de operare urma să reproducă funcționalitatea Unix, fără a include niciun cod sursă Unix. El a numit sistemul de operare GNU și a fondat Proiectul GNU în 1983 pentru a dezvolta sistemul de operare. În 1985, a fondat Free Software Foundation pentru a promova, finanța și sprijini proiectul GNU.

Toate zonele sistemului de operare GNU făceau progrese bune, în afară de nucleu. Dezvoltatorii proiectului GNU lucrau la un microkernel numit GNU Hurd, dar progresul a fost lent. (Este încă în dezvoltare și astăzi și se apropie de o lansare.) Fără un nucleu, nu ar exista un sistem de operare.

În 1987, Andrew S. Tanebaum a lansat un sistem de operare numit MINIX (mini-Unix) ca ajutor didactic pentru studenții care studiază proiectarea sistemelor de operare. MINIX era un sistem de operare funcțional, asemănător Unix, dar avea unele restricții, în special cu sistemul de fișiere. La urma urmei, codul sursă trebuia să fie suficient de mic pentru a se asigura că este acoperit în mod adecvat într-un singur semestru universitar. Unele funcționalități trebuiau sacrificate.

Pentru a înțelege mai bine funcționarea interioară a Intel 80386 în noul său computer, a sunat un student la informatică Linus Torvalds a scris un cod simplu de comutare a sarcinilor ca exercițiu de învățare. În cele din urmă, acest cod a devenit un proto-kernel elementar care a devenit primul nucleu Linux. Torvalds era familiarizat cu MINIX. De fapt, primul său nucleu a fost dezvoltat pe MINIX folosind compilatorul GCC al lui Richard Stallman.

Torvalds a decis să-și creeze propriul sistem de operare care a depășit limitările din MINIX-ul conceput pentru predare. În 1991, și-a făcut-o pe a lui anunț celebru pe MINIX Usenet grup, cerând comentarii și sugestii cu privire la proiectul său.

  Cum să creați cărți audio pe Linux cu M4Baker

Linux nu este cu adevărat o clonă Unix. Dacă Linux ar fi o clonă a Unix, ar fi Unix. Nu este, este asemănător Unix. Cuvântul „clonă” implică că o mică parte din original este cultivată într-o nouă replică celulă pentru celulă a originalului. Linux a fost creat din nou, pentru a avea aspectul și senzația de Unix și pentru a îndeplini aceleași nevoi. Este mai puțin o clonă și mai mult un replicant.

Dar oricum, Linux era un nucleu care căuta un sistem de operare; GNU era un sistem de operare care căuta un nucleu. În retrospectivă, ceea ce a urmat pare inevitabil. A schimbat și lumea.

Cine face dezvoltarea?

O distribuție Linux este suma mai multor părți diferite, extrase din mai multe locuri diferite. Nucleul Linux, suita GNU de utilități de bază și aplicațiile user-land sunt combinate pentru a face o distribuție viabilă. Și cineva trebuie să facă asta combinând, întreținând și gestionând – la fel cum cineva trebuie să dezvolte nucleul, aplicațiile și utilitățile de bază. Menținerii distribuției și comunitățile fiecărei distribuții își joacă toți rolul în aducerea la viață a unei distribuții Linux la fel de mult ca și dezvoltatorii de kernel.

Linux este rezultatul unui efort de colaborare distribuit de către voluntari neplătiți, de către organizații precum Canonic și palarie rosie, și persoane sponsorizate de industrie.

Fiecare Unix comercial este dezvoltat ca o singură entitate coerentă folosind facilități de dezvoltare interne sau externalizate strict controlate. Adesea, acestea au un nucleu unic și sunt proiectate special pentru platformele hardware furnizate de fiecare furnizor.

Derivatele gratuite și open-source ale fluxului BSD Unix, cum ar fi FreeBSD, OpenBSD, și DragonBSD, utilizați o combinație de cod BSD vechi și cod nou. Acum sunt proiecte susținute de comunitate și gestionate la fel ca distribuțiile Linux.

Standarde și conformitate

În general, Linux nu este nici unul Specificație Unix unică (SUS) conformă nici POSIX conformă. Încearcă să satisfacă ambele standarde fără a fi sclavul lor. Au existat una sau două – la propriu, una sau două – excepții, cum ar fi Inspur K-UX, un Linux chinezesc care este compatibil POSIX.

Un Unix adevărat, ca și ofertele comerciale, este compatibil. Unele derivate BSD, inclusiv toate versiunile de macOS, cu excepția uneia, sunt compatibile cu POSIX. Numele variantelor, cum ar fi AIX, HP-UX și Solaris, sunt toate mărci comerciale deținute de organizațiile lor respective.

  Cum să vă securizați serverul Linux cu fail2ban

Mărci comerciale și drepturi de autor

Linux este o marcă înregistrată a Linus Torvalds. The Fundația Linux administrează marca în numele său. Nucleul Linux și utilitarele de bază sunt lansate sub diferite GNU „copyleft” Licente publice generale. Codul sursă este disponibil gratuit.

Unix este o marcă înregistrată a Grup deschis. Este protejat prin drepturi de autor, proprietar și cu sursă închisă.

FreeBSD este protejat prin drepturi de autor de către Proiectul FreeBSD, iar codul sursă este disponibil.

Diferențele de utilizare

Din perspectiva experienței utilizatorului, la linia de comandă, nu există o mare diferență vizibilă. Datorită standardelor și conformității POSIX, software-ul scris pe Unix poate fi compilat pentru un sistem de operare Linux cu un efort limitat de portare. Scripturile Shell, de exemplu, pot fi folosite direct pe Linux în multe cazuri, cu modificări reduse sau deloc.

Unele dintre utilitarele de linie de comandă au opțiuni de linie de comandă ușor diferite, dar în esență același arsenal de instrumente este disponibil pe oricare dintre platforme. De fapt, ale IBM AIX are un Caseta de instrumente AIX pentru aplicații Linux. Acest lucru permite administratorului de sistem să instaleze sute de pachete GNU (cum ar fi Bash, GCC și așa mai departe).

Diferitele arome Unix au diferite interfețe grafice cu utilizatorul (GUI) disponibil lor, la fel ca și Linux. Un utilizator Linux familiarizat cu GNOME sau mate va trebui să simtă drumul lor prima dată când se întâlnesc KDE sau Xfce, dar o vor ridica în curând. Este similar cu gama de GUI-uri disponibile pe Unix, cum ar fi Motivul, Mediu desktop comun, si Sistemul X Windows. Toate sunt suficient de asemănătoare pentru a fi navigabile de către oricine este familiarizat cu conceptele unui mediu ferestre cu dialoguri, meniuri și pictograme.

Veți afla mai multe despre diferențe în timpul administrării sistemelor. De exemplu, sunt diferite init mecanisme. Derivatele System V Unix și fluxurile BSD au sisteme init diferite. Variantele BSD gratuite au menținut schemele de inițiere BSD. În mod implicit, distribuțiile Linux vor folosi fie un sistem init derivat din Unix System V, fie systemd.

Stick Shift vs. Automatic

Dacă poți conduce unul, îl poți conduce pe celălalt, chiar dacă va fi puțin stop-start pentru început.

Lăsând prețul deoparte, diferențele de filozofie, licențiere, model de dezvoltare, organizare a comunității și tipul și stilul de guvernare sunt mai mari și mai semnificative decât diferențele de semnale de linie de comandă între, să zicem, o versiune de grep si altul.

Cele mai mari diferențe nu sunt cele pe care le vedeți pe ecran.