Jaka jest różnica między Linuksem a Uniksem?

Linux czerpał inspirację z Uniksa, ale Linux nie jest Unixem – chociaż jest zdecydowanie podobny do Uniksa. Wyjaśnimy główne różnice między tymi dwoma słynnymi systemami operacyjnymi.

Ta sama różnica?

Linux to darmowy system operacyjny o otwartym kodzie źródłowym. Unix to produkt komercyjny oferowany przez różnych dostawców, z których każdy ma własną wersję, zwykle dedykowaną dla własnego sprzętu. To drogie i zamknięte źródło. Ale Linux i Unix robią mniej więcej to samo w ten sam sposób, prawda? Mniej więcej tak.

Subtelności są nieco bardziej skomplikowane. Istnieją różnice wykraczające poza techniczne i architektoniczne. Aby zrozumieć niektóre wpływy, które ukształtowały systemy Unix i Linux, musimy zrozumieć ich przeszłość.

Początki systemu Unix

Unix ma ponad 50 lat. Został opracowany w Digital Equipment Corporation (DEC) język programowania na DEC PDP / 7 jako nieoficjalny projekt pod adresem Bell Labs, następnie należący do AT&T. Wkrótce został przeniesiony do DEC PDP / 11/20 komputer, a następnie stopniowo rozprzestrzenia się na inne komputery w Bell. Przepisanie w Język programowania C. doprowadziło do wydania Uniksa w wersji 4 z 1973 roku. Było to znaczące, ponieważ cechy języka C i kompilatora oznaczały, że teraz stosunkowo łatwo było przenieść Uniksa na nowe architektury komputerów.

W 1973 roku Ken Thompson i Dennis Ritchie przedstawił referat na temat Uniksa na konferencji. W rezultacie Bell otrzymywał prośby o kopie Uniksa. Ponieważ sprzedaż systemów operacyjnych wykraczała poza dozwolony zakres działalności AT&T, nie mogli traktować Uniksa jako produktu. Doprowadziło to do rozpowszechniania Uniksa jako kodu źródłowego z licencją. Nominalne koszty wystarczyły na pokrycie kosztów wysyłki i opakowania oraz „rozsądnej opłaty licencyjnej”. Unix pojawił się „taki, jaki jest”, bez wsparcia technicznego i poprawek. Dostałeś jednak kod źródłowy – i mogłeś go zmodyfikować.

Unix szybko zyskał popularność w instytucjach akademickich. W 1975 roku Ken Thompson spędził urlop naukowy w Bell w Uniwersytet Kalifornijski w Berkeley. Wraz z kilkoma absolwentami zaczął dodawać i ulepszać ich lokalną kopię Uniksa. Wzrosło zainteresowanie zewnętrzne dodatkami Berkeley, co doprowadziło do pierwszego wydania Dystrybucja oprogramowania Berkeley (BSD). Był to zbiór programów i modyfikacji systemu, które można było dodać do istniejącego systemu Unix, ale nie był to samodzielny system operacyjny. Kolejne wersje BSD były całymi systemami uniksowymi.

Były teraz dwie główne odmiany Uniksa, strumień AT&T i strumień BSD. Wszystkie inne warianty systemu Unix, takie jak AIX, HP-UX, i Wyrocznia Solaris, są ich potomkami. W 1984 roku niektóre ograniczenia AT&T zostały zwolnione i byli w stanie produkować i sprzedawać Uniksa.

Unix został następnie skomercjalizowany.

Geneza Linuksa

Postrzegając komercjalizację Uniksa jako dalszą erozję swobód dostępnych dla użytkowników komputerów, Richard Stallman postanowili stworzyć system operacyjny oparty na wolności. Oznacza to wolność modyfikowania kodu źródłowego, redystrybucji zmodyfikowanych wersji oprogramowania i używania oprogramowania w dowolny sposób, jaki uzna za stosowny.

System operacyjny miał powielać funkcjonalność Uniksa bez włączania żadnego kodu źródłowego Uniksa. Nazwał system operacyjny GNU i założył Projekt GNU w 1983 roku w celu opracowania systemu operacyjnego. W 1985 roku założył Free Software Foundation promować, finansować i wspierać projekt GNU.

Wszystkie obszary systemu operacyjnego GNU robiły dobre postępy – poza jądrem. Twórcy projektu GNU pracowali nad mikrojądrem zwanym GNU Hurd, ale postęp był powolny. (Jest nadal w fazie rozwoju i zbliża się do wydania). Bez jądra nie byłoby systemu operacyjnego.

W 1987 roku Andrew S. Tanebaum wypuścił system operacyjny o nazwie MINIX (mini-Unix) jako pomoc dydaktyczna dla studentów studiujących projektowanie systemów operacyjnych. MINIX był funkcjonalnym systemem operacyjnym podobnym do Uniksa, ale miał pewne ograniczenia, szczególnie w odniesieniu do systemu plików. W końcu kod źródłowy musiał być na tyle mały, aby zapewnić, że zostanie odpowiednio uwzględniony w jednym semestrze uniwersyteckim. Trzeba było poświęcić część funkcjonalności.

Aby lepiej zrozumieć wewnętrzne działanie Intel 80386 w swoim nowym komputerze zadzwonił student informatyki Linus Torvalds napisał prosty kod przełączający zadania jako ćwiczenie edukacyjne. Ostatecznie ten kod stał się podstawowym proto-jądrem, które stało się pierwszym jądrem Linuksa. Torvalds znał MINIX. W rzeczywistości jego pierwsze jądro zostało opracowane na MINIX przy użyciu kompilatora GCC Richarda Stallmana.

Torvalds zdecydował się stworzyć własny system operacyjny, który przezwyciężył ograniczenia w zaprojektowanym do nauczania MINIX. W 1991 roku zrobił swój słynne ogłoszenie na MINIX Usenet grupa, prosząc o uwagi i sugestie dotyczące jego projektu.

Linux tak naprawdę nie jest klonem Uniksa. Gdyby Linux był klonem Uniksa, byłby to Unix. Nie jest, jest podobny do systemu Unix. Słowo „klon” oznacza, że ​​pewna mała część oryginału została wyhodowana w nowej replice komórka do komórki oryginału. Linux został stworzony od nowa, aby mieć wygląd i działanie Uniksa i spełniać te same potrzeby. To mniej klon, a bardziej replikowany.

Ale tak czy inaczej, Linux był jądrem szukającym systemu operacyjnego; GNU był systemem operacyjnym szukającym jądra. Z perspektywy czasu to, co stało się później, wydaje się nieuniknione. Zmienił także świat.

Kto zajmuje się rozwojem?

Znak Red Hat.

Dystrybucja Linuksa to suma wielu różnych części pochodzących z wielu różnych miejsc. Jądro Linuksa, pakiet podstawowych narzędzi GNU i aplikacje użytkownika są połączone, aby stworzyć realną dystrybucję. I ktoś musi to robić, łącząc, konserwując i zarządzając – tak jak ktoś musi tworzyć jądro, aplikacje i podstawowe narzędzia. Opiekunowie dystrybucji i społeczności każdej dystrybucji odgrywają swoją rolę w ożywianiu dystrybucji Linuksa tak samo, jak robią to programiści jądra.

Linux jest wynikiem rozproszonej współpracy wykonywanej przez nieopłacanych wolontariuszy, takich jak organizacje Kanoniczny i czerwony kapeluszi osoby sponsorowane przez branżę.

Każdy komercyjny Unix jest rozwijany jako pojedynczy, spójny podmiot z wykorzystaniem własnych – lub ściśle kontrolowanych outsourcingu – narzędzi programistycznych. Często mają one unikalne jądro i są zaprojektowane specjalnie dla platform sprzętowych dostarczanych przez każdego producenta.

Wolne i otwarte pochodne strumienia BSD Unix, takie jak FreeBSD, OpenBSD, i DragonBSD, użyj kombinacji starszego kodu BSD i nowego kodu. Są to teraz projekty wspierane przez społeczność i zarządzane podobnie jak dystrybucje Linuksa.

Normy i zgodność

Ogólnie Linux nie jest Pojedyncza specyfikacja systemu Unix (SUS) nor POSIX zgodny. Stara się spełnić oba standardy, nie będąc ich niewolnikiem. Był jeden lub dwa – dosłownie, jeden lub dwa – wyjątki, takie jak Inspur K-UX, chiński Linux zgodny z POSIX.

Prawdziwy Unix, podobnie jak oferty komercyjne, jest zgodny. Niektóre pochodne BSD, w tym wszystkie wersje macOS z wyjątkiem jednej, są zgodne z POSIX. Nazwy wariantów, takie jak AIX, HP-UX i Solaris, są znakami towarowymi należącymi do odpowiednich organizacji.

Znaki towarowe i prawa autorskie

Linux jest zarejestrowanym znakiem handlowym Linusa Torvaldsa. Plik Linux Foundation zarządza znakiem towarowym w swoim imieniu. Jądro Linuksa i podstawowe narzędzia są wydawane pod różnymi wersjami GNU „Copyleft” Ogólne licencje publiczne. Kod źródłowy jest dostępny bezpłatnie.

Unix jest zastrzeżonym znakiem towarowym firmy Otwórz grupę. Jest chroniony prawem autorskim, zastrzeżony i ma zamknięte źródło.

FreeBSD jest chronione prawem autorskim Projekt FreeBSD, a kod źródłowy jest dostępny.

Różnice w użyciu

Z punktu widzenia doświadczenia użytkownika, w wierszu poleceń nie ma dużej widocznej różnicy. Ze względu na standardy i zgodność z POSIX, oprogramowanie napisane w systemie Unix może zostać skompilowane dla systemu operacyjnego Linux przy ograniczonym wysiłku związanym z portowaniem. Na przykład skrypty powłoki mogą być w wielu przypadkach używane bezpośrednio w systemie Linux z niewielkimi modyfikacjami lub bez nich.

Niektóre narzędzia wiersza poleceń mają nieco inne opcje wiersza poleceń, ale zasadniczo ten sam arsenał narzędzi jest dostępny na obu platformach. W rzeczywistości, IBM AIX ma rozszerzenie AIX Toolbox for Linux Applications. Pozwala to administratorowi systemu na zainstalowanie setek pakietów GNU (takich jak Bash, GCC i tak dalej).

Różne smaki Unix mają różne graficzne interfejsy użytkownika (GUI), podobnie jak Linux. Użytkownik Linuksa zaznajomiony z GNOM lub Kumpel będą musieli poczuć swoją drogę przy pierwszym spotkaniu KDE lub Xfce, ale wkrótce to podniosą. Podobnie jest z całą gamą graficznych interfejsów użytkownika dostępnych w systemie Unix, takich jak Motyw, Wspólne środowisko graficznei X Windows System. Wszystkie są na tyle podobne, że każdy, kto zna pojęcia środowiska okienkowego z oknami dialogowymi, menu i ikonami, może po nich nawigować.

Dowiesz się więcej o różnicach podczas administrowania systemami. Na przykład są różne w tym mechanizmy. Pochodne strumieni Unix System V i BSD mają różne systemy inicjalizacji. Wolne warianty BSD utrzymywały schematy startowe BSD. Domyślnie dystrybucje Linuksa będą używać systemu inicjującego pochodzącego z Unix System V lub systemd.

Stick Shift vs. Automatic

Jeśli potrafisz jechać jednym, możesz jechać drugim – nawet jeśli na początku będzie to trochę przestój-start.

Pomijając cenę, różnice w filozofii, licencjonowaniu, modelu rozwoju, organizacji społeczności oraz typie i stylu zarządzania są większe i bardziej znaczące niż różnice we flagach wiersza poleceń między, powiedzmy, jedną wersją programu grep i inne.

Największe różnice nie są tymi, które widzisz na ekranie.