Jaka jest różnica między Unixem, Linuksem, BSD i GNU? [Zamknięte]


27

Jaka jest bardzo podstawowa różnica między Unixem, Linuksem, BSD i GNU? Unix był najwcześniejszym systemem operacyjnym, więc termin „Unix like” jest zrozumiały, ponieważ mają jądro, strukturę systemu plików, większość poleceń, użytkowników itp. Są takie same jak Unix. Nadal dlaczego się różnią? Co ich wyróżniało? Czy to jądro?


2
Prawdopodobnie odpowiedź na to pytanie brzmi: Czy wszystkie polecenia uniksowe zostały przepisane w systemie Linux? .
CVn

Odpowiedzi:


31

To trudne pytanie.

Pierwszy „Unix Like” lub „* nix” zwykle oznacza POSIX. Wszystkie wymienione systemy są systemami POSIX. POSIX to zestaw standardów do wdrożenia.

Teraz trudniejsze pytania.

GNU nie jest tak naprawdę systemem operacyjnym. To raczej zbiór zasad lub filozofii rządzących wolnym oprogramowaniem, które jednocześnie zrodziły wiele narzędzi podczas próby stworzenia systemu operacyjnego. Narzędzia GNU są więc w zasadzie otwartymi wersjami narzędzi, które już istniały, ale zostały przerobione, aby były zgodne z zasadami otwartego oprogramowania. GNU / Linux to siatka tych narzędzi i jądra Linuksa, które tworzą kompletny system operacyjny, ale są też inne „GNU”. Na przykład GNU / Hurd.

Unix i BSD to „starsze” implementacje POSIX, które są różnymi poziomami „zamkniętego źródła”. Unix jest zwykle całkowicie zamkniętym źródłem, ale jest tyle smaków Unixa, co Linux, jeśli nie więcej. BSD zwykle nie jest uważane przez niektórych za „otwarte”, ale tak naprawdę jest o wiele bardziej otwarte niż cokolwiek innego, co istnieje. Licencja jest również dozwolona do użytku komercyjnego z dużo mniejszymi ograniczeniami, ponieważ dozwolone są bardziej „otwarte” licencje.

Linux jest nowością. Ściśle mówiąc, jest to „tylko jądro”, jednak ogólnie jest uważane za pełny system operacyjny w połączeniu z GNU Tools i wieloma innymi rzeczami.

Główną różnicą rządzącą są ideały. Unix, Linux i BSD mają różne ideały, które wdrażają. Wszystkie są POSIX i wszystkie są w zasadzie wymienne. Rozwiązują niektóre z tych samych problemów na różne sposoby. Więc poza ideałami i tym, jak decydują się na wdrożenie standardów POSIX, różnica jest niewielka.

Aby uzyskać więcej informacji, sugeruję przeczytanie krótkiego artykułu na temat tworzenia GNU, OSS, Linux, BSD i UNIX. Będą nachyleni w kierunku swoich indywidualnych pomysłów, ale kiedy przeczytasz, dostrzeżesz różnice.

Ten schemat genealogiczny Uniksa wyraźnie pokazuje historię Unixa, BSD, GNU i Linuksa ( z Wikimedia ):

Schemat genealogiczny Unixa


Uwaga: nie wszystko jest POSIX. np. zobacz man unimplemented(może być IIRC man security) w systemie GNU / Linux.
strugee,

Strugee ma rację. Nie są w pełni zgodne, ale starają się być. Nie jestem jednak pewien, jak wykorzystać to w odpowiedzi. Uniksopodobny jest również technicznie inny niż POSIX, ale ogólnie, gdy ludzie mówią, że Unix-Like mają zwykle na myśli POSIX.
coteyr

1
Kilka informacji uzupełniających w tym pytaniu i odpowiedziach .

nie, programiści jądra Linux nigdy nie zamierzają być zgodni z POSIX. Zapominam, gdzie to przeczytałem (szukałem na stronach podręcznika, ale nie mogłem go znaleźć), ale są pewne wywołania systemowe, które nigdy nie zostaną wdrożone ze względów bezpieczeństwa.
strugee,

Wierzę, że GNU pierwotnie miało być systemem operacyjnym.
Faheem Mitha,

14

Linux nie jest systemem operacyjnym, to jądro. Linux sam w sobie nie ma środowiska użytkownika (bez aplikacji, bez poleceń, bez ... itd ...).

Jeśli chcesz mieć pełny system operacyjny, musisz dodać obszar użytkownika do jądra. Historycznie dla Linuksa jest to GNU. Wszystkie (?) Dystrybucje Linuksa nie są dystrybucjami „prawdziwymi Linux”. Są to dystrybucje GNU / Linux (GNU + Linux).

BSD jest „uniksowym” kompletnym systemem operacyjnym, z własnym jądrem i własną przestrzenią użytkownika (bez jądra Linuksa ani GNU).

GNU / Linux i rodzina * BSD (FreeBSD, OpenBSD i NetBSD) to system operacyjny „uniksowy”, zachowują się jak Unix.

Oto porównanie (GNU) / Linux i * BSD: http://www.freebsd.org/doc/en/articles/explaining-bsd/comparing-bsd-and-linux.html


twój link nie działa
Anthon

@Anthon to działa
Prvt_Yadav
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.