Lowlevel

OffZone => Offtopic => Thema gestartet von: FlorianN am 25. October 2012, 16:05

Titel: ProtectetMode vs. RealMode vs. LongMode
Beitrag von: FlorianN am 25. October 2012, 16:05
RealMode vs. ProtectedMode vs. LongMode

Wie die Überschrift schon sagt, handelt es sich um die Vor -und Nachteile der drei Modi:

Sammeln wir:

RealMode:
ProtectedMode:
LongMode:

Das war natürlich nicht alles!

Ich bin schon gespannt, Florian
Titel: Re: ProtectetMode vs. RealMode
Beitrag von: micha am 25. October 2012, 16:57
Real Mode:

Protected Mode:

Du solltest noch bedenken, dass es noch den Long Mode gibt, bei dem dann die register 64bit breit sind.
Schau am besten mal ins wiki:
http://www.lowlevel.eu/wiki/Real_Mode (http://www.lowlevel.eu/wiki/Real_Mode)
http://www.lowlevel.eu/wiki/Protected_Mode (http://www.lowlevel.eu/wiki/Protected_Mode)
http://www.lowlevel.eu/wiki/Long_Mode (http://www.lowlevel.eu/wiki/Long_Mode)

Micha
Titel: Re: ProtectetMode vs. RealMode
Beitrag von: Svenska am 25. October 2012, 17:10
Hallo,

du hast bunte Schrift gefunden, gratuliere. :-D

Meiner Meinung nach sind die Vor- und Nachteile aller drei (RM, PM und LM) Modi ziemlich bekannt und ausgelutscht. Die Entscheidung solltest du nach den Rechnertypen fällen, die du unterstützen möchtest:

Real Mode: PCs vor ca. 1985, max. 640 KB RAM. (*)
16-Bit Protected Mode: PCs vor ca. 1990, max. 16 MB RAM. (*)
32-Bit Protected Mode: Alle PCs der letzten 20 Jahre. (**)
Long Mode: Die meisten aktuellen PCs.

(*) Da wird es vermutlich schon am C-Compiler scheitern. GCC unterstützt die Architektur nicht.
(**) BIOS-Treiber (VESA, Boot von CD/USB/...) lassen sich im VM86-Modus nutzen.

Gruß,
Svenska
Titel: Re: ProtectetMode vs. RealMode
Beitrag von: FlorianN am 25. October 2012, 18:52
Also:

du hast bunte Schrift gefunden, gratuliere.
Kann man im Editor einfach festlegen

Du solltest noch bedenken, dass es noch den Long Mode gibt, bei dem dann die register 64bit breit sind.
Du hast Recht, ich habe den LongMode vergessen. Vielleicht kann ich es ja noch ändern.

(*) Da wird es vermutlich schon am C-Compiler scheitern. GCC unterstützt die Architektur nicht.
Bei mir hat es funktioniert.


Ich freue mich über noch mehr Vor -und Nachteile!
Danke, Florian
Titel: Re: ProtectetMode vs. RealMode vs. LongMode
Beitrag von: Jidder am 25. October 2012, 21:38
Der Real Mode hat nur Nachteile. Das BIOS kann nichts, was jemand, der von sich behaupt ein OS programmieren zu können, nicht auch können sollte. Das BIOS hindert dich daran effizientes Multitasking umzusetzen, weil die Kontrolle während blockierender Hardwarezugriffe nicht zurückgegeben wird. Außerdem steht dir nur der Bruchteil eines Megabytes an Speicher zur Verfügung. Die einzige Ausnahme, bei der BIOS noch hilfreich ist, sind die VESA Funktionen. Wenn man im Real Mode allerdings hochauflösende Grafik nutzen will, kommt einem die Speicherbegrenzung in die Quere, weil der Grafikspeicher nur über Umwege angesprochen werden kann. Der Protected Mode hat nur Vorteile, die genau das Gegenteil zu den Nachteilen des Real Modes sind. Zusätzlich zu den bisher genannten: man muss seine Treiber selbst schreiben (das ist ein Vorteil) und Virtualisierung ist möglich. Der Long Mode unterscheidet sich vom Protected Mode hauptsächlich im Speicher und in Anzahl und Größe der Register. Kann man als Vorteil und als Nachteil (größerer Code) sehen. Gibt natürlich auch Lösungen für die Nachteile.
Titel: Re: ProtectetMode vs. RealMode vs. LongMode
Beitrag von: FlorianN am 26. October 2012, 15:09
Ergebnis:

# Neutral
+ Vorteil
- Nachteil

___________________________________________________________________________

RealMode:

ProtectedMode:

LongMode:

___________________________________________________________________________

RealMode:               Hauptsächlich Nachteile
ProtectedMode:       Am Besten für 32-Bit PC's
LongMode:              Am Besten für 64-Bit PC's (aktuell)


Ich werde versuchen die Liste regelmäßig aktualisieren.

MfG, Florian
Titel: Re: ProtectetMode vs. RealMode vs. LongMode
Beitrag von: Svenska am 26. October 2012, 15:20
Die Vorteile des Real Mode (VGA/VESA, Hardwaretreiber) kannst du auch im Protected Mode genießen (mit VM86), im Long Mode nicht (oder du implementierst einen CPU-Emulator für Real Mode).