Blog (30)
Komentarze (6.3k)
Recenzje (0)

Systemy z rodziny BSD i ich miejsce na rynku

@dragon321Systemy z rodziny BSD i ich miejsce na rynku02.07.2016 01:11

Do napisania jakiegoś wpisu o systemach z rodziny BSD przymierzałem się już jakiś czas. Jest to wpis ogólny traktujący o aktualnej sytuacji systemów BSD na rynku oraz moich przemyśleń na ich temat. Nie obędzie się też bez ociupiny historii – bowiem pewnie mało kto wie skąd się w ogóle wzięły systemy z rodziny BSD i ogólnie sporo tzw. uniksów? Zatem zaczynajmy.

Historia

Oto diagram ukazujący historie Uniksów. Zielony kolor oznacza otwarty kod, żółty mieszankę otwartego z komercyjnym a czerwony zamknięty.
Oto diagram ukazujący historie Uniksów. Zielony kolor oznacza otwarty kod, żółty mieszankę otwartego z komercyjnym a czerwony zamknięty.

Unix powstał w 1969 roku w Bell Labs(należących wtedy do AT&T). Jego autorami byli Dennis Ritchie, będący także twórcą języka programowania zwanego C i Ken Thompson. Tworząc Uniksa autorzy wykorzystali wiele nowatorskich pomysłów. Unix został w późniejszym czasie przepisany na język C, wbrew panującemu przekonaniu, że coś takiego jak system operacyjny powinno być pisane w asemblerze, co ułatwiło jego przenoszenie na inne platformy. Twórcy Uniksa przy jego tworzeniu wykorzystali regułe KISS (ang. Keep It Simple Stupid), stworzoną przez amerykańskich inżynierów wojskowych w latach 60. XX wieku. W latach siedemdziesiątych i osiemdziesiątych zdobył dużą popularność, co przyczyniło się do powstania wielu odmian i implementacji. Jedną z nich jest właśnie BSD.

Odmiana Uniksa zwana BSD (ang. Berkeley Software Distribution), zwany też czasem Berkeley Unix) wywodzi się ze stworzonych na Uniwersytecie Kalifornijskim Berkeley rozszerzeń dla systemu rozwijanego przez firmę AT&T. Jest to też nazwa dla licencji systemów z rodziny BSD. Niedługo po powstaniu pierwszych wersji Uniksa dr Bob Fabry z Berkeley starał się pozyskać nowy system dla uniwersyteckiego laboratorium i dzięki jego staraniom Unix został zainstalowany na komputerach PDP-11, które w tym czasie były w Berkeley. Niedługo po tym, Ken Thompson zainstalował na uczelnianym komputerze PDP-11 i napisał kompilator języka Pascal. W latach 1975-76 Bill Joy i Chuck Haley doskonalili kompilator, a także jądro systemu operacyjnego, a swoje poprawki odsyłali do Bell Labs. Te i inne poprawki stały się podstawą do wypuszczenia 1st Berkeley Software Distribution. Prace były kontynuowane nadal i niedługo później powstałą ostateczna wersja 2.11BSD dla PDP-11. W tym czasie Uniwersytet otrzymał komputer VAX-11/780, na którym został zainstalowany system AT&T 32/V. System ten jednak miał na tyle mankamentów, że Bill Joy podjął decyzje o przeniesieniu na niego BSD.

W roku 1979 powstał VAX/BSD, który oprócz dodatków z systemu BSD zawierał także zarządzanie pamięcią wirtualną, czego brakowało w systemie AT&T, a także kilka narzędzi z tego systemu. Wkrótce po tym Unix stał się produktem komercyjnym. BSD rozwijał się dalej, a zainteresowanie nim rosło i rosło. W 1980 roku dostał grant na dodanie wymaganych przez DARPA rozszerzeń, gdyż agencja zaczęła się interesować BSD. Wersja 4.1 zawierała ulepszoną obsługę poczty, ulepszone jądro, Pascala, Lispa oraz nowych VAX-ów. Agencja była usatysfakcjonowana i sfinansowała dalsze prace, co zaowocowało dodanie Berkeley Fast File System, obsługi TCP/IP oraz IPC. BSD był jednym z pierwszych systemów obsługujących TCP/IP, a jego implementacja bywała przenoszona do wielu innych systemów(swego czasu korzystał z niej nawet Microsoft). Wersja 4.2 okazała się sporym sukcesem, gdyż na podstawie jej kodu AT&T włączyła obsługę sieci i pamięci wirtualnej do słynnego System V. BSD leciał dalej z każdą wersją wprowadzając nowe rzeczy – wersja 4.3 jako pierwsza zawierała daemona nazw świeżo zainicjowanego systemu DNS. Jak grzyby po deszczu wyrastały też komercyjne i wolne systemy bazujące na BSD. Jednym z najważniejszych jest 386BSD, który był pierwszą próbą przeniesienia Uniksa z Berkeley na coraz popularniejszą platformę IA-32. Niestety dynamiczny rozwój BSD został brutalnie przerwany po wydaniu wersji 4.4, która to padła ofiarą pozwów o wykorzystanie kodu zastrzeżonego przez AT&T, a potem(po sprzedaniu USL) – Novella.

Proces na długi czas zahamował rozwój uniksów BSD. Niektóre z nich(jak np. słynny 386BSD) upadły. Proces spowodował także wydanie wersji 4.4BSD Lite, która była uboższą wersją 4.4 pozbawioną większości spornego kodu, która ostatecznie została uznana za wolną od roszczeń. Później ukazała się ostatnia wersja 4.4BSD Lite2, której kod stał się podstawą nowszych wersji pokrewnych systemów(FreeBSD 3.0, NetBSD 1.3 czy OpenBSD 2.3) oraz nigdy nie ukończonego Rhapsody firmy Apple Computer. Oto niektórzy członkowie rodziny BSD, którzy istnieją do dzisiaj i są w ciągłym rozwoju: FreeBSD, NetBSD, OpenBSD, Darwin(czyli OS X, który niedawno zmienił nazwę na macOS), FreeNAS itd. Systemy z rodziny BSD nie są jednak jedynymi uniksami jakie są dzisiaj dostępne. Popularność Uniksa przyczyniła się do powstania wielu odmian – jedną z nich jest Minix, na wzór którego Linus Torvalds stworzył Linuksa – najpowszechniej stosowany dzisiaj system uniksopodobny.

Sytuacja obecna

Nie tylko Linux ma swoją maskotkę. Oto BSD Daemon(zwany też Beastie) – maskotka systemów BSD od końcówki lat 80.
Nie tylko Linux ma swoją maskotkę. Oto BSD Daemon(zwany też Beastie) – maskotka systemów BSD od końcówki lat 80.

Obecnie najpopularniejsze systemy z rodziny BSD to: OS X(macOS), FreeBSD, OpenBSD, NetBSD, FreeNAS oraz DragonFlyBSD. Same systemy BSD bywają niepoprawnie nazywane Linuksami, bądź dystrybucjami Linuksa, pomimo że nie mają z nim wiele wspólnego. Na bazie FreeBSD powstały takie systemy jak DesktopBSD, PC-BSD czy ubuntuBSD, które celują w desktop, w nieobeznanych użytkowników. Systemy z rodziny BSD(nie licząc OS X) w wielu sprawach zostały wyparte głównie przez Linuksa. Najpopularniejszym wolnym przedstawicielem tej rodziny wydaje się FreeBSD. FreeBSD, który w latach 90 był znacznie górą nad sporo słabszym Linuksem, obecnie jest do tyłu. Jednakże FreeBSD i inne systemu z tej rodziny ciągle się rozwijają i są wierne tradycji Uniksowej, którą Linux w ostatnich latach coraz częściej ośmielał się łamać. Chodzi tu głównie o zasadę KISS, która w Linuksie coraz częściej odpada na rzecz bardziej monolitycznych rozwiązań(jak np. systemd). Linux i większość systemów BSD różnią się nie tylko pochodzeniem(można je uznać za dalekich kuzynów), ale także licencją – wspomniana na początku poprzedniego punktu licencja BSD daje sporo więcej swobody, niż licencja GPL Linuksa. Pozwala bowiem nie tylko na modyfikowanie kodu, ale także na rozprowadzanie go w formie binarnej, a także włączanie do zamkniętego kodu pod warunkiem zachowania informacji o autorach oryginalnego kodu. Wolność ta bywa niestety bardzo często nadużywana – np. firma Sony wykorzystała FreeBSD jako podstawę do stworzenia systemu na swoje konsole PlayStation, dając w zamian projektowi bardzo niewiele. Licencja GPL Linuksa pomimo że mniej wolna, to jednak chroni jądro przed takimi praktykami – bowiem GPL jest licencją wirusową i przechodzi na pokrewne projekty, które wykorzystują kod GPL. Linux posiada dość spore wsparcie komercyjne, którego tak brak wolnym systemom BSD.

Osoby chcące dzisiaj zainstalować wolnego uniksa BSD spotkają się z problemami ze sterownikami oraz z oprogramowaniem. Choćby karta graficzna – jedyny producent, który wydaje swoje sterowniki na ten system to nVidia, w przypadku AMD i Intela jesteśmy skazani na sterowniki przeportowane z Linuksa, które są sporo do tyłu względem tych w Linuksie, który ciągle przecież pędzi naprzód. Sytuacja jest trochę lepsza w systemie DragonFlyBSD, który zawiera nowsze wersje linuksowych sterowników. Nawet po bezproblemowym zainstalowaniu spotkamy się z brakami oprogramowania, bowiem masę jest oprogramowania dostępnego dla Linuksa, którego nie ma dla FreeBSD. Wprawdzie ten ma wbudowaną zgodność z ABI Linuksa i pozwala użyć jego aplikacji, to jednak wymaga to pewnej wiedzy oraz kombinacji. Oprogramowania natywnego dla FreeBSD jest niewiele. Nie bez powodu mówi się, że FreeBSD się nie nadaje na desktop, gdyż jest to system serwerowy, bądź do zastosowań specjalnych. I faktycznie, bowiem system ten jest świetnie skalowany, lekki oraz bezpieczny. W odpowiednich rękach jest to twierdza niemalże nie do przejścia. Składają się na ten fakt czynniki takie jak wysoka jakość kodu źródłowego i niska popularność. Bardzo popularny jest FreeNAS, który bazuje na FreeBSD. Warto wspomnieć, że systemy BSD nie posiadają problemu fragmentacji – FreeBSD(a także OpenBSD, NetBSD itd.) to jest pełny system operacyjny, a nie tylko jądro, jak Linux. Bardzo ważnym faktem jest to, że FreeBSD obsługuje system ZFS. Nie bez znaczenia też jest bardzo dobra dokumentacja systemów z rodziny BSD, na bieżąco uaktualniania(np. OpenBSD). Można więc się śmiało pokusić o stwierdzenie, że wolne systemy BSD to profesjonalne systemy operacyjne, nie przeznaczone dla Kowalskich. Sporym nadużyciem jest stwierdzenie, że BSD nic nie wniósł do rynku IT. Stos TCP/IP używany przez wiele projektów później, a także ogólna popularyzacja Uniksa.

Podsumowanie i spojrzenie na przyszłość

PC-BSD czyli BSD dla Kowalskiego. Zawsze znajdą się użytkownicy.
PC-BSD czyli BSD dla Kowalskiego. Zawsze znajdą się użytkownicy.

Systemom BSD bardzo często był przepowiadany upadek. Jednakże ich społeczność nadal je rozwija i małymi krokami idzie naprzód. Systemy BSD raczej nie zawojują desktopu – tutaj liczy się tylko Windows, w sporo mniejszym stopniu OS X, a jeszcze w mniejszym Linux. Te systemy ze względu na swoje cechy mają jednak szanse na serwerach, bądź w zastosowaniach specjalistycznych – nie są tak dużymi projektami jak Linux, są więc lżejsze, łatwiej skalowane i mają bardziej liberalną licencje. Obsługa dojrzałego systemu ZFS daje możliwość zastosowania FreeBSD w serwerach gdzie wymagana jest spora niezawodność i bezpieczeństwo danych. NetBSD posiada ogrom portów na różne architektury sprzętowe – ten system łatwo przenosić na nowe architektury. OpenBSD ma opinie bezpiecznego, gdyż jego deweloperzy bardzo duży nacisk kładą na bezpieczeństwo. Dzisiaj jednak sytuacja systemów BSD jest dość ciężka, podobna do sytuacji Linuksa na desktopie. Większy i silniejszy monopolista zagarnął większą część rynku i raczej szybko nie padnie. Można się śmiało pokusić o stwierdzenie, że Linux to taki Windows w open source – zagarnął większość tortu i nie daje się nikomu przebić. Historia Linuksa i BSD pokazuje jednak, że rynek zawsze może się drastycznie zmienić – wkońcu w latach dziewięćdziesiątych nikt nie uważał Linuksa za jakąkolwiek konkurencje dla innych uniksów. Ba, sam Torvalds stwierdził:

„If 386BSD had been available when I started on Linux, Linux would probably never had happened.” - Gdyby 386BSD był dostępny kiedy zaczynałem pracę nad Linuksem, prawdopodobnie Linux nigdy by nie powstał.

To, do czego przywyknęliśmy dzisiaj wcale nie musi być identyczne za 10, bądź 20 lat. Kto wie co się wydarzy za te 20 lat? Któż potrafi odgadnąć sytuacje na rynku IT w 2036 roku? Historia BSD świetnie też pokazuje jak wpływ na rozwój danych technologii mają korporacje i różne instytucje. To właśnie korporacje oraz instytucje pomogły BSD rozwinąć skrzydła, by ostatecznie zakończyć jego szybki postęp poprzez procesy. Kto wie jak dzisiaj prezentowałby się rynek, gdyby nie pozwy o kod 4.4BSD?

Źródła

Diagram historii Uniksów

Maskotka BSD

Zrzut ekranu PC-BSD

Źródło wiedzy

Jedna z zalet BSD, mianowicie bardzo dobra dokumentacja została przytoczona przez użytkownika parranoya, za co mu dziękuje. Sam zapomniałem o tym napomknąć.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.