Co to jest jądro systemu operacyjnego? Czym różni się od systemu operacyjnego? [Zamknięte]

147

Nie jestem w stanie zrozumieć różnicy między jądrem a systemem operacyjnym. Nie widzę między nimi żadnej różnicy. Czy jądro jest systemem operacyjnym?

Xinus
źródło

Odpowiedzi:

74

Techniczna definicja systemu operacyjnego to „platforma składająca się z określonego zestawu bibliotek i infrastruktury dla aplikacji, które mają być budowane i współdziałają ze sobą”. W tym sensie jądro to system operacyjny.

Definicja użytkownika końcowego zwykle dotyczy „pakietu oprogramowania, który udostępnia pulpit, skróty do aplikacji, przeglądarkę internetową i odtwarzacz multimedialny”. Jądro nie pasuje do tej definicji.

Tak więc dla użytkownika końcowego dystrybucja Linuksa (powiedzmy Ubuntu) to system operacyjny, podczas gdy dla programisty samo jądro Linuksa jest całkowicie poprawnym systemem operacyjnym w zależności od tego, co próbujesz osiągnąć. Na przykład systemy wbudowane to głównie jądro z bardzo małą liczbą wyspecjalizowanych procesów działających na nich. W takim przypadku samo jądro staje się samym systemem operacyjnym.

Myślę, że możesz wyznaczyć granicę, czego wymaga większość aplikacji działających na tym systemie operacyjnym. Jeśli większość z nich wymaga tylko jądra, jądrem jest system operacyjny, jeśli większość z nich wymaga uruchomionego systemu X Window, wówczas system operacyjny staje się jądrem X +.

Sedat Kapanoglu
źródło
6
Definicja użytkownika końcowego zwykle dotyczy „pakietu oprogramowania, który udostępnia pulpit, skróty do aplikacji, przeglądarkę internetową i odtwarzacz multimedialny”. Jądro nie pasuje do tej definicji. Tylko dlatego, że ktoś nie ma pojęcia, czym jest system operacyjny, nie oznacza, że ​​jego definicja jest ważna.
DIMMSum
1
@dimmsum to nie tylko potoczna definicja. systemy operacyjne były sprzedawane i sprzedawane użytkownikom jako takie.
Sedat Kapanoglu
Czy mógłbyś wskazać mi taki marketing? Widziałem, jak dostawca systemu operacyjnego mówi, że zapewnia platformę, na której mogą działać wszystkie tego typu programy, ale system operacyjny nie zawiera tych programów. Jeśli połączysz te dwa, mówisz dosłownie o całym systemie, więc definicja traci swoje znaczenie.
DIMMSum
1
@dimmsum Rozumiem twój punkt widzenia i dlatego podałem dwie różne definicje. może powinienem nazwać to „zrozumieniem”? Myślę, że użytkownicy końcowi, zwłaszcza w czasach, gdy systemy operacyjne były sprzedawane w pudełkach, inaczej rozumieją, czym jest system operacyjny i jest to bezpośrednio związane z tym, jak systemy operacyjne są utowarowione. Windows XP Box obiecał zupełnie inną transakcję niż definicja techniczna, na to chciałem zwrócić uwagę.
Sedat Kapanoglu,
1
@dimmsum, więc w informatyce jest system operacyjny, a na półkach sklepu technologicznego jest inny system operacyjny. oba są systemami operacyjnymi z różnych perspektyw. chciałem podkreślić tę różnicę.
Sedat Kapanoglu,
73

Jądro jest częścią systemu operacyjnego, który pośredniczy dostępu do zasobów systemowych. Odpowiada za umożliwienie wielu aplikacjom efektywnego współdzielenia sprzętu poprzez kontrolowanie dostępu do procesora, pamięci, dysków we / wy i sieci.

System operacyjny to jądro oraz aplikacje, które umożliwiają użytkownikom wykonanie jakiejś czynności (np. Kompilator, edytor tekstu, menedżer okien itp.).

Erich Douglass
źródło
18
Czy kompilatory i edytory tekstu rzeczywiście są częścią systemu operacyjnego? Word to wspaniały edytor tekstu - czy to część systemu operacyjnego?
jon-hanson
6
Nie dostaję „System operacyjny to jądro plus aplikacje”, ale jeśli zainstaluję aplikację, powiedzmy Word Perfect, to nie powinno się to liczyć jako część systemu operacyjnego, prawda?
Celeritas
7
@Celeritas Trochę za późno na imprezę, ale nie, ta zainstalowana aplikacja nie będzie liczona jako część systemu operacyjnego. „Aplikacje” to w rzeczywistości narzędzia systemowe, które są dostarczane z systemem operacyjnym. Wszystkie inne instalowane oprogramowanie / aplikacje znajdują się na warstwie powyżej.
hashcode55
Szło ci dobrze, dopóki nie napisałeś uwagi w nawiasach w drugim akapicie. System operacyjny obsługuje żądania sterowania sprzętem wysyłane przez te aplikacje. Tak więc system operacyjny zawiera jądro, sterowniki urządzeń i wszelkie inne oprogramowanie / oprogramowanie układowe, które konkretnie kontroluje sprzęt na najniższym poziomie.
Bob
42

Wydaje się, że oryginalna metafora, która dała nam do tego słowo „jądro”, została zapomniana. Metafora jest taka, że ​​system operacyjny to ziarno. „Jądro” ziarna jest rdzeniem systemu operacyjnego, dostarczającym usługi systemu operacyjnego aplikacjom, które jest otoczone „powłoką” ziarna, którą użytkownicy widzą z zewnątrz.

Niektórzy ludzie chcą powiązać „jądro” (a nawet „powłokę”), aby być bardziej szczegółowym. Ale tak naprawdę istnieje wiele różnic między systemami operacyjnymi. Nie najmniej te warianty stanowią „powłokę” (która może wahać się od Solaris, shpoprzez Interpreter poleceń konsoli Netware, do powłoki Workplace Shell OS / 2 i Eksploratora Windows NT), ale istnieje również wiele rozbieżności między jednym systemem operacyjnym a innym w co jest, a co nie jest częścią „jądra” (które może na przykład zawierać dyskowe operacje we / wy lub nie).

Najlepiej pamiętać, że te terminy to metafory .

Dalsza lektura

JdeBP
źródło
Miły. Jednak twoja odpowiedź jest dosłownie zaczerpnięta z „Dalszej lektury”. Teraz wiem, jak zdobyć wiele głosów za poprzez kopiowanie i wklejanie. LOL. Mimo to nadal pomocny.
lacostenycoder
18

Cóż, istnieje różnica między jądrem a systemem operacyjnym. Jądro, jak opisano powyżej, jest sercem systemu operacyjnego, które zarządza podstawowymi funkcjami systemu operacyjnego, podczas gdy jeśli do jądra zostaną dodane przydatne aplikacje i narzędzia, cały pakiet staje się systemem operacyjnym. Można więc łatwo powiedzieć, że system operacyjny składa się z przestrzeni jądra i przestrzeni użytkownika.

Możemy więc powiedzieć, że Linux jest jądrem, ponieważ nie obejmuje aplikacji takich jak narzędzia systemu plików, systemy okienek i pulpity graficzne, polecenia administratora systemu, edytory tekstu, kompilatory itp. Tak więc różne firmy dodają tego rodzaju aplikacje do jądra linuxa i zapewniają swój system operacyjny, taki jak ubuntu, suse, centOS, redHat itp.

n.zia
źródło
9

System operacyjny to ogólna nazwa nadana wszystkim elementom (interfejs użytkownika, biblioteki, zasoby), które składają się na system jako całość.

Jądro jest „mózgiem” systemu operacyjnego, który kontroluje wszystko, od dostępu do dysku twardego po zarządzanie pamięcią. Kiedy tylko chcesz coś zrobić, przechodzi przez jądro.

Kyle
źródło
8

Jądro jest częścią systemu operacyjnego, a nie samym systemem operacyjnym. Zamiast zagłębiać się w to, co robi jądro, odniosę się do strony wikipedii: http://en.wikipedia.org/wiki/Kernel_%28computing%29 . Świetny, dokładny przegląd.

danben
źródło
3
Meh, spróbuj zamiast tego pierwszego zdania en.wikipedia.org/wiki/Operating_system . System operacyjny ma formalnie zadanie pośredniczenia w dostępie do ograniczonych zasobów (w przybliżeniu wszystkiego na komputerze), a jądra monolityczne dokładnie to robią (mikro jądra zrzucają część tej pracy na procesy, ale te są nadal dystrybuowane wraz z jądrem). Od przyszłych programistów jądrem jest system operacyjny. Użytkownicy mogą liczyć na powłokę lub inne interfejsy, ale to są użytkownicy . Pamiętaj, że systemy operacyjne działają na wszystkim, od super komputerów po każdy wbudowany widget, który musi robić dwie rzeczy.
dmckee --- kociak byłego moderatora
Chodzi ci więc o to, że NIEKTÓRE systemy operacyjne same są jądrem lub że części systemu operacyjnego, z którymi użytkownik wchodzi w interakcje, nie są częścią systemu operacyjnego?
danben
Ponadto „pierwsze zdanie en.wikipedia.org/wiki/Operating_system” mówi „System operacyjny (OS) jest interfejsem między sprzętem a użytkownikiem…”, więc nie rozumiem, dlaczego rozróżniasz to, co użytkownik wchodzi w interakcję z nim i resztą.
danben
7

jądro jest częścią systemu operacyjnego, jest to pierwsza rzecz, którą program ładujący ładuje na procesor (dla większości systemów operacyjnych), jest to część, która łączy się ze sprzętem, a także zarządza tym, jakie programy mogą robić, co z sprzęt, to tak naprawdę centralna część systemu operacyjnego, składa się ze sterowników, sterownik to program, który łączy się z określonym sprzętem, na przykład: gdybym zrobił aparat cyfrowy do komputerów, musiałbym zrobić sterownik do niego, sterowniki są jedynymi programami, które mogą sterować wejściem i wyjściem komputera

noah
źródło
3

Prosta odpowiedź

Jądro jest rdzeniem systemu operacyjnego. Niekoniecznie jest to system operacyjny sam w sobie.

Wszystko inne jest wokół niego zbudowane.

Zaawansowana definicja

Jądro (przetwarzanie) - Wikipedia

Justin Niessner
źródło
Czy więc system operacyjny jądra jest bez sterowników?
Xinus,
1
Nie ... większość jąder łączy różne elementy systemu operacyjnego (nie tylko sterowniki).
Justin Niessner
2

W informatyce „jądro” jest centralnym elementem większości komputerowych systemów operacyjnych; jest pomostem między aplikacjami a rzeczywistym przetwarzaniem danych na poziomie sprzętowym. Do obowiązków jądra należy zarządzanie zasobami systemu (komunikacja między komponentami sprzętowymi i programowymi). Zwykle jako podstawowy składnik systemu operacyjnego jądro może zapewnić najniższy poziom abstrakcji dla zasobów (zwłaszcza procesorów i urządzeń we / wy), które oprogramowanie aplikacji musi kontrolować, aby wykonywać swoje funkcje. Zwykle udostępnia te udogodnienia procesom aplikacji za pośrednictwem mechanizmów komunikacji między procesami i wywołań systemowych.


źródło
2

Jądro może być systemem operacyjnym lub może być częścią systemu operacyjnego. W Linuksie jądro jest ładowane i wykonywane jako pierwsze. Następnie uruchamia inne bity systemu operacyjnego (takie jak init), aby system był użyteczny.

Jest to szczególnie prawdziwe w środowisku mikro-jądra. Jądro ma minimalną funkcjonalność. Wszystko inne, takie jak systemy plików i TCP / IP, działa jako proces użytkownika.

Richarda Penningtona
źródło
A co z jądrem w języku skryptowym takim jak Ruby? Na przykład, jeśli masz zainstalowany Ruby, możesz uruchomić to z terminala * nix ruby -e "puts Kernel.methods"i zobaczysz wiele zdefiniowanych metod.
lacostenycoder
2

Jądro rezyduje w systemie operacyjnym. W rzeczywistości jest to przestrzeń pamięci przeznaczona specjalnie do obsługi funkcji systemu operacyjnego. Niektórzy mówią nawet, że system operacyjny obsługuje zasoby systemu, a jądro jest sercem systemu operacyjnego i utrzymuje, zarządza i utrzymuje ścieżkę systemu operacyjnego.

Raj
źródło