GeeksforGeeks

Kernel jest centralnym składnikiem systemu operacyjnego, który zarządza operacjami komputera i sprzętu. Zasadniczo zarządza operacjami pamięci i czasem procesora. Jest to podstawowy składnik systemu operacyjnego. Kernel działa jako pomost pomiędzy aplikacjami a przetwarzaniem danych na poziomie sprzętowym, wykorzystując komunikację międzyprocesową i wywołania systemowe.

Kernel ładuje się do pamięci jako pierwszy, gdy system operacyjny jest ładowany i pozostaje w pamięci do czasu ponownego zamknięcia systemu operacyjnego. Jest odpowiedzialny za różne zadania, takie jak zarządzanie dyskami, zarządzanie zadaniami i zarządzanie pamięcią.

Decyduje, który proces powinien zostać przydzielony procesorowi do wykonania, a który powinien pozostać w pamięci głównej do wykonania. Zasadniczo działa jako interfejs pomiędzy aplikacjami użytkownika a sprzętem. Głównym celem jądra jest zarządzanie komunikacją pomiędzy oprogramowaniem, tj. aplikacjami poziomu użytkownika, a sprzętem, tj, CPU i pamięcią dyskową.

Cele jądra :

  • Ustanawianie komunikacji między aplikacjami poziomu użytkownika a sprzętem.
  • Decydowanie o stanie przychodzących procesów.
  • Kontrolować zarządzanie dyskami.
  • Kontrolować zarządzanie pamięcią.
  • Kontrolować zarządzanie zadaniami.

Typy jądra :

1. Kernel monolityczny –
Jest to jeden z typów jądra, gdzie wszystkie usługi systemu operacyjnego działają w przestrzeni jądra. Posiada zależności pomiędzy komponentami systemu. Ma ogromne linie kodu, który jest złożony.

Przykład :

Unix, Linux, Open VMS, XTS-400 etc.
  • Zaleta :
    Ma dobrą wydajność.
  • Wada :
    Ma zależności między komponentem systemu i linie kodu w milionach.

2. Micro Kernel –
Jest to typ jądra, które ma minimalistyczne podejście. Posiada pamięć wirtualną i planowanie wątków. Jest bardziej stabilny z mniej usług w przestrzeni jądra. Resztę umieszcza w przestrzeni użytkownika.

Przykład :

Mach, L4, AmigaOS, Minix, K42 etc.
  • Zaleta :
    Jest bardziej stabilny.
  • Wada :
    Jest wiele wywołań systemowych i przełączników kontekstowych.

3. jądro hybrydowe –
Jest to połączenie zarówno jądra monolitycznego i mircrokernel. Posiada szybkość i konstrukcję jądra monolitycznego oraz modularność i stabilność mikrokernela.

Przykład :

Windows NT, Netware, BeOS etc.
  • Zaleta :
    Łączy w sobie zarówno jądro monolityczne jak i mikrokernel.
  • Wada :
    Jest wciąż podobny do jądra monolitycznego.

4. Exo Kernel –
Jest to typ jądra, który podąża za zasadą end-to-end. Posiada najmniejszą możliwą liczbę abstrakcji sprzętowych. Przydziela fizyczne zasoby do aplikacji.

Przykład :

Nemesis, ExOS etc.
  • Zaleta :
    Ma najmniej abstrakcji sprzętowych.
  • Wada :
    Więcej pracy dla programistów aplikacji.

5. Nano Kernel –
Jest to typ jądra, który oferuje abstrakcję sprzętową, ale bez usług systemowych. Micro Kernel również nie posiada usług systemowych dlatego Micro Kernel i Nano Kernel stały się analogiczne.

Przykład :

EROS etc.
  • Zaleta :
    Oferuje abstrakcję sprzętową bez usług systemowych.
  • Wada :
    Jest całkiem taki sam jak Micro Kernel stąd jest mniej używany.
Tagi artykułów :

Tagi związane z praktyką :

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *