Główne różnice pomiędzy systemami Linux / Unix

0

Witam

Chciałbym dowiedzieć się na czym polegają główne różnice Linux'em a Unix'em oraz dlaczego tak wielu ludzi uważa te systemy za to samo oraz dlaczego Unix jest uważany za bezpieczniejszy. Jest sporo materiałów w internecie ale chciałbym w kilku punktach porównać te dwa systemy. W BSD dostajemy cały system operacyjny w jednym a w Linuxie jest to GNU oraz sam Linux.

1

Hejka, jakie są różnice

  1. Jądro linuxa powstało przez społeczność, Unixa natomiast przez takie firmy jak IBM, HP, Apple, Oracle lub AT&T (BSD)
  2. Przeznaczenie Linux, to jest do programowania i grania, czasem jako serwery, a Unixy to głównie stosuje się do serwerów
  3. System plików
  4. Linux ma Basha, a np. Unixy maja Shella
  5. Architektura

Tak ogólnie, mogę się jednak też i mylić co do niektórych podpunktów, bo jestem tylko człowiekiem :P

0

Dziękuje za jasną odpowiedź czyli wychodzi na to jak kiedyś stawiałem boty na potrzeby IRC i do tego był potrzebny serwerem z shellem to nie był to Linux tylko UNIX ?:)

0

Możliwe, no chyba, że Linuxa mieli ustawione bo na shella, ale wątpie, Zawsze możesz sprawdzić czy to Linux czy Unix poleceniem uname :)

2

Dziękuje za jasną odpowiedź czyli wychodzi na to jak kiedyś stawiałem boty na potrzeby IRC i do tego był potrzebny serwerem z shellem to nie był to Linux tylko UNIX ?:)

Nie, tutaj "shell" to obecnie ogólna nazwa koncepcji dostępu do powłoki. "shell" jako program został dość dawno temu zastąpiony powłoką Bourna (tak w okolicach końca lat 70-tych), a w Linuksie faktycznie głównie używa bash.

Mało prawdopodobne, że korzystałeś z jakiegoś prawdziwego UNIX-a, raczej Linuksa bądź BSD. Choć możliwe, wpisz wspomniany uname i się dowiesz.

0

uname się przyda ale tamtego "shella" nie sprawdzę bo to było w latach 2000 gdzie IRC był bardziej popularny ;) a po serwerach krążyły botnety robiące take-overy ;]

5

Obecnie Linux jak i pozostałe systemy Unikso-podobne rozwijane są zarówno przez firmy jak i przez prywatnych deweloperów (często sponsorowanych przez różne fundacje). Śmiem jednak twierdzić, że jeśli chodzi o udział firm w tworzenie systemu (i finansowy i techniczny) to Linux jest na pierwszym miejscu.

Rzeczywiście, systemy z rodziny BSD dostarczają całość, tj. jądro, userland oraz toolchain, podczas gdy Linux to jądro, do którego musimy mieć jeszcze pozostałe dwa komponenty dostarczane osobno przez różne podmioty.

Co do powłoki to serio... system nie ma tutaj znaczenia. Wybór domyślnego shella to kwestia decyzji organizacji, która tworzy dystrybucję. To że akurat w base-systemie FreeBSD nie ma basha to jest właśnie taki przypadek.

Mac OS jest Unixem (zgodny ze specyfikacją Unixa, prawnie może nazywać się Unixem). Może to będzie zaskoczeniem ale ma basha :P, da się na nim grać, programować, oglądać youtube, rysować itd. Co więcej, głównym zastosowaniem tego systemu nie są serwery.
Linux natomiast do dzisiaj ma trudności z takimi czynnościami jak hibernacja. BSD to już w ogóle... zajmie się takimi drugorzędnymi sprawami chyba
dopiero gdy Linux osiągnie już samoświadomość.
Tak czy inaczej, zdecydowana większość serwerów i superkomputerów śmiga na Linuxie. Niektórzy więksi gracze używają też BSD (np. Netflix) ale to raczej
anomalia niż reguła.

Jeśli chodzi o bezpieczeństwo to cóż, nie jestem ekspertem ale nad Linuxem pracuje znacznie więcej osób, używa go znacznie więcej ludzi i firm, ładowana jest w niego o wiele większa kasa. Stąd wnioskuję, że proporcjonalnie większy będzie nacisk na wysoką jakość zabezpieczeń i szybkie naprawianie dziur.
Przykładowo ASLR na FreeBSD nie znajdziemy podczas gdy Linux działające (bo to też ważne :P) ASLR ma. Wiem, że zeloci OpenBSD pewnie będą mieli inne zdanie co do bezpieczeństwa systemów ale tak jak mówiłem - nie jestem ekspertem więc moje zdanie i tak się nie liczy :P.

Systemy plików to kwestia trochę podobna do tej z powłoką. O ile nie ma problemów licencyjnych i istnieje implementacja to można używać.

Jeśli chodzi o architekturę to też nie bardzo rozumiem. Większość systemów Uniksowych (w tym Linux) to jądro monolityczne z możliwością ładowania modułów.

Niemniej dość tego czepiania się - do meritum.
Ja bym wymienił następujące (IMHO najważniejsze) różnice:

  1. Kod :-)
    To jest fundamentalna różnica między Linuxem, BSD itd. Systemy implementują mniej więcej te same specyfikacje (np. POSIX) ale często w inny sposób. Z punktu widzenia użytkownika czy programisty aplikacji to większość rzeczy wygląda bardzo podobnie, niemniej w środku implementacja jest inna.
    Np. stos sieciowy, na wszystkich systemach robi mniej więcej to samo a w inny sposób (czasem lepszy czasem gorszy :P).

  2. Licencja
    Linux rozprowadzany jest na licencji GNU/GPL ale już np. FreeBSD ma bardziej liberalną licencję i takiego kodu można użyć w komercyjnym produkcie bez konieczności dzielenia się nim z klientem. Oznacza to również, że można dowolnie re-używać kod na licencji BSD i o nic się nie martwić. Stąd niektórzy
    pożyczają sobie to i owo, np. Apple, Microsoft, Sony, Nintendo.

  3. Liczba użytkowników
    O tym już mówiłem. Zdecydowanie największe pieniądze i największe zainteresowanie jest Linuxem.

  4. Możliwości
    Oczywiście każdy system ma swoje wady i zalety. Np. zaletą Mac OS jest to, że działa (przynajmniej na komputerach Apple ;-)). Niemniej, Linux jest bardzo
    intensywnie rozwijany i w wielu kwestiach znacznie przewyższa pozostałe systemy Uniksowe (takie jak BSD). Wystarczy spojrzeć na ilość wspieranych platform, ilość sterowników, rozwiązania do wirtualizacji, power management, ficzery takie jak kexec, skalowalność, itd. itp....
    Co nie zmienia faktu, że niektóre firmy używające np. swojego, customizowanego FreeBSD są zadowolone z jego wydajności, stabilności i bezpieczeństwa. Zmiana na coś innego nie ma dla nich sensu.

3

Chciałbym dowiedzieć się na czym polegają główne różnice Linux'em a Unix'em

To jest źle zadane pytanie. Prawidłowo zadane pytanie to "jakie są główne różnice między Linuksem a xxx" i w miejsce xxx wstaw sobie FreeBSD, inne BSD, iOS, jakieś Solarisy, HP/UX i inną egzotykę o której świat zapomniał.

Oryginalny Unix powstały w latach 70-tych umarł dawno temu. Teraz to są już tylko bardzo dalecy kuzyni, czasami z prawem do używania nazwy Unix (macOS), czasami nie (FreeBSD, Linux); czasami wywodzący się przynajmniej częściowo z oryginalnego kodu Uniksa (BSD), czasami nie (Linux).

na jakiejś dystrybucji linuksa też możesz nie mieć. Bash to tylko jedna z powłok, które możesz miec wymiennie na każdym linuksie/uniksie ect, ba nawet pod windowsem w jakims cygwinie. Bash też jest shellem

Zacznijmy od tego, że w ścisłym sensie Linux to tylko kernel. Pozostałe narzędzia z Bashem włącznie pochodzą z projektu GNU, który z założenia miał być całkowicie odrębnym systemem. Ponieważ kernel GNU był na niekorzystnej licencji vaporware, połączono GNU (narzędzia) z Linuksem (kernelem) - ale to już nie jest sam Linux, tylko „dystrybucja” Linuksa.

FreeBSD zaś jest czymś więcej niż kernel, bo w jego skład wchodzi kernel i userland, czyli właśnie zestaw podstawowych narzędzi (shell, wiele podstawowych poleceń jak ls itp.)

0

@zbb "Wystarczy spojrzeć na ilość wspieranych platform, ilość sterowników, rozwiązania do wirtualizacji, power management, ficzery takie jak kexec, skalowalność, itd. itp...."
A ja zawsze sądziłem że NetBSD. Nawet RedoxOS i OpenIndiana nazywane są systemami uniksowymi.

0

Czyli jak widać różnice nie są tak jednoznaczne i proste w wyjaśnieniu przy tak ogólnym pytaniu ;) No ale sporo się już dowiedziałem.

0

Obecnie Linux jak i pozostałe systemy Unikso-podobne rozwijane są zarówno przez firmy jak i przez prywatnych deweloperów (często sponsorowanych przez różne fundacje).

Warto zaznaczyć, że proporcje wkładu są mniej więcej 80/20. 80% wkładu mają firmy lub deweloperzy pracujący komercyjnie, a 20% lub mniej "społeczność".
http://www.infoworld.com/article/2610207/open-source-software/who-writes-linux--corporations--more-than-ever.html
W wielu otwartych projektach, które osiągnęły sukces, proporcje są podobne.

1 użytkowników online, w tym zalogowanych: 0, gości: 1