Der Speicherbereich von meinem Kernel und meinen Modulen geht von 0x0 bis 0x20000000, und ist also 512 MB groß. Darein werden alle Module gemappt. Da sie eh Just-In-Time compiliert werden sollen, kann ich sie gleich an eine freie Stelle laden und linken. Wenn du deine Module nicht Just-In-Time linkst, kannst du ja z.B. ELF Relocateables benutzen, und sie zur Laufzeit linken. Alle Module nutzen die selben Segmente, ich nutze nur 4 Segmente, jeweils eins für Kernel Code und Kernel Daten und eins für Usermode Code und Usermode Daten. Ich versuche aber, möglichst viel in Kernelmode Threads auszulagern, was nicht so Performancekritisch ist, um so Kernelspeicher zu sparen.