OS-Dev für Einsteiger — Änderungen 6223 → 6224

Zeile 118: Zeile 118:
 
Was sind nun also die Funktionen, die ein Kernel im Allgemeinen bietet?
 
Was sind nun also die Funktionen, die ein Kernel im Allgemeinen bietet?
  
−
* [[Speicherverwaltung]]: Programme und höchstwahrscheinlich auch der Kernel selbst müssen zur Laufzeit dynamisch Speicher reservieren können. Die Speicherverwaltung im Kernel arbeitet üblicherweise nicht mit beliebigen anforderbaren Größen, sondern mit Blöcken von 4 Kilobytes, sogenannten ''Speicherseiten'' (engl. ''Pages''). Man unterscheidet dabei zwischen [[Speicherverwaltung#Physische_Speicherverwaltung | physischer]] und [[Speicherverwaltung#virtuelle_Speicherverwaltung | virtueller Speicherverwaltung]].
+
* [[Speicherverwaltung]]: Programme und höchstwahrscheinlich auch der Kernel selbst müssen zur Laufzeit dynamisch Speicher reservieren können. Die Speicherverwaltung im Kernel arbeitet üblicherweise nicht mit beliebigen anforderbaren Größen, sondern mit Blöcken von 4 Kilobytes, sogenannten ''Speicherseiten'' (engl. ''Pages''). Man unterscheidet dabei zwischen [[Speicherverwaltung#Physische_Speicherverwaltung | physischer]] und [[Speicherverwaltung#virtuelle_Speicherverwaltung | virtueller Speicherverwaltung]].  
 +
** Ein anschauliches Beispiel zur Implementierung einer physischen Speicherverwaltung wird im '''[[Teil_7_-_Physische_Speicherverwaltung|siebten Artikel]]''' der Reihe "OS-Dev für Einsteiger" gegeben
 
* [[Prozessverwaltung]]: Ein Betriebssystem hat diese Bezeichnung nur verdient, wenn es Programme ausführen kann. Zur Prozessverwaltung gehören Funktionen wie das Starten und Beenden von Prozessen, aber im weiteren Sinne auch [[Multitasking]], also das Umschalten zwischen den einzelnen Prozessen. Neben [[Prozess|Prozessen]] möchtest Du eventuell auch [[Thread|Threads]] unterstützen.
 
* [[Prozessverwaltung]]: Ein Betriebssystem hat diese Bezeichnung nur verdient, wenn es Programme ausführen kann. Zur Prozessverwaltung gehören Funktionen wie das Starten und Beenden von Prozessen, aber im weiteren Sinne auch [[Multitasking]], also das Umschalten zwischen den einzelnen Prozessen. Neben [[Prozess|Prozessen]] möchtest Du eventuell auch [[Thread|Threads]] unterstützen.
 
* [[Interprozesskommunikation]]: Je nach Architektur des Betriebssystem extrem wichtig bis erstmal völlig nebensächlich. Es geht dabei darum, dass zwei Programme Informationen austauschen können, z.B. durch Senden von Nachrichten oder Aufruf von Funktionen des anderen Programms.
 
* [[Interprozesskommunikation]]: Je nach Architektur des Betriebssystem extrem wichtig bis erstmal völlig nebensächlich. Es geht dabei darum, dass zwei Programme Informationen austauschen können, z.B. durch Senden von Nachrichten oder Aufruf von Funktionen des anderen Programms.