www.wikidata.de-de.nina.az
Ein Kernel englisch ˈkɝːnel ubersetzt Kern auch Betriebssystemkern oder verkurzt Systemkern ist der zentrale Bestandteil eines Betriebssystems In ihm ist die Prozess und Datenorganisation festgelegt auf der alle weiteren Softwarebestandteile des Betriebssystems aufbauen Er bildet die unterste Softwareschicht des Systems und hat direkten Zugriff auf die Hardware Weitere Softwarekomponenten eines Betriebssystems liegen in der Regel in einer ubergeordneten Schicht 1 Die Konstruktion eines Betriebssystem Kernels gehort zum Themenbereich der Informatik und der Softwaretechnik Gangige Anforderungen an einen Kernel sind Parallelverarbeitung verschiedener Aufgaben Multitasking Einhaltung zeitkritischer Grenzen Offenheit fur unterschiedlichste Anwendungen und Erweiterungen Inhaltsverzeichnis 1 Bestandteile 2 Aufgaben 3 Prozesse 4 Starten 5 Arten 6 Trivia 7 Siehe auch 8 Weblinks 9 EinzelnachweiseBestandteile BearbeitenEin Kernel abhangig von der Struktur ist in Schichten oder Layer siehe Schichtenarchitektur aufgeteilt wobei die unteren maschinennahen Schichten die Basis fur die daruber liegenden bilden Die oberen Schichten konnen Funktionen der unteren Schichten aufrufen aber nicht umgekehrt Folgende Schichten sind vorhanden von unten nach oben Schnittstelle zur Hardware Gerate Speicher Prozessoren Speicherverwaltung evtl einschliesslich virtuellem Hauptspeicher Prozessverwaltung auch Scheduler genannt Gerateverwaltung auch Device Management genannt Dateisysteme nbsp Die Struktur von monolithischem Kernel Mikrokernel und Hybridkernel im VergleichWenn alle diese Funktionen im Kernel selbst integriert sind spricht man von einem monolithischen Kernel Bei einem Mikrokernel hingegen finden wesentliche Teile in getrennten Prozessen statt Eine Zwischenstufe stellt der Hybridkernel dar bei dem eine Teilmenge der Funktionen Teil des Kernels und der Rest ausgelagert ist Neben den genannten Varianten existieren zudem Exokernel die sich darauf beschranken die Hardware zwischen den Prozessen aufzuteilen Alle weiteren Schritte werden den Prozessen selbst uberlassen Der Einsatz von Exokerneln ist selten 1 Der Kernel selbst lauft im sogenannten Kernel Mode zusammen mit Geratetreibern und anderen hardwarenahen Anwendungen Der Kernel ist vom Kernel Mode zu unterscheiden Bei Windows NT ist nicht jede Anwendung die im Kernel Mode lauft auch Teil des Kernels So laufen neben dem eigentlichen Kernel ntoskrnl exe noch andere Anwendungen im Kernel Mode z B die Hardware Abstraction Layer hal dll 2 Aufgaben BearbeitenEin Betriebssystem Kernel hat die folgenden Aufgaben Schnittstelle zu Anwenderprogrammen Starten Beenden Ein Ausgabe Speicherzugriff Kontrolle des Zugriffs auf Prozessor Gerate Speicher Scheduler Geratetreiber Speicherschutz Moglichst alleiniger Zugriff des Kernels auf diese Ressourcen Verteilung der Ressourcen wie zum Beispiel der Prozessorzeit bzw der Prozessoren auf die Anwenderprogramme Strukturierung der Ressourcen etwa Abbildung von Dateisystemen auf blockorientierte Gerate wie Festplattenlaufwerke Netzwerkstack auf Netzwerkkarten Auflosung von Zugriffskonflikten etwa Verriegelung bei Mehrprozessorsystemen Warteschlangen bei knappen Ressourcen Virtualisierung der Ressourcen Prozessor Prozesse Festplatte Dateien Netzwerkkarte z B Sockets Speicher virtueller Speicher Gerate Spezialdateien Uberwachung von Zugriffsrechten auf Dateien und Gerate bei Mehrbenutzersystemen 1 Prozesse BearbeitenZur Realisierung eines Betriebssystems wird oft das Konzept des Prozesses Task verwendet Ein Prozess enthalt mindestens einen Registersatz des Prozessors und kann uber den Scheduler angehalten und wieder gestartet werden Jeder Prozess hat kontrollierten Zugriff auf einen Teil des Speichers sowie Ein und Ausgabekanale die auf Dateien oder Gerate zugreifen Mit dem Betriebssystem Kernel kommuniziert er uber Systemaufrufe Ein Programm lauft normalerweise in genau einem in Ausnahmefallen auch in mehreren Prozessen Auch manche Systemdienste laufen innerhalb von Prozessen 1 Starten Bearbeiten Hauptartikel Booten Beim Booten eines Rechners wird nach einem moglichen Hardwarecheck und einer teilweisen Gerate Initialisierung der Kernel mithilfe eines Bootloaders in den Speicher geladen und gestartet Der Kernel initialisiert dann die Gerate vollstandig und startet einen weiteren Prozess 3 4 Bei MS DOS ist das ein Kommandozeileninterpreter bei komplexeren Betriebssystemen eine bestimmte Anwendung Bei unixoiden Systemen ist dies normalerweise a href Init html title Init init a welches alle Systemdienste ladt und gegebenenfalls nach einem Login eine grafische Benutzeroberflache startet Arten BearbeitenKonnen auf einem Kernel mehrere Prozesse gleichzeitig laufen spricht man von Multitasking Kerneln In Wirklichkeit wird jedoch von der CPU immer nur ein Prozess gleichzeitig behandelt ausser bei Mehrkernsystemen Den Wechsel regelt in den meisten Fallen der Scheduler Wird ein Multitasking Kernel durch eine Zugriffsverwaltung auf Prozesse und Gerate erganzt erhalt man ein Multiuser oder Mehrbenutzer System Darauf konnen mehrere Benutzer gleichzeitig arbeiten Jeder Benutzer muss sich einloggen Authentifizierung Der Kernel teilt jeden Prozess einem Benutzer zu ein Benutzer kann mehrere Prozesse besitzen Abhangig vom Benutzer werden Prozessrechte eingeschrankt Der Kernel ist fur die Separation der Prozesse und damit der Benutzer zustandig Obwohl heutige Desktopsysteme in der Regel nur von einem Benutzer gleichzeitig verwendet werden sind sie als Mehrbenutzersystem ausgelegt Zum einen konnen dann mehrere Nutzer mit jeweils eigenen Rechten und Praferenzen das System verwenden und zum anderen besteht die Moglichkeit dass neben dem Nutzer der den Rechner direkt benutzt ein anderer von einem anderen Rechner aus andere Programme ausfuhrt Zusatzlich werden die Systemdienste unter anonymen Benutzern gestartet Jedem Systemdienst und jedem Benutzer konnen dadurch eigene eingeschrankte Zugriffsrechte eingeraumt werden die fur die Arbeit notig sind wodurch sich die Systemsicherheit drastisch erhoht Trivia BearbeitenBei Commodore hiess der Kernel lange Zeit Kernal Geruchten zufolge ergab sich das aus einem Schreibfehler in den Handbuchern zu den Commodore Computern der dann kurzerhand von Commodore als eigener Begriff fur den Kernel erklart und nachtraglich als Backronym umgedeutet wurde Keyboard Entry Read Network And Link Siehe auch BearbeitenWindows NT Kernel Linux Kernel User Mode Linux Kernel based Virtual MachineWeblinks BearbeitenKernel und User Mode bei Windows NTEinzelnachweise Bearbeiten a b c d Andrew S Tanenbaum Herbert Bos Introduction In Modern Operating Systems Nr 4 2015 S 3 84 Mark Russinovich David A Solomon Alex Ionescu In Windows Internals Nr 6 2012 S 47 Rheinwerk Computing Linux 27 Bootstrap und Shutdown Abgerufen am 25 Mai 2017 Rheinwerk Computing Linux 27 Bootstrap und Shutdown Abgerufen am 25 Mai 2017 Kerneltypen Betriebssystem Monolithischer Kernel Hybridkernel Mikrokernel Exokernel Normdaten Sachbegriff GND 4338679 9 lobid OGND AKS Abgerufen von https de wikipedia org w index php title Kernel Betriebssystem amp oldid 228742377