Kann ein C-Point die MMU umgehen?

Gast #1905295
Lesenswert?

Nein, da jeder Pointer auch durch die MMU gejagt wird.

Nur das Betriebssystem kann auf das PageDirectory und die PageTables 
zugreiffen. Es sei denn es sperrt sich selbst aus (Ja, das ist 
theoretisch möglich). :D

Viele Grüße
Sebihepp
Gast #1905482
Lesenswert?

Danke für eure Beiträge

Das Thema kam nämlich gestern bei einen Dozenten auf. Er meinte das man 
mit einem C Programm einen ganzen Rechner (x86) zum abstürzen bringt 
wenn man einen Pointer falsch setzt. Ich meinte dann nur das eigentlich 
jedes Programm durch die MMU geschützt wird und "nur" ein Laufzeitfehler 
entsteht. Er meinte dann das dies auch richtig ist aber nicht bei 
Pointer. Ich wollte mit Ihm auch nicht Diskutieren weil ich C mehr im µC 
Bereich einsetzte und es dort keine MMU gibt (bei meinen µC). Da war ich 
mir dann echt unsicher.

Aber dank euch bin ich mir jetzt wieder sicher und kann heute die 
Diskussion anfechten :)
#1905524
Lesenswert?

Klaus Wachtler schrieb:

> Bei DOS und 16-Bit-Win wird keine MMU verwendet

Aber nur urtümliches 16-Bit Windows im Real Mode, Version 1.x oder so, 
was damals kaum jemand einsetzte. Das bekanntere Windows 3.x verwendete 
zwar nicht das heute verbreitetere Paging als primäres Mittel der 
Speicherzugriffssteuerung, aber eine segmentierte MMU mit entsprechendem 
Zugriffsschutz wurde im 16-Bit Protected Mode durchaus verwendet.

Inwieweit in diesem Win 3.x die MMU einen effektiven Zugriffsschutz dem 
Betriebssystem gegenüber implementierte ist mir allerdings nicht 
geläufig. Die MMU legte dies zwar nahe, offen ist jedoch, inwieweit Win 
3.x dies auch nutze.
#1905538
Lesenswert?

A. K. schrieb:
> Inwieweit in diesem Win 3.x die MMU einen effektiven Zugriffsschutz...

Ja, die Win 3.* waren etwas dazwischen ("ein bißchen MMU"),
aber für die ursprüngliche Frage kann man den Zwitter auch
weglassen. Also etwas Kondom für nur etwas schwanger...
Bei DOS hat man einen Speicher für alle und der Lehrer hat recht,
bei NT bis 7 ist es anders und die MMU schlägt voll zu, indem
die Speicher der Prozesse getrennt sind. Da kann man
selbst unter Windows nicht einfach mit einem Speicherzugriff
das OS abschießen. Sollte zumindest.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren