011
26.08.2004, 20:14 Uhr
Hans
Library Walker (Operator)
|
Hi Windalf,
das heisst übersetzt, das Du aus Deinem Programm heraus erst mal nix weiter machen kannst, als auf der Ebene zugelassen ist, auf der Dein Programm läuft. Wenn Du dagegen aber einen Treiber hast, der auf unterster Systemebne läuft, also da, wo ein Taskswitcher von der Logik her hin gehört, kannst Du alles machen. Du weist doch hoffentlich ein wenig über die Struktur der x86er Prozessoren bescheid, oder? Falls nicht, hier mal ganz kurz: Intel hat da dieses Ringmodell definiert, und in der Prozessorhardware eingebaut. Da gibt es 4 Ringe (0..3) auf denen jeweils bestimmte Aktionen erlaubt sind, oder nicht. Ring 0 ist der unterste, auf dem alles erlaubt ist, d.h. da darf jeder Befehl ausgeführt werden. Ring 3 ist der, auf dem die meisten Einschränkungen gelten. - d.h. da ist es z.B. nicht erlaubt, bestimmte Befehle auszuführen. Ein BS soll normalerweise auf den Ringen 0 bis 2 Angeordnet sein, Anwendungsprogramme sollen auf Ring 3 laufen. Treiber auf Ring 0 oder 1. So ungefähr hab ich das jedenfalls mal gelesen. AFAIK nutzt Windows aber nur die Ringe 0 und 3 und die Zwischenebenen sind ungenutzt. Nähere Infos dazu wirst Du wohl nur in der einschlägigen Literatur zur Assemblerprogrammierung oder zur Treiberentwicklung finden. - Oder auf entsprechenden Homepages, wie z.B. bei Intel oder AMD.
Hans
P.S. um meinem Titel gerecht zu werden...
Das Assembler-Buch von T.E. Podschun -- Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung. Dieser Post wurde am 26.08.2004 um 20:18 Uhr von Hans editiert. |