Hohe Prozessorauslastung unter DOS

Vacca

Cadet 4th Year
Registriert
Apr. 2007
Beiträge
78
Hallo!

Beim letzten Rechnerneuaufsetzen habe ich auch MS-DOS 6.22 auf einer kleinen 100 MB FAT-Partition installiert (dazu noch Win xp). Dies mit dem Gedanken, dass dort ein altes DOS-Spiel Spiel von 1990 (Commander Keen) besser läuft als unter Windows xp, wo es eine sehr hohe Prozessorauslastung verursacht. Das gleiche ist aber auch unter MS-DOS 6.22 der Fall.

Wie kommt das?

Mein Laptop ist ein Acer 1304LC mit einem AMD Athlon 1800+.


Über ein paar Antworten würde ich mich freuen
-Der Vacca-
 
du hättest auch dosbox installieren können... ;) spiele von früher sind halt so programmiert, dass die cpu dauerhaft belastet wird (zumal es keinen leerlaufprozess wie in windows gibt). deswegen gibts bei manchen spielen ohne frame limiter auch solche sachen, wo das spiel mit 1238719237982 fps läuft und du dich mit lichtgeschwindigkeit bewegst.
 
Das erklärt sich ganz einfach:

MS-DOS 6.22 kennt die Stromsparmechanismen heutiger CPUs nicht. --> Die CPU läuft immer auf Vollast. Das war zu der Zeit als MS-DOS entwickelt und genutzt wurde auch so gewollt. Leistung konnte man nie genug haben. Das ist auch der Zustand wenn Du im BIOS Einstellungen vornimmst. Erst wenn der Bootcode von der Festplatte gelesen wurde und das Betriebssystem die entsprechenden Treiber geladen hat, greifen die Stromsparmechanismen.

Das gleiche passiert unter XP in einer virtuellen Maschine. Auch dort wird die CPU durch MS-DOS voll ausgelastet, da das "Gastbetriebssystem" nichts anderes zulässt. Bei einer Dualcore bzw. X-Core CPU sollte (sofern keine anderen Anwendungen laufen die Last erzeugen) immer nur ein Core auf Vollast laufen.

Im Übrigen gilt das gleiche für Spiele. Die Entwickler lasten einen oder mehrere Cores immer voll aus.
 
Und wenn du mal lust hast auf ein gutes altes Adventure, schau dir mal www.scummvm.org sehr gut was die jungs da geschaffen haben. Läuft auch unter Windows 7.
 
Blumenkind schrieb:
MS-DOS 6.22 kennt die Stromsparmechanismen heutiger CPUs nicht.
stromsparmechanismen haben damit rein gar nichts zu tun. es läuft einfach auf voller pulle, da es damals so etwas wie multitasking und multiprozessing noch nicht gab. ein prozess bekommt dort die volle cpu-zeit zugewiesen und wenn das programm dieses vollends beansprucht, dann ist die auslastung nun mal durchgehend auf 100%.

wie gesagt (für laien): es gibt keinen leerlaufprozess, also gibts auch keine 0 % cpu-auslastung. zumal die cpu dort auch nicht "ohne auslastung" fährt, sondern immer etwas zu tun hat. eine nicht ausgelastete cpu gibt es rein technisch gesehen überhaupt nicht.
 
Danke für die Erklärungen. :)

Dass der Prozessor unter DOS dann auf 100% Läuft ist zwar unschön, aber da ich es selten benutze auch nicht so schlimm.

Gab es so was wie einen Leerlaufprozess bei Win 3.1 dann auch? Oder konkurrierten die Programme da?


Zum Gruß
 
weiß nich, ich bezweifel aber dass es das dort gab, da ja bis win me alle auf dem dos kernel basierten.
 
Zurück
Oben