Co dokładnie mamy na myśli, mówiąc, że używamy Linuksa?

9

Przeglądałem artykuł na temat GNU, który brzmi mniej więcej tak

Naprawdę istnieje Linux i ci ludzie go używają, ale jest to tylko część używanego systemu. Linux to jądro: program w systemie, który przydziela zasoby maszyny innym uruchomionym programom. Jądro jest istotną częścią systemu operacyjnego, ale samo w sobie jest bezużyteczne; może działać tylko w kontekście kompletnego systemu operacyjnego. Linux jest zwykle używany w połączeniu z systemem operacyjnym GNU: cały system to w zasadzie GNU z dodanym Linuksem lub GNU / Linux. Wszystkie tak zwane dystrybucje „Linux” są tak naprawdę dystrybucjami GNU / Linux.

Zawsze uważałem Linux za jądro i system operacyjny, ale wygląda na to, że Linux = jądro Linux i system GNU.

Czy ktoś mógłby wskazać dokładną funkcjonalność każdego z nich w terminologii „Linux”, której używamy w codziennym życiu. Ponadto, zgodnie z wiki, projekt GNU jest podobny do Uniksa, ale różni się od Uniksa tym, że jest wolnym oprogramowaniem i nie zawiera kodu Uniksa. Myślałem, że Unix to opensource. Czyż nie

Aniket Thakur
źródło
2
Jądro Linux jest jak silnik: niezbędny do funkcjonowania samochodu, ale samo w sobie prawie bezużyteczne.
evilsoup

Odpowiedzi:

7

Uważam, że fragment, o którym mowa, znajduje się tutaj na stronie Free Software Foundation (FSF):

Według FSF twierdzą, że Linux jest tylko jądrem. Użyteczny system składa się z jądra + narzędzi, takich jak ls, findpowłoki, itp. Dlatego w odniesieniu do całego systemu należy go nazwać GNU / Linux, ponieważ pozostałe narzędzia wraz z jądrem systemu Linux stanowią kompletny system użytkowy. Mówią nawet o jądrze Unix FSF, Hurd , argumentując, że Hurd i Linux są zasadniczo wymiennymi jądrami w systemie GNU / X.

Uważam, że cały argument jest męczący i myślę, że są lepsze rzeczy związane z naszym czasem. Nazwa to tylko nazwa, a fakt, że ludzie uważają system zawierający oprogramowanie GNU + jądro Linux + inne oprogramowanie nie-GNU za Linuksa lub GNU / Linux jest kwestią gustu i naprawdę nie ma znaczenia w wielkim schemacie rzeczy W rzeczywistości uważam, że ten argument bardziej szkodzi Linuksowi i GNU / Linuxowi, dzieląc społeczność i myląc opinię publiczną, co to właściwie jest.

Więcej niż kiedykolwiek chciałeś wiedzieć na ten temat, spójrz na artykuł w Wikipedii zatytułowany: Kontrowersje dotyczące nazewnictwa GNU / Linux .

Wszystkie uniksowe opensource?

Według mojej wiedzy nie wszystkie Uniksy są oprogramowaniem typu open source. Większość funkcji w Uniksie jest określona tak, że sposób działania jest otwarty, ale konkretne implementacje tej funkcjonalności są otwarte lub nie, w zależności od tego, której dystrybucji są częścią.

Na przykład do niedawna system Solaris, uniksowy, nie był uważany za oprogramowanie typu open source. Dopiero kiedy Sun Microsystem wydał podstawowe komponenty do projektu OpenSolaris, przynajmniej komponenty Solaris stały się open source.

Historia Uniksa

W żadnym wypadku nie jestem ekspertem w tym temacie, dlatego polecam zajrzeć na stronę Unix w Wikipedii, aby uzyskać więcej informacji na ten temat.

Historia Linuksa

Spójrz na schemat linii uniksowej, aby dowiedzieć się, na których uniksach uważa się źródło otwarte, mieszane lub zamknięte.

  ss historii

Uważam też, że projekt osi czasu dystrybucji GNU / Linux jest użyteczny podczas tej rozmowy.

ss osi czasu Linuksa

slm
źródło
2
Żaden system UNIX nie jest oprogramowaniem typu open source, a Linux nie jest systemem uniksowym. W przeciwieństwie do FreeBSD, który jest bezpośrednim potomkiem i kiedyś zawierał kod ATT UNIX, Linux nie ma bezpośredniego połączenia i jest tylko uniksowy. OSX to UNIX.
Rob
1
@Rob FreeBSD nie zawiera już kodu ATT: dzięki temu był wolny. Nie ma mniej lub bardziej roszczeń do nazwy Unix niż Linux, MINIX lub OSF / 1.
Gilles „SO- przestań być zły”
1
@Rob - proszę o odniesienia do strony. Jestem pewien, że nie masz na myśli tego komentarza, który brzmi jak troll, ale jest to co najmniej nieco 8 -) Cała Linux to już debata na temat Uniksa. Zobacz ten wątek: unix.stackexchange.com/questions/4091/is-linux-a-unix . Uważam ten argument za męczący. To jak argumentowanie wymowy pomidora.
slm
@Gilles Dlaczego cokolwiek powiedziałem nie jest prawdą? Dlaczego czułeś potrzebę komentowania?
Rob
@slm Odpowiedziałem tylko na twój komentarz, że „Nie wszystkie uniksy są open source” i prawda jest taka, że ​​uniksy są open source. UNIX to nazwa handlowa, walidacja i certyfikacja. Oznacza to również, że istnieje zgodność POSIX do pewnego stopnia, że ​​Linux i inne systemy nie mogą sprawdzić (ale OSX może). Nie spierałem się o nic poza UNIX-em, a Linux-em nie jest UNIX-em, o czym pisał twój post, iirc. (Nie wiedziałem o poprzednim wątku ani o żadnym innym.
Rob
3

Zwykle to, co zwykle nazywamy systemem operacyjnym, to kombinacja oprogramowania obejmującego jądro , którego zadaniem jest zarządzanie zasobami komputera i niektórymi aplikacjami działającymi na jądrze, zwanymi obszarem użytkownika (zawiera przeglądarki, kompilatory, czytniki pdf, wszystko, co nie jest jądrem, sterownikiem, a może hypervisorem vm).

Na resztę tego pytania nie można odpowiedzieć bez kontekstu historycznego. Richard Stallman ogłosił Projekt GNU 27 września 1983 r. Celem było dostarczenie oprogramowania potrzebnego do opracowania systemu operacyjnego typu UNIX (i towarzyszącego mu obszaru użytkownika) jako wolnego oprogramowania . Do 1992 r. Projekt GNU ukończył prawie wszystkie elementy niezbędne dla ich oprogramowania - z wyjątkiem jednego: jądra. W tym samym czasie Linus Torvalds wypuścił jądro Linuksa (wersja 0.12) jako wolne oprogramowanie, licencjonowane na licencji GPL . Tak więc po raz pierwszy możliwe byłoby uruchomienie komputera składającego się (prawie) całkowicie z wolnego oprogramowania.

Linux (jak wspomniano) jest jądrem i chociaż jest to największa baza oprogramowania, która pozwala na korzystanie z komputera, sama w sobie nie jest zbyt użyteczna. Powinieneś sparować go z aplikacjami (obszar użytkownika), aby go uruchomić. To właśnie robią dystrybucje GNU / Linux, takie jak Debian lub Ubuntu i tym podobne.

Warto wspomnieć, że jądro jest jednocześnie ważne i nieważne. Pozwól mi wyjaśnić. Większość osób korzystających z komputera jest przyzwyczajona do obszaru użytkownika, a nie jądra. Jądro jest w większości przezroczyste i większość ludzi użyłaby innego jądra z tą samą powierzchnią użytkownika i może nawet nie zauważyć różnicy (chyba że są one zależne od funkcji zapewnianej przez określone jądro).

Dlatego, kiedy korzystasz z Linuksa , naprawdę używasz systemu operacyjnego GNU; to jest jądro Linux i obszar użytkownika GNU (GNOME, kolekcja kompilatorów GNU, debuger GNU, GNU Coreutils, binutils GNU itp.). Dlatego FSF nalega na nazwanie go GNU / Linux (moim zdaniem uczciwa prośba).

Możesz oczywiście używać Linuksa bez przestrzeni użytkownika GNU (wskazówka: Android, Busybox ) i oczywiście korzystać z przestrzeni użytkownika GNU na innych jądrach (kfreebsd, hurd itp.).

Jeśli chodzi o Unix, jest to oprogramowanie typu open source i tym podobne, jest to pytanie, które może wymagać sporo kłótni. Można jednak znaleźć kilka przydatnych informacji tutaj

NlightNFotis
źródło
2

Jądro linuksa to program, który wnosi następujące funkcje do systemu operacyjnego:

   obraz mapy jądra systemu Linux

oryginalny link do obrazu: http://www.makelinux.net/kernel_map/

Jądro jest niezbędne, a na dodatek masz narzędzia i całą resztę spakowanego oprogramowania. Różnica między pełnym systemem operacyjnym a jądrem jest równa pozostałej części oprogramowania i temu, jak są tworzone przez opiekunów dystrybucji.

Ci opiekunowie niekoniecznie tworzą całe to dodatkowe oprogramowanie, czasami je montują, modyfikują i łączą, aby zapewnić dzisiejsze wrażenia z Linuksa dla większości ludzi - dodają „smaku”, że tak powiem, i często jest to rodowód do bardzo uznanych dystrybucji, takich jak Debian i Redhat itp. Chodzi o to, że znaczna część początkowych programów narzędziowych i oprogramowania zawartych w dystrybucjach linuksowych obejmuje oprogramowanie, które zostało zaadaptowane z projektu GNU. Wiele z tego oprogramowania zostało zebranych przez projekt GNU przy użyciu ich zasobów, zanim jądro Linuksa zostało nawet wynalezione. I to jest bezpłatne, a wiele z tego oprogramowania pomogło zbudować popularność Linuksa, ponieważ oba były darmowym i otwartym oprogramowaniem połączonym licencją GPL. Ramki libc, Gnome Desktop i kompilator gcc są przykładami oprogramowania zarządzanego przez GNU.

Z pewnością nie jest to trywialne i przyznanie, że nie powinno to być tak polityczne, ale po obu stronach są ludzie, którzy mówią, i jest debata. Niezależnie od praktycznych zastosowań, wiedza na temat historii oprogramowania w dystrybucjach, których używamy i jego twórcach, jest ważnym przedsięwzięciem.

slm
źródło
Czy możesz podać link do oryginalnego obrazu?
heinrich5991
1
@ heinrich5991 - dodałem link do oryginału.
slm