Oczywiście skorupa.
Oryginalna metafora, która przyniosła nam w tym celu słowo „jądro”, jest zbyt często zapominana. Metafora jest taka, że system operacyjny to ziarno lub orzech. „Jądro” zarodka jest rdzeniem systemu operacyjnego, zapewniającym usługi systemu operacyjnego programom aplikacyjnym, otoczonym „powłoką” zarodka, którą widzą użytkownicy 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 odmian w różnych systemach operacyjnych. Nie tylko te odmiany stanowią „powłokę” (która może obejmować system Solaris sh
, interpreter poleceń konsoli Netware, powłokę roboczą OS / 2 i Eksploratora Windows NT), ale istnieje również duża wariancja między systemami operacyjnymi w co jest i nie jest częścią „jądra” (który może, ale nie musi, obejmować na przykład dyskowe operacje we / wy). Najlepiej pamiętać, że te terminy są metaforami .
Istnieją inne terminologie. W terminologii komputerów mainframe IBM „jądro” w metaforze „seed / nut” nazywa się programem sterującym . Inne nazwiska obejmują przełożonego , monitor , rdzeń i kierownictwo . Rdzeń to kolejna dość oczywista metafora biologiczna. Ciekawe, że tak samo jest inna nazwa. Harvey M. Deitel w swoich systemach operacyjnych nazywa program kontroli jądrem i mówi
Jądro zwykle stanowi niewielką część kodu tego, co powszechnie uważa się za cały system operacyjny [...]
Słowo „jądro” pochodzi z jądra łacińskiego i oznacza jądro orzecha (por. Łac. Nux , co oznacza „orzech”). Zatem nawet nazwanie programu sterującego „jądrem” w rzeczywistości czyni tę samą analogię do systemu operacyjnego jak orzech. Jest to analogia używana nie tylko w systemach operacyjnych. Jeśli na przykład znasz chemię, będziesz wiedział, że jądro atomowe jest otoczone przez elektrony w skorupkach .
To, co pseudonim new123456
pisze poniżej, ilustruje błędy wynikające z zapomnienia początków tych metafor w zakresie, w jakim pomija się część całości, a jądro całego systemu operacyjnego. Bycie programem „użytkownika” nie czyni powłoki mniej zewnętrzną częścią systemu operacyjnego ani nie ogranicza jej do jądra. Co więcej, nie jest to pomysł tylko na DOS, który nie dotyczy Uniksa poza wersją 7, ten pomysł jest zarówno rozpowszechniony, jak i aktualny w świecie Uniksa.
(To ironiczne, że new123456
myli to z DOSizmem. Metafora jądra / powłoki była dość obca DOS-owi we wczesnych latach, co faworyzowało procesor poleceń i podobne, od CP / M. Podobnie jak wcześniej CP / M, MS-DOS był podzielony do podstawowego systemu operacyjnego dysku (BDOS), podstawowego systemu wejścia-wyjścia (BIOS - nie oprogramowanie systemowe, uwaga), procesora poleceń i narzędzi porządkowych . Kod został tak naprawdę spakowany w pliki w ten sposób. To kolejny na przykład, w jaki sposób metafora jądra / powłoki tak naprawdę nie pokrywa się z rzeczywistymi podziałami w wielu systemach operacyjnych lub nie pokrywa się z nimi ).
new123456
zapomina, co napisał Deitel o jądrze będącym częścią całego systemu operacyjnego. System operacyjny to zarówno jądro, jak i powłoka. To przecież metafora. Deitel też nie jest sam. Istnieje wiele książek o Uniksie wyjaśniających metaforę Uniksa jako orzecha, począwszy od lat 80. Polecam Teams Yourself FreeBSD Urbana i Tiemanna w ciągu 24 godzin (SAMS, ISBN 9780672324246), z tego prostego powodu, że na stronie 54 ma schemat ilustrujący metaforę systemu operacyjnego jako zarodka, i - co zaskakujące - jest jednym z kilka książek, aby to zrobić.
Nazwa „jądro” jest prawdopodobnie starszą nazwą; z pewnością wcześniejszy niż Unix, co sprzyja terminologii jądra / powłoki, która dziś - prawdopodobnie w niemałej części dzięki Unixowi - jest bardziej rozpowszechniona. Oto, co zawiera książka Alana C. Shawa z 1974 r. Logiczne projektowanie systemów operacyjnych (Prentice-Hall, ISBN 9780135401125), na przykład:
Ta część systemu, która stale przebywa w głównej pamięci, była historycznie nazywana jądrem . Jądro zwykle składa się z minimalnego zestawu prymitywów i procesów do zarządzania procesami, zasobami i danymi wejściowymi.
Shaw też ma schemat. ☺
@
gdzieś, wspominając moją nazwę użytkownika, aby została opublikowana w mojej kolejce odpowiedzi.Inne części systemu operacyjnego obejmują sterowniki, które współdziałają z jądrem, istnieje kilka warstw programów pomocniczych, które zajmują się interfejsem użytkownika, obsługą sieci i innymi podstawowymi częściami systemu operacyjnego, które znajdują się między jądrem a rzeczywistą aplikacją.
Aby dać przykład, pokazałem strukturę OS X , jak widać na górze jądra (jasnoniebieski), przed tobą leży kilka warstw „podstawowej” funkcjonalności, narzędzi systemowych, usług i interfejsów API (Application Programming Interface) nawet przejść do GUI, z którym zwykle pracujesz w samych aplikacjach.
Większość systemów operacyjnych ma podobną strukturę, ale istnieje szeroki zakres różnic w odniesieniu do tego, ile faktycznie stanowi część jądra. Zobacz artykuł w Wikipedii na temat mikrokerneli dla porównania.
EDYCJA - aby odpowiedzieć na twój komentarz (mój komentarz był trochę długi)
Ty mógł uruchomić tylko jądro Linux, ale nie będzie w stanie osiągnąć naprawdę dużo, to wszystkie te aplikacje pomocnicze, które zapewniają cały interfejs, który można zobaczyć i wykorzystanie.
Po uruchomieniu jądra (i zainicjalizowaniu sprzętu) spróbuje przekazać go innym częściom systemu operacyjnego GNU / Linux, które zapewniają funkcjonalność uruchamiania usług (takich jak UDEV, w którym znajdują
/dev
się surowe interfejsy urządzeń do programów takich jak dyski twarde i porty szeregowe itp.) oraz programy do konfiguracji sieci ( dhcpcd ) i interfejsów API, takich jak X.org, aby aplikacje mogły wyświetlać okna i ikony za pośrednictwem Menedżera okien, takiego jak GNOME lub KDE .Ale tak, możesz po prostu uruchomić samo jądro, po prostu siedziałoby tam z napisem „Uruchomiłem, co teraz?” skłonić.
źródło