(Już zauważyłem, że pytanie to zostało zadane wcześniej, ale myślę, że nie udzielono na nie odpowiedzi w sposób, który chciałbym zrozumieć.)
Jakie są koncepcyjne i strukturalne różnice między a
- Jądro Linux
- Jądro BSD (powiedzmy FreeBSD)
Chociaż na koniec dnia są to oba jądra - przypuszczam, że mogą istnieć różnice w strukturze, funkcjonalności i specjalizacji. W jakich scenariuszach jeden rodzaj jądra miałby przewagę nad drugim? (Serwer sieci Web, baza danych, komputery itp.)
Czy są jakieś wspólne wysiłki w celu skoncentrowania sił na jednym wspólnym jądrze lub niektórych modułach, czy byłoby to i tak bezcelowe?
PS: Różne rodzaje licencji lub metody wysyłki / pakowania / utrzymania nie mają znaczenia w tym kontekście. Naprawdę interesuje mnie zrozumienie, jak różnią się one pod względem strukturalnym, funkcjonalnym / funkcji i specjalizacji.
źródło
Odpowiedzi:
1. Jakie są koncepcyjne i strukturalne różnice między jądrem Linux a jądrem BSD?
Jeśli chodzi o architekturę i wewnętrznych struktur, istnieją różnice oczywiście od tego, jak rzeczy są zrobione (tj: LVM vs GEOM , wczesnej i kompleksowej więzienia funkcji dla FreeBSD, ...), ale ogólnie rzecz biorąc nie istnieje, że wiele różnic między nimi:
Istnieją jednak fundamentalne różnice w ich podejściu i historii:
Jak napisano gdzie indziej :
2. W jakich scenariuszach jeden rodzaj jądra miałby przewagę nad drugim?
Jeśli chodzi o ogólną strukturę i koncepcję, porównując prawie waniliowe jądro Linuksa i jądro FreeBSD, są one mniej więcej tego samego ogólnego poziomu użytkowania , to znaczy bez specjalizacji (nie w czasie rzeczywistym, niezbyt równoległe, nie zorientowane na grę, niewbudowane, ...).
Oczywiście istnieje kilka różnic tu i tam, takich jak natywna obsługa ZFS lub architektura geom dla FreeBSD w porównaniu z wieloma sterownikami lub różnymi systemami plików dla Linuksa. Ale tak naprawdę żadne ogólne oprogramowanie, takie jak serwery sieciowe lub bazy danych, nie zrobiłoby prawdziwej różnicy. Porównania w tych przypadkach najprawdopodobniej zakończyłyby się bitwą tuningową między nimi, nic poważnego.
Jednak niektórzy twierdzą, że OpenBSD ma głębokie i spójne podejście do bezpieczeństwa, podczas gdy zahartowane dystrybucje Linuksa są „tylko” zmodyfikowanymi wersjami waniliowego jądra Linuksa. Może tak być w przypadku tak mocno wyspecjalizowanego systemu, w którym Steam-OS byłby numerem jeden do grania w gry.
3. Czy podejmowane są wspólne wysiłki w celu skoncentrowania sił dla jednego wspólnego jądra lub niektórych modułów?
Nie ma wspólnych wysiłków, aby skoncentrować siły dla jednego wspólnego jądra, ponieważ istnieją poważne licencje, kwestie filozoficzne lub podejścia.
Jeśli istnieją pewne prawdziwe wspólne wysiłki, takie jak OpenZFS , w większości przypadków chodzi raczej o sterowniki i koncepcje wzięte lub zainspirowane od siebie.
źródło
Częściowa odpowiedź dotycząca kilku punktów
Wiele opcji jest często postrzeganych jako zła rzecz, gdy na zewnątrz patrzy się na rozwój open source, ale pomyśl o tym, jak w naturze, istnieje wiele gatunków (często) danego rodzaju zwierząt, na przykład pingwiny. Jest 17 . Każdy z nich specjalizuje się w określonym zestawie wymagań, podobnie jak w projektach typu open source (zazwyczaj). Dobór naturalny zajmie się wyeliminowaniem otwartego oprogramowania, które z czasem będzie mniej trafne.
Byłoby to trochę bezcelowe, czasami jest to powielanie wysiłku, ale ludzie, którzy pracują nad tymi komponentami, również nie robią tego w próżni. Rozejrzą się wokół tego, co robią inni, a jeśli istnieje podejście lub algorytm, włączają je, gdy ma to sens.
Nie mogę rozmawiać o różnicach w strukturze innych twoich pocisków, ale pomyślałem, że rozwiążę przynajmniej 2 z nich.
źródło