Autor Thema: ProtectetMode vs. RealMode vs. LongMode  (Gelesen 9018 mal)

FlorianN

  • Beiträge: 50
    • Profil anzeigen
Gespeichert
« 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:
  • + Das BIOS übernimmt vieles
ProtectedMode:
  • + Man hat mehr Möglichkeiten
LongMode:
  • + 64bit

Das war natürlich nicht alles!

Ich bin schon gespannt, Florian
« Letzte Änderung: 25. October 2012, 18:55 von FlorianN »
Woher ich das weiß? Keine Ahnung.

micha

  • Beiträge: 141
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 25. October 2012, 16:57 »
Real Mode:
  • - 16bit
  • - kein Speicherschutz und kein virtueller Speicher
  • + Funktionen für VGA, VESA,... stehen zur verfügung

Protected Mode:
  • + 32bit (es lässt sich mehr Speicher ansprechen)
  • + Speicherschutz und virtueller Speicher
  • + Sicherheitsringe
  • - es lassen sich keine fertigen Treiber aus dem BIOS benutzen

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/Protected_Mode
http://www.lowlevel.eu/wiki/Long_Mode

Micha

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #2 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

FlorianN

  • Beiträge: 50
    • Profil anzeigen
Gespeichert
« Antwort #3 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
Woher ich das weiß? Keine Ahnung.

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #4 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.
« Letzte Änderung: 26. October 2012, 00:14 von Jidder »
Dieser Text wird unter jedem Beitrag angezeigt.

FlorianN

  • Beiträge: 50
    • Profil anzeigen
Gespeichert
« Antwort #5 am: 26. October 2012, 15:09 »
Ergebnis:
# Neutral
+ Vorteil
- Nachteil

___________________________________________________________________________

RealMode:
  • # Das BIOS übernimmt vieles (Vor -und Nachteil)
  • - Man ist vom Speicher sehr eingeschränkt
  • - nur 16-Bit
  • + VGA, VESA,... steht zur Verfügung
  • - sehr schlectes Multitasking
  • - schlechtere Grafik wegen geringen Speicher

ProtectedMode:
  • # Das BIOS übernimmt nichts (Vor -und Nachteil)
  • + Größerer Speicher
  • + 32Bit unterstützung
  • + Treiber müssen selbst geschrieben werden
  • + VGA, VESA,... steht zur Verfügung

LongMode:
  • + 64-Bit CPU unterstützung
  • + sehr großer Speicher
  • # Paging Funktioniert etwas anders
  • + Benutzen die meisten aktuellen PC's
  • + Treiber müssen selbst geschrieben werden
  • - Kein VGA, VESA, ...

___________________________________________________________________________

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
« Letzte Änderung: 29. October 2012, 19:09 von FlorianN »
Woher ich das weiß? Keine Ahnung.

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #6 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).

 

Einloggen