Ján Fečík


osobná stránka · blog

Dátum: štvrtok, 25. apríla 2019
Čas: 01:50:01, 1556149801, @034
Meniny má: Marek, Izmael
IP adresa: 3.88.161.108
Jasno - Bratislava
17 °C
Polooblačno
dnes
21 °C / 12 °C
Prevažne oblačno
piatok
25 °C / 11 °C
Slabý dážď
sobota
17 °C / 11 °C
Oblačno
nedeľa
16 °C / 9 °C

Unix vs. Linux - rozdiely a ich história

Ponorme sa do rozdielov medzi operačným systémom Unix a Linux. Linux samozrejme nie je operačný systém ale jadrom, ktoré používajú rôzne linuxové distribúcie ako Debian, Ubuntu, alebo aj Android, ktorý má pomaly každý z vás v mobilnom telefóne. Linux je významným hráčom v dátových centrách a hoci je ťažké nájsť jeho podiel na trhu operačných systémov, tak podiel operačných systémov v dátových centrách by mohol byť až 70%. Dôkazy o tom, že Linux je všade, sa v posledných rokoch celkom rozrástli a v každom prípade je to veľmi zaujímavá téma, pokiaľ ide o systém Unix vs. Linux.

PlusMinus.sk a problémy s registráciou  ·  iPhone X po pár mesiacoch používania

Po tejto lekcii z histórie získate nejaký ucelený obraz o rozdieloch medzi nimi. Nenadržujem samozrejme žiadnemu z nich, som windowsák. Osobne spravujem len pár serverov s aplikáciami na ktorých beží Ubuntu. V minulosti som si ale spravoval vlastný web server kde pre zmenu bežal FreeBSD a mal som tam spojazdnený Apache, PHP, MySQL a plno ďalších vecí.

História Unix začala v laboratóriách Bell Labs na konci 60. rokov minulého storočia s malým tímom programátorov, ktorí chceli napísať viacúčelový operačný systém pre PDP-7. V tom čase boli počítače navrhnuté tak, aby vykonávali špecifické úlohy. Napríklad bol počítač, ktorý slúžil výhradne len na výpočet mzdy, alebo počítač ktorý slúžil na spracovanie dát v knižnici. Na každom bol spustený špeciálne navrhnutý program pre konkrétny hardvér a konkrétnu úlohu, ktorú mal robiť. Programy v tej dobe neboli prenositeľné z počítača jedného výrobcu na počítač druhého výrobcu, ako je tomu dnes. Počítače taktiež nedokázali spracovať viacero programov naraz, ale iba jeden v danom čase. Ak by chcel používateľ pri písaní nejakého dokumentu počúvať napríklad hudbu, tak to bolo v tej dobe nemožne. Ak by čisto teoreticky počítače v tej dobe dokázali vôbec hudbu prehrať :-)

Na prekonanie týchto problémov bol vyvinutý operačný systém Multics, známy aj ako Multix. Spočiatku to bol projekt spolupráce medzi MIT, General Electrics a Bell Labs, ktorý položil základy každého nového operačného systému, vrátane Windows, MacOS, Android, rôznych distribúcií Linuxu a mnoho ďalších. Multics (Multiplexed Information and Computing Service) je operačný systém na zdieľanie času. To znamená, že mnohé programy môžu zdieľať hardvérové prostriedky a zapínať obmedzené časové intervaly. Inými slovami, jeden program používa hardvér nejaký stanovený čas, povedzme 20ns, bol zastavený a následné sú hardvérové prostriedky k dispozícií pre iný program na rovnaké množstvo času. Takto sa vzhľadom na veľmi malé intervaly (veľmi rýchle prepínanie) vytvorí ilúzia, že súbežne prebiehajú viaceré programy naraz. Rovnaký princíp je prítomný v každom modernom operačnom systéme. Okrem zdieľania času bol Multics navrhnutý s myšlienkou modulárnej štruktúry, čiže pri zmene hardvéru nie je nutné robiť všetko nanovo a len sa aktualizuje niekoľko blokov. Ak je rovnaká funkcia vyžadovaná viac ako jedným programom, tak môžu zdieľať spoločnú implementáciu. Napríklad, mnohé programy môžu zdieľať rovnakú implementáciu pre transformáciu slova na malé písmená, čím šetria čas, frustráciu medzi vývojármi a hlavne peniaze. To by boli ako také základy Multics.Unix vs. Linux - rozdiely a ich históriaNa začiatku 70. rokov začal vývoj Unics, aby prekonal nevýhody Multics. Bol to projekt Dennisa Ritchieho a Kena Thompsona v čase keď pôsobili v Bell Labs. Neboli spokojní so všetkými aspektmi projektu, hlavne veľkosťou a zložitosťou. Vo svojom voľnom čase začali pracovať na podobnom projekte s názvom Unics (Uniplexed Information and Computing Service), ktorý je dnes známy aj ako Unix. Projekt Unics bol určený len na interné použitie v Bell Labs a bol vyvinutý bez akejkoľvek organizačnej podpory. Unics bol pôvodne napísaný v jazyku assembler (jazyk symbolických inštrukcií) a z tohto dôvodu bol ťažko prenositeľný do iných počítačov. V tom čase boli operačné systémy len zriedka, ak vôbec prenositeľné. Vzhľadom na ich dizajn a nízkoúrovňový zdrojový jazyk boli operačné systémy úzko prepojené s hardvérovou platformou, pre ktorú boli vytvorené.

Medzitým bol vydaný programovací jazyk C a zámerom tohto programovacieho jazyka bola prenositeľnosť programov, keďže vyžadoval relatívne jednoduchý kompilátor a efektívne mapoval strojové inštrukcie. V tomto okamihu existoval Unics, ktorý teda nebol prenositeľný na počítače iných výrobcov a zároveň tu bol nový programovací jazyk C, ktorý ponúka prenositeľnosť. V polovici 70. rokov bol tento malý operačný systém prepísaný do jazyku C a takto mohol byť prenesený do mnohých hardvérových architektúr. Zábavným faktom je, že pôvodný názov projektu je Unics, ale ľudia ho neskôr začali volať Unix. Existuje mnoho príbehov o tom, prečo sa Unix stáva populárnym menom, ale nikto to nemôže s istotou povedať. Teraz je názov Unix akceptovaný ako oficiálny názov projektu a zároveň aj ochrannou známkou. To isté bolo aj pri názve Multics, časom ho všetci nazývali Multix, aj keď to nebolo jeho oficiálne meno.

Okrem tejto prenositeľnosti, ktorá umožnila Unixu rýchlo expandovať mimo Bell Labs k iným výskumným, akademickým a dokonca komerčným aplikáciám bolo niekoľko kľúčových princípov dizajnu operačného systému atraktívnych pre užívateľov a programátorov. Jedným z dôvodov je, že filozofia Unixu sa stala mocným modelom modulárneho dizajnu softvéru a výpočtovej techniky. Základnou filozofiou Unixu je princíp stavebnice, v ktorej sú zložité úkony vykonávané postupnosťou zostavenou z jednoduchých príkazov pomocou užívateľského rozhrania. Užívateľským rozhraním je zvyčajne rovnako jednoduchý príkazový interpreter nazývaný shell. V súčasných verziách unixoidných operačných systémov sa však čoraz častejšie používajú grafické nadstavby ukrývajúce riadkové (terminálové) rozhranie shellu, robiac tak Unix prístupnejším širšiemu okruhu užívateľov. Na konci 70. a začiatkom 80. rokov sa Unix stal koreňom rodokmeňa. Unix bol postavený tak, aby bol prenositeľný, viac úlohový a viac používateľský. Unix nebol softvér s otvoreným zdrojovým kódom a zdrojový kód Unixu bol licencovateľný prostredníctvom dohôd s vlastníkom AT&T. Prvá známa softvérová licencia bola predaná na University of Illinois v roku 1975.

Unix rástol rýchlo v akademickej sfére, pričom Berkeley sa stal významným centrom. So všetkými aktivitami okolo Unixu v Berkeley sa zrodila nová distribúcia Berkeley alebo BSD. Spočiatku BSD nebola alternatívou k Unixu AT&T, ale len doplnkom s dodatočným softvérom a možnosťami. Okrem BSD, ktorá sa stala jednou z najobľúbenejších distribúcií Unixu, bola aj komerčná ponuka Unixu, ktorá vznikla v 80. a 90. rokoch minulého storočia s názvami ako HP-UX, IBM AIX, Sun Solaris, Sequent a Xenix. Na prekonanie problémov pri prechode cez portovanie a optimalizáciu bol zavedený štandard POSIX (Portable Operating System Interface X) spoločnosťou IEEE Computer Society v roku 1988. Toto je štandard, ktorý ak dodávatelia dodržiavajú, kompatibilita medzi operačnými systémami bude zaručená a programy budú spustiteľné na iných operačných systémoch bez potreby úprav. V tomto čase AT&T a Sun vydali System V Release 4 (SVR4), ktorý bol prijatý mnohými komerčnými dodávateľmi. Súčasným vlastníkom obchodnej známky Unix je spoločnosť The Open Group, pričom firmy Novell a The SCO Group si nárokujú vlastnícke práva k zdrojovému kódu Unix. Systémy plne kompatibilné a certifikované podľa Single Unix Specification môžu používať značku Unix, kým ostatné sa označujú, ako Unix-like (Unixoidné) systémy.

Aby sa odstránili všetky právne otázky týkajúce sa zdieľania zdrojového kódu, ľudia pracujúci na BSD začali nahrádzať pôvodný zdrojový kód zdedený z AT&T vlastnou implementáciou, ale vydávali ho s BSD licenciou, ktorá je liberálnejšia z hľadiska opätovného použitia a úprav. Ich cieľom bolo uvoľniť operačný systém bez akýchkoľvek obmedzení, čo pri Unix nebolo možné. Rodina operačných systémov BSD sa v priebehu rokov rozrástla, čo viedlo k niektorým variáciám open source, ktoré boli vydané pod teraz známou licenciou BSD. To zahŕňalo FreeBSD, OpenBSD a NetBSD, každý s mierne odlišným cieľom na trhu v serverovom odvetví. Tieto varianty Unixu majú aj dnes určité využitie, hoci ich podiel na serverovom trhu klesá. Ďalšou zábavnou skutočnosťou je, že aj macOS v minulosti nazývaný aj ako OS X (používaný v počítačoch Apple) je považovaný za derivát BSD. Síce nie každé vydanie, ale niektoré z nich sú. So všetkými uvedenými vetvami a funkciami križovatiek medzi rôznymi vetvami je to jednoducho chaotická situácia a ťažko povedať, čo je skutočným Unixom. Dá sa povedať, že legitímne operačné systémy Unix sú System V a BSD.Unix vs. Linux - rozdiely a ich históriaRichard Stallman chcel vytvoriť skutočne slobodnú a otvorenú alternatívu k proprietárnemu systému Unix. Pracoval na nástrojoch a programoch pod názvom GNU. Za povšimnutie stojí podobná myšlienka s tým, čo robia ľudia stojací za BSD. Spája ich termín slobodný softvér, ale s veľmi veľkým rozdielom v tom, ako by sa malo zaobchádzať so slobodným softvérom a to porovnaním licencie GPL, použitej pri GNU a licencie BSD. Licencia GPL je reštriktívnejšia, ale dobrým spôsobom. Kladie sa dôraz na prevenciu používania open source kódu (licencovaného GPL) v proprietárnych aplikáciách s uzavretým zdrojovým kódom. Uvádza sa v nej, že ak sa používa akýkoľvek zdrojový kód s licenciou GPL, tak zdroj kódu sa musí uvoľniť aj na základe rovnakej licencie. Licencia BSD je menej obmedzujúca a tá neuvádza, že všetko čo sa vytvorí, tak musí byť automaticky uvoľnené ako slobodný softvér. Môže byť vydaný ako proprietárny softvér bez zdieľania akéhokoľvek zdrojového kódu.

GNU je rekurzívna skratka pre „GNU nie je Unix“ (angl. „GNU's Not Unix“) a tento projekt GNU založil Richard Stallman v roku 1983. Takýto systém sa skladá z jadra operačného systému a obslužných programov. Najznámejšie jadro, ktoré používa nástroje projektu GNU je Linux a systém na ňom založený sa nazýva GNU/Linux, alebo len Linux. Hoci existoval projekt jadra, ukázalo sa, že ide o zložitý projekt a bez jadra sa nemohol zrealizovať sen o slobodnom a otvorenom operačnom systéme. Linuxové jadro je známe ako základ systému GNU/Linux a dalo operačnému systému život. Okrem jadra tvoria systém aj ďalšie knižnice, nástroje, programy a tento celok sa nazýva GNU/Linux, ktorých existuje veľké množstvo. Kvôli voľnému a otvorenému zdrojovému zdroju všetkých komponentov Linuxu mohol ktokoľvek vytvoriť distribúciu Linuxu s trochou úsilia a čoskoro sa celkový počet distribúcií dostal do stoviek. Medzi známe populárne bezplatné distribúcie patrí Slackware, Fedora, Ubuntu, Debian, Arch Linux, Gentoo a mnoho ďalších variant. Red Hat postavil model komerčnej podpory okolo Red Hat Enterprise Linux, rovnako ako SUSE so svojím SUSE Linux Enterprise Server.Unix vs. Linux - rozdiely a ich históriaTakže Linux nie je operačný systém ako BSD, Linux je len jadro. Jeho počiatky sú vo Fínsku v 90. rokoch, o 20 rokov neskôr ako Unics. Linus Torvalds bol vtedy študentom a bol ovplyvnený licenciou GNU a Minixom. V dôsledku toho začal pracovať na svojom vlastnom operačnom systéme s využitím mnohých dostupných nástrojov GNU. Konečným výsledkom je, že Linus vyvinul iba jadro (ovládače). Niekedy sa operačné systémy založené na Linuxe označujú ako operačné systémy GNU/Linux ako som spomenul vyššie, pretože bez GNU nástrojov je Linuxové jadro v reálnom živote zbytočné a nepoužiteľné. Dá sa povedať, že Linux je do určitej miery len reimplementáciou toho, čo bolo k dispozícii ako operačný systém Unics (BSD, System V, apod.), ale s licenciou, ktorá kladie väčší dôraz na udržanie voľného softvéru prostredníctvom vynútenia úprav, ktoré majú byť voľne k dispozícií na štúdium, modifikácie a ďalšiu distribúciu. Možnosti zdieľania času, ktoré umožňujú multitasking, programovací jazyk C pre poskytovanie prenosnosti, modulárny softvérový dizajn a ďalšie veci sú zdedené z Unics, ale nie zdieľanie akéhokoľvek zdrojového kódu s Unixom. Takže Linux nezdieľa žiadny kód s Unixom (od Bell Labs), len nasleduje rovnaký princíp využitia.

Hoci existuje len jeden zdroj - Linuxové jadro, tak existuje ale mnoho linuxových distribúcií (operačné systémy založené na Linuxe) a to môže byť pre niekoho mätúce. Každá distribúcia Linuxu (distro) dodáva rôzne verzie jadra Linuxu, nástroje, alebo jednoducho využíva rôzne stavebné bloky. Napríklad Ubuntu používa SystemD ako init system, ale Slackware používa SysV ako ekvivalent. Nie je nič zlé na oboch, oba robia to isté s nejakými rozdielmi, no existuje prípad použitia, keď je jeden lepší ako druhý. Ďalším príkladom je, že existujú používatelia, ktorí dávajú prednosť vždy najnovšej verzii softvéru, alebo dávajú prednosť stabilnému prostrediu bez väčších zmien. Napríklad verzia Ubuntu LTS (Long Term Support) je ideálna pre tento prípad použitia, čo je dôvodom, prečo je široko používaný v serveroch spolu s CentOS. Operačné systémy založené na Linuxe sú tiež v rovnakej chaotickej situácii. Neexistuje žiadny prvý a skutočný operačný systém založený na Linuxe. Je ich veľa, ale aspoň majú rovnaký zdroj linuxového jadra.Unix vs. Linux - rozdiely a ich históriaKým bol Linux ešte mladý, tak súdne konanie medzi BSD a AT&T pokračovalo. Vzhľadom na neistotu funkcií BSD sa mnohé spoločnosti, ktoré využívali BSD presunuli k Linuxu ako veľmi podobnej alternatíve so stabilnejšími funkciami. Linux bol jediným zdrojom kódu, zatiaľ čo zdroj BSD bol distribuovaný na mnohých nezávislých vetvách (BSD, Solaris, HP-UX, AIX atď.). Z hľadiska spoločnosti vyžadujúcej operačný systém pre svoj produkt (smerovače Wi-Fi, káblové televízne prijímače atď.) bol Linux lepšou voľbou hlavne pre jednoduchšiu údržbu oproti BSD. Aj to je historický dôvod, prečo Linux získaval väčšiu popularitu v raných fázach svojho vývoja. Za zmienku stojí, že programy napísané pre operačné systémy založené na Linuxe alebo bash príkazoch, ktoré sú vytvorené podľa štandardu POSIX, môžu byť vykonávané aj na všetkých operačných systémoch na báze Unixu. Všetky hlavné programy, ako napríklad Firefox alebo prostredie pracovnej plochy GNOME, sú dostupné všade bez potreby akýchkoľvek úprav.

Doteraz sme sa pozreli na históriu Unixu, Linuxu a na základy GNU / Free Software Foundation, ktoré sú základom bezplatnej a otvorenej alternatívy Unixu. Pozrime sa ale na rozdiely medzi týmito dvoma operačnými systémami, ktoré zdieľajú veľa z toho istého dedičstva, no z pohľadu používateľa to nie je príliš odlišné. Veľkým lákadlom Linuxu bola dostupnosť operačného systému v mnohých hardvérových architektúrach (vrátane moderného PC) a schopnosť používať nástroje, ktoré sú známe administrátorom a používateľom systému Unix. Vzhľadom na štandardy POSIX a súlad s normami by softvér napísaný na Unixe mohol byť zostavený pre operačný systém Linux. Skripty shell možno v mnohých prípadoch použiť priamo na Linuxe. Zatiaľ čo niektoré nástroje mali možno mierne odlišné možnosti príkazového riadku medzi Unixom a Linuxom, tak mnohé z nich fungovali rovnako na oboch.

Rozdiely medzi Unixom a Linuxom súvisia hlavne s licenčným modelom, proprietárny licencovaný softvér vs. open source. Unixu má vplyv na dodávateľov softvéru a hardvéru, pričom na Linux môže dodávateľ vytvoriť ovládač pre konkrétne hardvérové zariadenie a očakávať, že bude fungovať vo väčšine distribúcií. Pričom na Unixe môže byť potrebné, aby dodávateľ vytvoril ovládač pre rôzne varianty Unixu a mal to podchytené aj licenčné naprieč mnohými varianty Unixu. Linux preukázal významnú výhodu oproti proprietárnemu Unixu a to jeho dostupnosťou v mnohých hardvérových platformách a zariadeniach. Asi každému známe Raspberry Pi je obľúbené medzi fanúšikmi a nadšencami, pričom je poháňaný systémom Linux a otvoril dvere pre celé spektrum zariadení IoT. Vyššie som spomínal Android zariadenia, ale aj autá či inteligentné televízory, kde má Linux veľký podiel na trhu. Taktiež každý poskytovateľ cloudu na tejto planéte ponúka virtuálne servery s operačným systémom Linux.

Nižšie je na stiahnutie dokument so súborom príkazov pre Unix/Linux/BSD, ktoré by mohli byť pre niekoho užitočné. Je to praktická príručka čo by mal začiatočník, ale aj pokročilý používateľ vedieť, aj keď je trochu staršia.

STIAHNUŤ ZOZNAM PRÍKAZOV
Jednou zo zaujímavostí Linuxu je transformácia spoločnosti Microsoft v posledných rokoch. Ak by pred desiatimi rokmi povedal niekto vývojárom softvéru, že operačný systém Windows by „spustil Linux“, tak by sa väčšina z nich hystericky zasmiala. Existencia a popularita systému Windows Subsystem for Linux (WSL), sú dôkazom toho aký má Linux vplyv v celom svete softvéru.

Článok bol zobrazený 481 krát a obsahuje 2448 slov
Pridané 7. apríla 2019