Technische Frage zu FreeDOS

05/12/2007 - 01:27 von Ludwig Maetzke | Report spam
Hallo,

ein 32Bit-DOS gibt es ja noch nicht, aber es gibt DOS-Erweiterungen für
32-Bit-Programme für FreeDOS, die den ganzen Adreßraumraum der CPUs
80386 und neuer nutzen.
Doch 8086-CPUs (max. 1MB RAM Adressbus), auf die MS-DOS eigentlich
ausgelegt war benutzt ja kaum noch jemand oder verwalten derartige CPUs
jetzt die Speicherkarten in Digicams?
Meine Frage: warum schneidet man bei FreeDOS den alten Zopf mit der
20Bit-Adressierung nicht einfach ab?
Oder ist es so, daß das erste MB von 32Bit-DOS-Programmen gar nicht
genutzt werden kann? Benutzen auch diese Programme den Bereich zwischen
640KB und 1MB als Bildschirmspeicher?
Ist die 20Bit-Adressierung für embedded systems so wichtig?
Spàtestens wenn die derzeit neu entwickelte GUI für DOS fertig ist, die
ja wohl auch Multitasking kann, wird's mit 8086er PC's uninteressant.
Ich habe mal mit Turbo-Pascal für DOS programmiert und es war
interessant. Ich würde gern eine neue Compilersprache und ein besseres
Dateisystem evt. für DOS entwickeln (lieber für Atari ST, aber da ist
das Publikum kleiner), aber mir graust vor dem Gefummel mit den zwei
16Bit-Registern, die sich zu 20 Bit ergànzen bei FreeDOS.

Viele Grüße, Ludwig
 

Lesen sie die antworten

#1 Joseph Terner
05/12/2007 - 09:03 | Warnen spam
Ludwig Maetzke wrote:
ein 32Bit-DOS gibt es ja noch nicht, aber es gibt DOS-Erweiterungen
für 32-Bit-Programme für FreeDOS, die den ganzen Adreßraumraum der
CPUs 80386 und neuer nutzen.



Inzwischen steht in der x86-Welt die Migration auf 64 Bit bevor.

Doch 8086-CPUs (max. 1MB RAM Adressbus), auf die MS-DOS eigentlich
ausgelegt war benutzt ja kaum noch jemand oder verwalten derartige CPUs
jetzt die Speicherkarten in Digicams?
Meine Frage: warum schneidet man bei FreeDOS den alten Zopf mit der
20Bit-Adressierung nicht einfach ab?



Weil es dann kein DOS mehr wàre. Hauptentwicklungsziel für die 1.0 war
nàmlich 100 % MS-DOS-Kompatibilitàt.

Oder ist es so, daß das erste MB von 32Bit-DOS-Programmen gar nicht
genutzt werden kann?



Die müssen sogar das erste MiB verwenden, um mit DOS zu kommunizieren.
Selbstverstàndlich wird auch das erste MiB dann linear adressiert. Im
32-Bit-Modus funktioniert Segment/Offset-Adressierung nicht.

Benutzen auch diese Programme den Bereich zwischen 640KB und 1MB als
Bildschirmspeicher?



Der VGA-Framebuffer liegt hardwareseitig vorgegeben bei 0xA0000 und ist
0x20000 Byte (128 KiB) groß. Daran kann kein Programm der Welt etwas
àndern. Der Bereich zwischen 640 KiB und 1 MiB ist für Hardware und ROMs
reserviert. Über VBE kann sich eine 32-Bit-Anwendung aber auch die
Adresse eines Framebuffers am Ende des 4GiB-Adreßraums holen.

Ist die 20Bit-Adressierung für embedded systems so wichtig?



20Bit-Adressierung vermeidet man, wo es nur geht. x86 vermeidet man im
Embedded-Bereich überhaupt, wenn es nicht zwingend sein muß. Da nimmt
man eher ARM oder MIPS.

Spàtestens wenn die derzeit neu entwickelte GUI für DOS fertig ist, die
ja wohl auch Multitasking kann, wird's mit 8086er PC's uninteressant.



Meinst Du GEM? Das funktioniert hervorragend auf 8086er-PCs.

GUI und Multitasking auf 8086-Rechnern bietet aber beispielweise auch
GEOS (GeoWorks), welches vollstàndig in Assembler entwickelt wurde.

Ich habe mal mit Turbo-Pascal für DOS programmiert und es war
interessant. Ich würde gern eine neue Compilersprache und ein besseres
Dateisystem evt. für DOS entwickeln (lieber für Atari ST, aber da ist
das Publikum kleiner), aber mir graust vor dem Gefummel mit den zwei
16Bit-Registern, die sich zu 20 Bit ergànzen bei FreeDOS.



Definiere »besseres Dateisystem.« Vom Publikum her dürften sich Atari ST
und FreeDOS nichts nehmen (ein paar Dutzend Anwender weltweit).

ciao, Joseph

Ähnliche fragen