Linux, jako wyprowadzenie UNIX, oczywiście ma wiele wspólnego z BSDS. Podobnie jak BSD, rozkłady Linux są również bezpłatne i otwarte source. Pomimo podstawowych podobieństw, Linux w dużej mierze przyćmił BSD, a ponad 74% nowoczesnych smartfonów jest opartych na Linuksie.
To nasuwa pytanie: czy BSD i Linux są tylko iteracją badań Unix, co dokładnie je różni?
Cóż, różnice między tymi dwoma są podstawy, a różnice są bardzo wiele. Ale przeczytanie ich wszystkich w jednym poście byłoby dość żmudne dla czytelników. Dlatego ten post skupi się wyłącznie na podstawach i zostawi skomplikowane szczegóły ze względu na zwięzłość i nie zastraszać nowych czytelników.
Ale czym jest Linux?
Pierwszą rzeczą, że wiele osób się mylił, jest to, że Linux jest jądrem, a nie systemem operacyjnym. To sprawia, że jest to tylko część systemu operacyjnego, a nie samego systemu operacyjnego.
Omówmy jądra na sekundę. Jądra służą jako punkt obrotowy w dowolnym systemie operacyjnym, ponieważ zachowuje cały kod podstawowy, na którym stoi ten system operacyjny. Umożliwia i przyspiesza interakcję między komponentami sprzętu i oprogramowania systemu, zarządza żądaniami wejściowymi/wyjściowymi do i z aplikacji i jest odpowiedzialny za obsługę urządzeń sprzętowych.
Krótko mówiąc, jądro jest najbardziej integralną cechą każdego systemu operacyjnego, na którym opiera się, a zatem jest wycofywane do wysoce ochronnej części w pamięci systemu, w której odmawiane są wszystkie żądania dostępu z aplikacji, zabroniono kilku integralnym do działania systemu.
Teraz, gdy rozumiemy, czym jest jądro, możemy przejść dalej i zobaczyć, co Linux, jako jądro, robi w systemie operacyjnym.
Jądro Linux w systemie operacyjnym
Wśród najpopularniejszych systemów operacyjnych opartych na systemie Linuksa są Debian, Ubuntu, Fedora i Deepin. Więc ilekroć słyszysz, że ktoś mówi, że używa Linuksa, wiedz, że jest to jedna z tych dystrybucji. Te dystrybucje są „oparte na systemie Linux”, ponieważ są zbudowane na jądrze Linux. Ulepszenie do jądra wraz z nowymi załadowanymi do niego aplikacjami sprawiają, że każdy dystrybucja jest inna niż inna.
Co to jest BSD i jak różni się od Linux?
Jak wspomniano wcześniej, różne rozkłady BSD to wszystkie systemy operacyjne. I to sprawia, że BSD, podobnie jak Linux, jądro.
Ale aby się skomplikować, BSD jest również samodzielnym systemem operacyjnym, którego nie jest Linux. Wyjaśnijmy, jak dokładnie.
W przypadku dystrybucji BSD do jądra BSD dodaje się kilka programów. Ta kombinacja jest następnie wydawana jako samodzielny, kompletny pakiet, który należy zainstalować, a rzecz jest gotowa. Tak więc podstawowa różnica między rozkładami BSD, takimi jak FreeBSD, OpenBSD itp., wynika z programów dodanych do systemu operacyjnego jądra. Aby pobrać dodatkowe pakiety oprogramowania, użytkownicy BSD używają systemu Ports, który utrzymuje te pakiety w formie źródłowej. Kod źródłowy jest kompilowany przez system za każdym razem, gdy oprogramowanie jest uruchamiane. Chociaż może to okazać się uciążliwe, szczególnie podczas pracy dłużej, bardziej skomplikowane kody, systemy BSD mogą całkowicie pominąć krok kompilacji po każdym uruchomieniu, jeśli program jest zainstalowany w stanie binarnym, w ten sposób łagodząc proces w znacznym stopniu.
Linux różni się od BSD pod względem, że każda z jego dystrybucji wykorzystuje zupełnie inne programy, a dystrybucje nie mają scentralizowanego repozytorium dla pakietów oprogramowania, ponieważ każda dystrybucja ma własne repozytorium.
Różnice w licencjonowaniu
Jedną z podstawowych różnic między BSD i Linuksem jest system licencjonowania, w ramach którego są wydawane.
Po pobraniu oprogramowania z repozytorium portów w BSD lub instalacji dystrybucji jako całości, oprogramowanie lub dystrybucja jest przydzielana na podstawie licencji BSD, która jest niestandardowym systemem licencji stosowanym przez programistów BSD. Podczas gdy BSD jest teraz całkowicie otwarty i bezpłatny, system licencjonowania BSD pozwala programistom zadeklarować BSD zamknięte. Jako użytkownik FreeBSD nie masz prawa do dalszych wydań od deweloperów BSD. Jednak deweloperzy BSD upublicznili, że mają wszelkie zamiar utrzymania go w przyszłości.
Dystrybucje Linux są wydawane w ramach Licencji Publicznej GNU (GPL). W ramach tego systemu licencjonowania programiści Linux są prawnie zmuszeni do uwolnienia każdego przykładu zmian wprowadzonych w jądrze Linux. System licencjonowania w zasadzie zapewnia, że Linux pozostaje open source, bez względu na zmiany w samym jądrze.
Dlaczego Linux jest bardziej popularny? (Spoilery: dostępność oprogramowania)
Jeśli zastanawiałeś się nad tym czasem, dlaczego nie słyszałeś o BSD tak bardzo, jak słyszysz o dystrybucjach Linuksa, oto dlaczego: jeśli chodzi o kompatybilność oprogramowania, Linux wyrzuca go z parku. Dla każdego oprogramowania znajduje się wersja kompatybilna z Linux. Nie jest tak w przypadku FreeBSD, który pozostaje w dużej mierze zaniedbany z tego powodu.
Kernel Linux upoważnia programy i dystrybucja programów w porównaniu z innymi jądrem, więc programiści są naturalnie skłonni do pracy w kierunku wydawnictw Linux. Szczególnie dystrybucja jest jeszcze łatwiejsza dzięki wstępnie zainstalowanemu systemowi opakowań binarnych, który ułatwia. Linux umożliwia pobieranie i instalowanie pakietów oprogramowania za pośrednictwem menedżerów pakietów, takich jak Apt, Yum, Pacman itp.
W porównaniu z dystrybucją oprogramowania w systemie Linux, użytkownicy BSD mają to dużo trudności. Pakiety oprogramowania są najpierw pobierane jako kody źródłowe w BSD za pośrednictwem systemu portów. Te kody źródłowe są następnie kompilowane za każdym razem, gdy są uruchamiane, proces, który jest czasochłonny i frustrujący we współczesnym wieku, w którym oprogramowanie jest instalowane za kliknięciem przycisku. Jest to równie frustrujące dla programistów, ponieważ muszą oni włożyć wiele wysiłku, aby skompilować tak szybko, jak to możliwe.
Chociaż wprowadzenie wstępnie skompilowanych pakietów binarnych w dużej mierze złagodziło proces uzyskiwania oprogramowania w FreeBSD, dostępność oprogramowania nadal pozostaje ogromnym problemem dla BSD.
Wybór między Linux i BSD
Oprócz bardziej głównego nurtu systemu Windows i iOS, rozkłady Linux są skokowe i graniczą przed innymi systemami operacyjnymi. Jest bezpłatny, open source i ma wszystko do zaoferowania, że FreeBSD ma, bez zastrzeżeń.
BSD i Linux są o wiele bardziej powszechne niż różne, a licencjonowanie i dystrybucja oprogramowania są jedynymi podstawowymi różnicami. Mimo podobieństw używanie jednego jest kompromisem innego.
Z jednej strony FreeBSD utrzymuje bibliotekę narzędzi i zależności we wszystkich dystrybucjach, ułatwiając programistom iterację treści i wymyślają własne zastosowania. W tym miejscu FreeBSD ma znaczącą przewagę nad Linuks.
Ale z drugiej strony brak kompatybilności i dostępności oprogramowania poważnie utrudnia doświadczenie z FreeBSD. Problem ten można rozwiązać za pomocą pakietu kompatybilności Linux, który umożliwia działanie oprogramowania Linux na rozkładach BSD, ale jest to jeden dodatkowy krok, który wciąż utrudnia to doświadczenie.
Jeśli chodzi o licencję, licencja Linux GPL jest znacznie bardziej restrykcyjna niż licencja BSD. Deweloperzy lub użytkownicy nie mogą dokonywać wariantów jądra Linux lub kodu sourcecode. Użytkownicy BSD nie mają takich obowiązków; stąd programiści powinni przynajmniej wypróbować BSD. Utrzymanie prywatnego kodu źródłowego jest znaczącą zaletą, której Linux nie zapewnia.
Licencjonowanie dystrybucji Linux jest stronnicze na korzyść użytkowników, ponieważ potwierdza, że każdy rozwój ulepszenia aplikacji dla systemu zostanie udostępniony użytkownikom. Z drugiej strony licencjonowanie BSD jest bardziej podobne do standardowego licencjonowania, umożliwiając użytkownikom instalację BSD za darmo, ale nie trzymając programistów, aby upublicznić swoje treści.
Nasze zalecenie
Zalecamy dystrybucję Linux, jeśli chcesz go używać do celów ogólnych. Jego kompatybilność oprogramowania jest wystarczającym powodem, abyśmy go polecić. Jeśli jednak jesteś producentem, BSD jest dla Ciebie odpowiednią opcją. Ma scentralizowane repozytorium oprogramowania i jest dobrze odpowiada dla jego niezawodności. A jeśli chodzi o licencjonowanie BSD, nie będziesz musiał się martwić o to, aby Twoja praca jest typu open source.
Jeśli zdecydowałeś się na jądro Linux, zalecamy użycie Ubuntu. Jest regularnie aktualizowany co sześć miesięcy, co, moim zdaniem, stanowi doskonałą równowagę między nadążaniem za problemami z bezpieczeństwem a nie frustrującym użytkowników.
A jeśli zdecydujesz się na jądro BSD, zalecamy FreeBSD, który jest w ogóle najczęściej używanym dystrybucją BSD.