Was enthält der virtuelle Kernelspeicher jedes Prozesses?
Wenn beispielsweise 3 Programme (ausführbare Dateien) in den Speicher geladen werden, sieht das Layout möglicherweise so aus:
Alternativtext http://img97.imageshack.us/img97/3460/processesm.jpg
Ich habe folgende Fragen:
Ist das Konzept des virtuellen Speichers auf Benutzerprozesse beschränkt? Weil ich mich frage, wo der Betriebssystemkern, Treiber leben? Wie ist das Speicherlayout? Ich möchte mehr über den Kernel-Side-Memory erfahren. Ich kenne das Betriebssystem Ihrer Wahl (Windows / Linux).
Ist das Konzept des virtuellen Speichers pro Prozessbasis? Ich meine, ist es richtig für mich, 4 GB prozess1 + 4 GB prozess2 + 4 GB prozess3 = 12 GB virtueller Speicher (für alle Prozesse) zu sagen. Das klingt nicht richtig. Oder von insgesamt 4 GB Speicherplatz wird 1 GB vom Kernel belegt und 3 GB werden in allen Prozessen gemeinsam genutzt.
Sie sagen, auf einer 32-Bit-Maschine in einem 4-GB-Adressraum. Die Hälfte davon (oder in jüngerer Zeit 1 GB) ist vom Kernel belegt. Ich kann in diesem Diagramm sehen, dass "Kernel Virtual Memory" 0xc0000000 - 0xffffffff (= 1 GB) belegt. Sprechen sie darüber? oder ist es etwas anderes Ich möchte nur bestätigen.
Wasgenau macht dasKernel Virtual Memory
von jedem dieser Prozesse enthalten? Wie ist das Layout?
Wenn wir IPC machen, sprechen wir über Shared Memory. Ich sehe keinen gemeinsamen Speicher zwischen diesen Prozessen. Wo wohnt es?
Ressourcen (Dateien, Registrierungen in Windows) sind für alle Prozesse global. Die Ressourcen- / Datei-Handle-Tabelle muss sich also in einem globalen Bereich befinden. In welchem Gebiet wäre das?
Wo kann ich mehr über diesen Kernel erfahren?