CPU ringe und kernel

oyster-manu

oyster-manu

toast
hallo
bei intel und amd-cpus gibt es ja versch. ringe (ich glaube ring0 - ring3). im ring0 sitzt der kernel des betriebsystems, in ring 1 der rest.
- woher weiss die CPU, dass die daten die er bekommt, der kernel is (bzw. von ihm stammen) und diese somit in ring0 lässt? es könnte ja sonst jedes andere programm beim boot in ring0 geschrieben werden.
- wie schafft es der kernel nicht von anderen programmen aus ring0 vertrieben zu werden?
- kann man unter linux auch die äußersten ringe (ring2, 3) benutzen. wofür würde man die dann benötigen?

lg
manu
 
danke für den artikel.
leider beantwortet der artikel nicht meine erstenb eiden fragen (und die letzte auch nur halb). hast du vllt noch mehr material zu dem thema?

lg
manu
 
Hallo,
nein, ich habe mich noch nie damit beschaeftigt und auch keine weiteren Daten dazu.
Ich denke mal, dass man beim booten alles Moegliche in ring0 geschrieben kann, z.B. Windows, Linux, *BSD, .... Wenn Du was von Bootsequenzen verstehst, kannst Du sicher auch Programme schreiben, die irgendeinen Bloedsinn machen, wenn Du sie nur bootbar machst. Aber das ist meine naive Vorstellung, wie gesagt, Ahnung habe ich davon keine.

Weiter in meiner naiven Vorstellung empfaengt der Kernel die Anweisungen von laufenden Programmen und entscheidet dann, was er damit macht - ein 'segmentation fault' ist bestimmt eine Antwort des Betriebssystems, nicht der Hardware.

Tut mir leid, wenn das nicht weiter hilft, ich dachte nur, weil so lange keine geantwortet hatte, gebe ich wenigstens meinen kleinen Senf dazu ab.
 
so in der art hab ichs mir auch vorgestellt :)

wäre aber trotzdem nett von nem "experten" mehr erfahren zu können.
 
fast 40€ für die antwort zu bezahlen ist mir zu teuer.
 
Zurück
Oben