Kernel

In dr Informatik isch dr **Kernel** z Herzstuck vo da meischta Computerbetriebssyschtem. Zu sina Ufgaba ghört, d Ressourca vom Rechner z verwalta und d Kommunikation zwüscha dr Hardware und dr Software z ermöglicha. Als a Basiskomponenta vomana Betriebssyschtem stellt dr Kernel uf tüüfschter Ebeni an Abstraktionsschicht für d Ressourca (speziell Arbetsspeicher, Prozessora und Iigabe/Usgabe-Grät) zur Verfüagig. Dia Schicht wird vo dena Komponenta verwendet, damit sie ihri Funktiona erfülla könnd. Dr Kernel verwaltet dr Zuagriff uf dia Ressourca üblicherwiis dur Interprozess-Kommunikation (IPC) und Syschtemufrüaf (engl. system calls).

All dia Ufgaba werden vo verschiedana Kernel au uf an unterschiedlichi Art erledigt, je noch Ufbau und Implementation. Während an monolithischa Kernel probiert, die Ziel z erreicha, indem er alla Programmcode im glicha Adressberiich usfüahrt, zum d Leischtig vom Syschtem verbessera, laufend d Dianscht vomana Mikrokernel stattdessa hauptsächlich uf Benutzerebeni (engl. user space), was wiederum d Wartig und d Modularität vom Code verbesseret. As exischtieren au verschiedeni Usprägiga zwüscha dena beida Extrem.

## Übersicht

Dia meischta Betriebssyschtem basieren uffem Kernel-Konzept. D Exischtenz vomana Kernel isch di natürlich Konsequenz drvo, as Computersyschtem als a Serie vo Abstraktionsschichta ufzbaua, wobi jedi Schicht uf da Funktiona vo dr nögschtunterschta Schicht basiert. Us dera Sicht isch dr Kernel einfach dr Nama woma dera Abstraktionsschicht git, wo an tüüfschter Stell uf dr Hardware sitzt, aber no in Software implementiert isch. Zum uf an Kernel könna verzichta, müassti ma z ganza Syschtem so ufbaua, dass ma kei Abstraktionsschichta verwenda wür; das würdi dr Syschtemufbau so fescht komplizierter macha, dass ma nur no di eifachschta Syschtem mit vernünftigem Ufwand könnti implementiera.

Was hüt meischtens als *Kernel* bekannt isch, hät früaner au ***Nukleus*** (engl. Nucleus) oder ***Kern*** (engl. Core) gheissa (Allerdings isch dr Begriff *core* au amol für dr Hauptspeicher vomana Computersyschtem verwendet worda, bsunders wil früahi Computer a spezielli Art vo Speicher namens "core memory" brucht hän.)

## Hauptufgaba vomana Kernel

D Hauptufgab vomana Kernel isches, d Ressource vomana Computersyschtem z verwalta und anderna Programm dia Resourca zur Verfüagig z stella. Normalerwiis bestönd dia Ressourca us:
* Am Prozessor (CPU). Das isch dr zentralschti Teil vomana Computersyschtem, uf ihm *laufend* d Programm bzw. sie werdend *usgfüahrt*. Dr Kernel isch drfür verantwortlich z entscheida, welli Programm zu wellera Ziit uffem Prozessor bzw. da Prozessora laufa dürfend.
* Am Hauptspeicher vom Computer (RAM). Speicher wird brucht, zum Programminstruktiona und Data aswo ablegga. Meischtens wend mehreri Programm gliichzitig Zuagriff uf dr Speicher, und oft verlangend sie meh Speicher, als dr Rechner überhaupt hät. Dr Kernel isch jetz drfür verantwortlich, z entscheida wiavil Speicher jedem Prozess zuastoht und was er macha muass, wenn nit gnuag Speicher verfüagbar isch.
* Alli Iigabe/Usgabe-Grät am Computer, wia z. B. Harddisks, Drucker, Bildschirm, Grafikkarta usw. Dr Kernel sammlet d Ufforderiga vo da Programm, dass sie a bstimmtes Grät bruucha dörfend. Au Unterteiliga vo da jewiliga Grät (also a Datei imana Dateisyschtem oder as Fenschter ufama Schirm) werdend verwaltet. Dr Kernel stellt in so Fäll Methoda zur Verfüagig, wianas Programm sonas Grät bruucha kann (normalerwiis isch das so wiit abstrahiert, dass as Programm nit genau wüssa muass, wia dass es das Grät muass asprecha -- d Implementationsdetails bliben also für z Programm verborga und sind unwichtig)

An Kernel stellt normalerwiis au Methoda für d Interprozesskommunikation (IPC) und Synchronisation zwüscha Prozess zur Verfüagig.

An Kernel kann sönigi Funktiona selber implementiera oder sich uf eina vo da andara Prozess verloh, wo dia da andara Prozess wiederum verfüagbar macht. In somana Fall muass dr Kernel aber Mittel zur Verfüagig stella, wia sich die Prozess unteranand per IPC dia entsprechenda Dienst freigäh könnd.

Zu guater letscht muass an Kernel da laufenda Programm a Methoda gäh, zum Aforderiga für dr Zuagriff uf dia Funktiona z stella.

## Quellana

* :en:Kernel (computer science) uf dr englischa Wikipedia.