Jeśli jesteś programistą w wieku 20-30 lat, dorastałeś w świecie zdominowanym przez Linuksa. Od dziesięcioleci jest znaczącym graczem w centrum danych i chociaż trudno jest znaleźć ostateczne raporty o udziale w rynku systemów operacyjnych, udział Linuksa w systemach operacyjnych centrów danych może wynosić nawet 70%, a warianty Windows przenoszą prawie cały pozostały odsetek. Deweloperzy korzystający z dowolnej dużej chmury publicznej mogą oczekiwać, że docelowy system będzie działał pod Linuksem., Dowody na to, że Linux jest wszędzie, wzrosły w ostatnich latach, gdy dodasz systemy wbudowane oparte na Androidzie i Linuksie w smartfonach, telewizorach, samochodach i wielu innych urządzeniach.
mimo to większość programistów, nawet ci, którzy dorastali podczas tej czcigodnej „rewolucji Linuksowej”, słyszała przynajmniej o Uniksie. Brzmi to podobnie do Linuksa i prawdopodobnie słyszałeś, że ludzie używają tych terminów zamiennie. A może słyszałeś, że Linux nazywa się „Uniksopodobnym” systemem operacyjnym.
czym jest ten Unix?, Karykatury mówią o czarnoksiężnikach siedzących za świecącymi zielonymi ekranami, piszących kod C i skrypty powłoki, zasilanych staromodną, parzoną kawą. Ale Unix ma znacznie bogatszą historię poza tymi brodatymi programistami C z Lat 70. podczas gdy artykuły opisujące historię Uniksa i porównania „Unix vs. Linux” obfitują, ten artykuł zaoferuje tło na wysokim poziomie i listę głównych różnic między tymi komplementarnymi światami.,
początki Uniksa
historia Uniksa zaczyna się pod adresem&T Bell Labs pod koniec lat 60.z małym zespołem programistów chcących napisać wielozadaniowy, wielozadaniowy system operacyjny dla PDP-7. Do najbardziej znanych członków zespołu w Ośrodku Badawczym Bell Labs należeli Ken Thompson i Dennis Ritchie. Podczas gdy wiele koncepcji Uniksa było pochodnymi jego poprzednika (Multics), decyzja zespołu Uniksa na początku lat 70., aby przepisać ten mały system operacyjny w języku C, jest tym, co odróżnia Uniksa od wszystkich innych., W tym czasie systemy operacyjne były rzadko, jeśli w ogóle, przenośne. Zamiast tego, ze względu na swoją konstrukcję i niskopoziomowy język źródłowy, systemy operacyjne były ściśle powiązane z platformą sprzętową, dla której zostały stworzone. Dzięki refaktoryzacji Uniksa na język programowania C, Unix może być teraz przeniesiony na wiele architektur sprzętowych.
oprócz tej nowej przenośności, która pozwoliła Uniksowi szybko rozwinąć się poza Bell Labs do innych zastosowań badawczych, akademickich, a nawet komercyjnych, kilka kluczowych założeń projektowych systemu operacyjnego było atrakcyjnych dla użytkowników i programistów., Po pierwsze, Filozofia Uniksa Kena Thompsona stała się potężnym modelem modułowego projektowania oprogramowania i obliczeń. Filozofia Uniksa zalecała używanie małych, specjalnie zbudowanych programów w połączeniu do wykonywania złożonych ogólnych zadań. Ponieważ Unix został zaprojektowany wokół plików i rur, ten model „rurociągów” wejść i wyjść programów razem w liniowy zestaw operacji na wejściu jest nadal modny. W rzeczywistości obecny model przetwarzania bezserwerowego w chmurze zawdzięcza wiele swojego dziedzictwa filozofii Uniksa.,
szybki wzrost i konkurencja
pod koniec lat 70. i 80. Unix stał się korzeniem drzewa genealogicznego, które rozszerzyło się na badania naukowe, środowiska akademickie i rozwijającą się komercyjną działalność systemów operacyjnych Unix. Unix nie był oprogramowaniem o otwartym kodzie źródłowym, a kod źródłowy Uniksa był licencjonowany na podstawie umów z jego właścicielem, pod adresem& T. pierwsza znana Licencja oprogramowania została sprzedana Uniwersytetowi Illinois w 1975 roku.
Unix szybko rozwijał się w środowisku akademickim, a Berkeley stało się znaczącym ośrodkiem działalności, biorąc pod uwagę urlop naukowy Kena Thompsona w latach 70., Wraz z całą aktywnością wokół Uniksa w Berkeley, narodziła się nowa dostawa oprogramowania uniksowego: Berkeley Software Distribution, czyli BSD. Początkowo BSD nie było alternatywą dla Uniksa AT&T, ale dodatkiem z dodatkowym oprogramowaniem i możliwościami. Do czasu pojawienia się 2BSD (drugiej dystrybucji oprogramowania Berkeley) w 1979 roku, Bill Joy, Student Berkeley Grad, dodał znane programy, takie jak vi
I C shell (/bin/csh).,
oprócz BSD, który stał się jedną z najpopularniejszych gałęzi rodziny Unix, komercyjna oferta Uniksa eksplodowała w latach 80.i 90. pod nazwami takimi jak HP-UX, AIX IBM, Solaris Sun, Sequent i Xenix. Gdy gałęzie wyrosły z pierwotnego korzenia, zaczęły się „wojny uniksowe”, a standaryzacja stała się nowym celem dla społeczności. Standard POSIX narodził się w 1988 roku, a także w latach 90.,
mniej więcej w tym czasie na&T i Sun wydali System V Release 4 (SVR4), który został przyjęty przez wielu komercyjnych dostawców. Oddzielnie Rodzina systemów operacyjnych BSD rozrosła się na przestrzeni lat, prowadząc do pewnych odmian open source, które zostały wydane na znanej już licencji BSD. Wśród nich znalazły się FreeBSD, OpenBSD i NetBSD, każdy z nieco innym rynkiem docelowym w branży serwerów uniksowych. Te warianty Uniksa nadal mają pewne zastosowanie dzisiaj, chociaż wiele z nich widziało, jak ich udział w rynku serwerów maleje do pojedynczych cyfr (lub niższych)., BSD może mieć największą bazę instalacyjną ze wszystkich współczesnych systemów uniksowych. Ponadto, każda jednostka sprzętowa Apple Mac dostarczona w najnowszej historii może być zastrzeżona przez BSD, ponieważ jej system operacyjny OS X (obecnie macOS) jest pochodną BSD.
podczas gdy pełna historia Uniksa i jego akademickich i komercyjnych wariantów może zająć o wiele więcej stron, ze względu na nasz artykuł skupmy się, przejdźmy do rozwoju Linuksa.
Enter Linux
to, co dziś nazywamy systemem operacyjnym Linux, jest tak naprawdę połączeniem dwóch wysiłków z początku lat 90., Richard Stallman chciał stworzyć prawdziwie wolną i otwartą alternatywę dla zastrzeżonego systemu Unix. Pracował nad narzędziami i programami pod nazwą GNU, rekurencyjnym akronimem oznaczającym ” GNU to nie Unix!”Mimo że projekt jądra był w trakcie realizacji, okazało się to trudne i bez jądra marzenie o wolnym i otwartym systemie operacyjnym nie mogłoby zostać zrealizowane. To właśnie praca Linusa Torvalda-stworzenie działającego i sprawnego jądra, które nazwał Linuksem—ożywiło kompletny system operacyjny. Biorąc pod uwagę, że Linus używał kilku narzędzi GNU (np.,, the GNU Compiler Collection, lub GCC), małżeństwo narzędzi GNU i jądra Linuksa było idealnie dopasowane.
dystrybucje Linuksa powstały z komponentów GNU, jądra Linuksa, interfejsu graficznego MIT X-Windows i innych komponentów BSD, które mogły być używane na licencji open source BSD. Wczesna popularność dystrybucji takich jak Slackware, a następnie Red Hat dała „zwykłemu użytkownikowi PC” z Lat 90. dostęp do systemu operacyjnego Linux, a wraz z nim wiele własnych możliwości i narzędzi systemu Unix, których używali w swojej pracy lub życiu akademickim.,
ze względu na wolne i otwarte źródła wszystkich komponentów Linuksa, każdy mógł stworzyć dystrybucję Linuksa z odrobiną wysiłku, a wkrótce całkowita liczba dystrybucji osiągnęła setki. Oczywiście, wielu deweloperów korzysta z Linuksa za pośrednictwem dostawców usług w chmurze lub przy użyciu popularnych darmowych dystrybucji, takich jak Fedora, Canonical Ubuntu, Debian, Arch Linux, Gentoo i wiele innych wariantów., Komercyjne oferty Linuksa, które zapewniają wsparcie w oparciu o wolne i otwarte komponenty, stały się opłacalne, ponieważ wiele przedsiębiorstw, w tym IBM, przeniosło się z Uniksa własnościowego do oferowania oprogramowania pośredniczącego i rozwiązań programistycznych na szczycie Linuksa. Red Hat zbudował model komercyjnego wsparcia wokół Red Hat Enterprise Linux, podobnie jak niemiecki dostawca SUSE z SUSE Linux Enterprise Server (SLES).
porównując Unix i Linuksa
do tej pory przyjrzeliśmy się historii Uniksa oraz powstaniu Linuksa i GNU / Free Software Foundation, które stanowią fundament wolnej i otwartej alternatywy dla Uniksa., Przyjrzyjmy się różnicom między tymi dwoma systemami operacyjnymi, które dzielą wiele z tego samego dziedzictwa i wielu z tych samych celów.
z punktu widzenia user experience niewiele się różni! Dużą atrakcją Linuksa była dostępność systemu operacyjnego na wielu architekturach sprzętowych (w tym na nowoczesnych komputerach PC) oraz możliwość korzystania z narzędzi znanych administratorom i użytkownikom systemów Unix.
ze względu na standardy POSIX i zgodność, oprogramowanie napisane w Uniksie może być skompilowane dla systemu operacyjnego Linux z Zwykle ograniczonym wysiłkiem przenoszenia., Skrypty powłoki mogą być używane bezpośrednio w Linuksie w wielu przypadkach. Podczas gdy niektóre narzędzia miały nieco inne opcje flagi/wiersza poleceń między Uniksem a Linuksem, wiele z nich działało tak samo na obu.
jedną ze stron jest fakt, że popularność sprzętu i systemu operacyjnego macOS jako platformy do rozwoju, która głównie jest skierowana do Linuksa, może być przypisana systemowi operacyjnemu macOS podobnemu do BSD. Wiele narzędzi i skryptów przeznaczonych dla systemu Linux działa łatwo w terminalu macOS. Wiele komponentów oprogramowania open source dostępnych na Linuksie jest łatwo dostępnych za pomocą takich narzędzi jak Homebrew.,
pozostałe różnice między Linuksem a Unixem są związane głównie z modelem licencjonowania: open source vs.własnościowe, licencjonowane oprogramowanie. Ponadto, brak wspólnego jądra w dystrybucjach Uniksa ma wpływ na dostawców oprogramowania i sprzętu. W przypadku Linuksa dostawca może stworzyć sterownik urządzenia dla określonego urządzenia sprzętowego i oczekiwać, że w granicach rozsądku będzie on działał w większości dystrybucji., Ze względu na komercyjne i akademickie gałęzie drzewa Uniksa, sprzedawca może być zmuszony do napisania różnych sterowników dla wariantów Uniksa i mieć licencje i inne problemy związane z dostępem do SDK lub modelu dystrybucji oprogramowania jako sterownika urządzenia binarnego w wielu wariantach Uniksa.
ponieważ obie społeczności dojrzały w ciągu ostatniej dekady, wiele postępów w Linuksie zostało przyjętych w świecie Uniksa. Wiele narzędzi GNU zostało udostępnionych jako dodatki do systemów uniksowych, w których deweloperzy poszukiwali funkcji z programów GNU, które nie są częścią Uniksa., Na przykład AIX IBM oferował zestaw narzędzi AIX dla aplikacji Linuksowych z setkami pakietów oprogramowania GNU (takich jak Bash, GCC, OpenLDAP i wiele innych), które można dodać do instalacji AIX, aby ułatwić przejście między systemami AIX Linux i Unix.
Uniks własnościowy nadal żyje i ma się dobrze, a wielu głównych dostawców obiecuje wsparcie dla swoich obecnych wydań również w 2020 roku, jest rzeczą oczywistą, że Unix będzie dostępny w najbliższej przyszłości., NetBSD, OpenBSD i FreeBSD mają silne bazy użytkowników i społeczności open source, które mogą nie być tak widoczne lub aktywne jak Linux, ale trzymają swoje własne w ostatnich raportach o udostępnianiu serwerów, z znacznie powyżej zastrzeżonych numerów Uniksa w obszarach takich jak serwowanie stron internetowych.
Gdzie Linux okazał się znaczącą przewagą nad Uniksem własnościowym, jest jego dostępność na ogromnej liczbie platform sprzętowych i urządzeń., Raspberry Pi, popularny wśród hobbystów i entuzjastów, jest oparty na Linuksie i otworzył drzwi dla całego spektrum urządzeń IoT z systemem Linux. Wspomnieliśmy już o urządzeniach z Androidem, autos (z Automotive Grade Linux) i smart TV, gdzie Linux ma duży udział w rynku. Każdy dostawca usług chmurowych na świecie oferuje serwery wirtualne z systemem Linux, a wiele z dzisiejszych najpopularniejszych stosów natywnych w chmurze jest opartych na Linuksie, niezależnie od tego, czy chodzi o czasy uruchamiania kontenerów, Kubernetes, czy wiele platform bezserwerowych, które zyskują popularność.,
jedną z najbardziej odkrywczych reprezentacji rozwoju Linuksa jest transformacja Microsoftu w ostatnich latach. Gdybyś dziesięć lat temu powiedział programistom, że system operacyjny Windows „uruchomi Linuksa” w 2016 roku, większość z nich śmiałaby się histerycznie. Jednak istnienie i popularność podsystemu Windows dla Linuksa (WSL), a także niedawno ogłoszone możliwości, takie jak Windows port of Docker, w tym obsługa LCOW (Linux containers on Windows), są dowodem na wpływ, jaki Linux miał—i oczywiście będzie nadal mieć—w świecie oprogramowania.,
Ten artykuł został pierwotnie opublikowany w maju 2018 i został zaktualizowany przez redaktora.