81
OS-Design / Re: IPC - Popup-Threads
« am: 07. January 2012, 22:50 »
Hallo,
Was Du immer mit Deinem zusammenhängen Speicher willst verstehe ich nicht. Mir fällt auf einem aktuellen PC mit einem Flat-Memory-OS absolut kein Grund ein physisch zusammenhängenden Speicher zu benötigen, nebst dessen dass das IMHO nichts mit der konzeptionellen Aufteilung des virtuellen Kernel-Space zu tun hat.
Grüße
Erik
Damit gibst du ja den großen Vorteil von Paging auf nämlich das Umgehen der Fragmentierung des physischen Speichers.Da hast Du mich wohl miss verstanden. Ich meine nicht das der Kernel wirklich in dem 1:1 gemappten Teil selber lebt sondern der Kernel benutzt den Rest seines virtuellen Kernel-Space (deshalb darf der physische Speicher nur einen Teil des Kernel-Space belegen) so wie alle anderen Kernel auch, er nutzt nur den 1:1 Teil um darin z.B. die PDs zu manipulieren. In jedem Prozess-Descriptor benötigt man doch die physische Adresse des jeweiligen PD-Roots, die kommt ja schließlich auch ins CR3, und wenn man da einfach die statisch festgelegte virtuelle Start-Adresse des 1:1 Bereichs drauf addiert kann man das gesamte PD manipulieren wie man will (die enthaltenen physischen Adressen auf die untergeordneten Tabellen-Ebenen kann man wieder einfach mit einer Addition in eine gültige virtuelle Kernel-Space-Adresse umwandeln). Da alle Prozess-Descriptoren im normalen virtuellen Kernel-Space liegen (und damit aus jedem Kontext erreichbar sind) kann man auch immer an jedem beliebigen PD was ändern. So beliebte Tricks wie das der letzte Eintrag im Root-PD auf sich selbst zeigt damit in den letzten 4MB das PD und alle PTs enthalten sind ist damit hinfällig, dieser Trick hat ja auch wieder den Nachteil das damit immer nur das aktuelle PD manipulierbar ist.
Was Du immer mit Deinem zusammenhängen Speicher willst verstehe ich nicht. Mir fällt auf einem aktuellen PC mit einem Flat-Memory-OS absolut kein Grund ein physisch zusammenhängenden Speicher zu benötigen, nebst dessen dass das IMHO nichts mit der konzeptionellen Aufteilung des virtuellen Kernel-Space zu tun hat.
Grüße
Erik