Која је разлика између Линук-а и Уник-а?

Linux je inspirisan Unixom, ali nije njegov klon – iako su definitivno slični. U ovom tekstu ćemo objasniti ključne razlike između ova dva poznata operativna sistema.

Da li je razlika zaista velika?

Linux je besplatan operativni sistem otvorenog koda. Unix, s druge strane, predstavlja komercijalni proizvod, koji se nudi od strane raznih dobavljača, pri čemu svaki ima svoju verziju, obično prilagođenu sopstvenom hardveru. On je skup i zatvorenog je izvornog koda. Međutim, i Linux i Unix rade suštinski iste stvari na sličan način, zar ne? U suštini, da.

Složenosti su nešto dublje od toga. Razlike postoje izvan tehničkih i arhitektonskih aspekata. Da bismo razumeli uticaje koji su oblikovali Unix i Linux, neophodno je da se upoznamo sa njihovim istorijskim kontekstom.

Poreklo Unixa

Unix je star preko pola veka. Razvijen je u Digital Equipment Corporation (DEC) koristeći asemblerski jezik na DEC PDP/7 kao nezvanični projekat u Bell Labs, tada u vlasništvu AT&T. Ubrzo je prenet na DEC PDP/11/20 računar, a zatim se postepeno širio na druge računare unutar Bell kompanije. Prepisivanje u C programski jezik dovelo je do verzije 4 Unixa iz 1973. godine. To je bio značajan korak jer su karakteristike C jezika i kompajlera omogućile da se Unix relativno lako prenese na nove arhitekture računara.

Godine 1973, Ken Thompson i Dennis Ritchie predstavili su rad o Unixu na konferenciji. Kao rezultat toga, zahtevi za kopijama Unixa su počeli da pristižu u Bell Labs. Pošto prodaja operativnih sistema nije bila u okviru dozvoljenih aktivnosti AT&T-a, oni nisu mogli tretirati Unix kao komercijalni proizvod. To je dovelo do toga da se Unix distribuira kao izvorni kod, uz licencu. Simbolični troškovi bili su dovoljni da pokriju troškove isporuke i pakovanja, kao i „razumne naknade“. Unix je dolazio „takav kakav jeste“, bez tehničke podrške i ispravki grešaka. Ali ste dobili izvorni kod — i imali ste pravo da ga menjate.

Unix je doživeo rapidno širenje u akademskim institucijama. Godine 1975, Ken Thompson je proveo godinu dana na odsustvu iz Bell Labsa na Univerzitetu Kalifornije u Berkliju. Zajedno sa nekim studentima diplomskih studija, počeo je da dodaje i poboljšava njihovu lokalnu kopiju Unixa. Interesovanje spolja za Berklijeve dodatke je raslo, što je dovelo do prvog izdanja Berkeley Software Distribution (BSD). To je bila kolekcija programa i sistemskih modifikacija koje su se mogle dodati postojećem Unix sistemu, ali to nije bio samostalan operativni sistem. Kasnije verzije BSD-a bile su kompletni Unix sistemi.

Tada su postojala dva glavna pravca razvoja Unixa, AT&T i BSD. Sve ostale Unix varijante, kao što su AIX, HP-UX, i Oracle Solaris, su proizašle iz njih. Godine 1984, neka ograničenja za AT&T su ukinuta, što im je omogućilo da proizvode i prodaju Unix.

Unix je tada postao komercijalizovan.

Rađanje Linuxa

Posmatrajući komercijalizaciju Unixa kao dalju eroziju sloboda dostupnih korisnicima računara, Richard Stallman je odlučio da stvori operativni sistem zasnovan na slobodi. To podrazumeva slobodu modifikacije izvornog koda, redistribucije izmenjenih verzija softvera, kao i korišćenje softvera na bilo koji način koji korisnik smatra prikladnim.

Operativni sistem je trebalo da replicira funkcionalnost Unixa, bez uključivanja bilo kakvog Unix izvornog koda. Nazvao je operativni sistem GNU i osnovao GNU projekat 1983. radi razvoja operativnog sistema. 1985. je osnovao Fondaciju za slobodni softver kako bi promovisao, finansirao i podržao GNU projekat.

Svi delovi GNU operativnog sistema su napredovali – osim jezgra. Programeri GNU projekta radili su na mikrokernelu pod nazivom GNU Hurd, ali napredak je bio spor. (On je i danas u razvoju i sve je bliži objavljivanju.) Bez jezgra, ne bi bilo ni operativnog sistema.

Godine 1987, Andrew S. Tanenbaum izdao je operativni sistem pod nazivom MINIX (mini-Unix) kao alat za edukaciju za studente koji izučavaju dizajn operativnih sistema. MINIX je bio funkcionalan operativni sistem sličan Unixu, ali je imao neka ograničenja, posebno u pogledu sistema datoteka. Na kraju krajeva, izvorni kod je morao biti dovoljno mali kako bi se osiguralo da bude adekvatno obuhvaćen u jednom univerzitetskom semestru. Neke funkcionalnosti su morale biti žrtvovane.

Kako bi bolje razumeo unutrašnje funkcionisanje Intel 80386 u svom novom računaru, student informatike Linus Torvalds je napisao jednostavan kod za prebacivanje zadataka kao vežbu učenja. Na kraju, ovaj kod je postao elementarni proto-kernel koji je postao prvo Linux jezgro. Torvalds je bio upoznat sa MINIX-om. U stvari, njegovo prvo jezgro je razvijeno na MINIX-u koristeći GCC kompjler Richarda Stallmana.

Torvalds je odlučio da napravi sopstveni operativni sistem koji je prevazišao ograničenja MINIX-a, dizajniranog za obrazovne svrhe. Godine 1991, dao je svoje čuveno saopštenje na MINIX Usenet grupama, tražeći komentare i sugestije za svoj projekat.

Linux zapravo nije klon Unixa. Da je Linux klon Unixa, onda bi on bio Unix. Nije, on je samo sličan Unixu. Termin „klon“ podrazumeva da je mali deo originala kultivisan u novu repliku originala, ćeliju po ćeliju. Linux je kreiran iz početka, kako bi izgledao i delovao kao Unix i da bi ispunjavao iste potrebe. On je manje klon, a više replikant.

U svakom slučaju, Linux je bio jezgro koje je tražilo operativni sistem; GNU je bio operativni sistem koji je tražio jezgro. Gledajući unazad, ono što se dalje desilo deluje neizbežno. To je, takođe, promenilo svet.

Ko se bavi razvojem?

Linux distribucija je skup mnogih različitih delova, koji potiču sa mnogih različitih mesta. Linux jezgro, GNU paket osnovnih uslužnih programa i korisničke aplikacije kombinuju se kako bi se napravila funkcionalna distribucija. I neko mora da obavlja kombinovanje, održavanje i upravljanje – baš kao što neko mora da razvija jezgro, aplikacije i osnovne uslužne programe. Održavaoci distribucije i zajednice svake distribucije igraju važnu ulogu u oživljavanju Linux distribucije, baš kao i programeri jezgra.

Linux je rezultat distribuiranih zajedničkih napora koje obavljaju neplaćeni volonteri, organizacije poput Canonical i Red Hat, i pojedinci koje sponzoriše industrija.

Svaki komercijalni Unix je razvijen kao jedinstvena celina, korišćenjem internih ili strogo kontrolisanih spoljnih razvojnih kapaciteta. Oni često imaju jedinstveno jezgro i dizajnirani su posebno za hardverske platforme koje isporučuje svaki dobavljač.

Besplatni i otvoreni izvorni kodovi BSD Unix pravca razvoja, kao što su FreeBSD, OpenBSD, i DragonFlyBSD, koriste kombinaciju starog BSD koda i novog koda. Oni su sada projekti koje podržava zajednica i kojima se upravlja na sličan način kao i Linux distribucijama.

Standardi i usklađenost

Generalno gledano, Linux nije u skladu sa Single Unix Specification (SUS), niti je u skladu sa POSIX standardom. On pokušava da zadovolji oba standarda, a da im ne bude rob. Postojao je jedan ili dva – bukvalno, jedan ili dva – izuzetka, kao što je Inspur K-UX, kineski Linux koji je usklađen sa POSIX-om.

Pravi Unix, kao i komercijalne ponude, su usklađeni sa standardima. Neki BSD derivati, uključujući sve verzije macOS-a osim jedne, su u skladu sa POSIX-om. Nazivi varijanti, kao što su AIX, HP-UX i Solaris, su zaštićeni žigovi u vlasništvu njihovih organizacija.

Zaštitni znakovi i autorska prava

Linux je registrovani zaštitni znak Linusa Torvaldsa. Linux Foundation upravlja žigom u njegovo ime. Linux jezgro i osnovni uslužni programi objavljeni su pod različitim GNU „copyleft“ Opštim javnim licencama. Izvorni kod je slobodno dostupan.

Unix je registrovani zaštitni znak Open Group. On je zaštićen autorskim pravima, vlasnički i zatvorenog je koda.

FreeBSD je zaštićen autorskim pravima FreeBSD projekta, a izvorni kod je dostupan.

Razlike u upotrebi

Iz perspektive korisničkog iskustva, na komandnoj liniji, nema mnogo vidljivih razlika. Zahvaljujući POSIX standardima i usklađenosti, softver napisan za Unix može se kompajlirati za Linux operativni sistem sa ograničenim naporom za prenos. Skripte u shell-u, na primer, mogu se koristiti direktno na Linuxu u mnogim slučajevima sa malim ili bez izmena.

Neki od uslužnih programa komandne linije imaju malo drugačije opcije komandne linije, ali u suštini isti skup alata je dostupan na obe platforme. Zapravo, IBM-ov AIX ima AIX Toolbox za Linux aplikacije. Ovo omogućava administratoru sistema da instalira stotine GNU paketa (kao što su Bash, GCC i tako dalje).

Različite verzije Unixa se razlikuju u grafičkim korisničkim interfejsima (GUI) koji su im dostupni, kao i kod Linuxa. Korisnik Linuxa koji je upoznat sa GNOME ili MATE moraće da se snađe kada se prvi put susretne sa KDE ili Xfce, ali će brzo savladati i te interfejse. Slična situacija je i sa spektrom GUI-ja dostupnih na Unixu, kao što su Motif, Common Desktop Environment, i X Window System. Svi su dovoljno slični da se svako ko je upoznat sa konceptima okruženja sa prozorima, dijalozima, menijima i ikonama može snaći u njima.

Više ćete saznati o razlikama dok administrirate sisteme. Na primer, postoje različiti init mehanizmi. Derivati System V Unix i BSD pravca razvoja imaju različite init sisteme. Besplatne BSD varijante zadržale su BSD init šeme. Po defaultu, Linux distribucije će ili koristiti init sistem izveden iz Unix System V ili systemd.

Menjač vs. automatik

Ako možete voziti jedno, možete voziti i drugo – čak i ako će biti malo „kreni-stani“.

Osim cene, razlike u filozofiji, licenciranju, modelu razvoja, organizaciji zajednice i načinu upravljanja su veće i značajnije od razlika u opcijama komandne linije, na primer, između jedne verzije grep i druge.

Najveće razlike nisu one koje vidite na ekranu.