Allgemeines 21.960 Themen, 148.076 Beiträge

16 bit Programme volle Speicherauslasstung

Matthias Fahl / 40 Antworten / Flachansicht Nickles

Hallo,

weis nicht mehr weiter, mit 16 bit System.

System: Win xp prof. SP3, 2,5 GB Ram, 1,8 Ghz

Betroffenes Programm: D-Base IV und Excel 4.0

Problem: 99% Speicherauslastung bei verwendung
von D-Base IV oder Excel 4.0 in der NTVDM.exe

Ziel: Verwendung von D-Base IV mit mindestens
Speicherauslasstung unter 50%

Einstellungen der Eigenschaften von D-Base.Exe
Speicher= alles auf Automatisch
Bildschirm= Fenster
Kompatibilität= Win98

Bisher erfolglos versucht:

- NTVDM.exe und wowexec.exe aus Win CD erneuert
- Config.NT und autoexec.nt von anderem PC, (auch XP)
auf dem das Problem nicht ist, kopiert
- in Config.nt Files=255 Buffers=120 bis zu
diesem Wert immer Stück für Stück erhöht
- wegen Fehlereingrenzung Excel 4.0 (16bit) Instaliert
auch gleiches Problem, Speicherauslasstung bis zu 70%
bis 90%
- Batch Datei geschrieben:
Start /shared /belownormal "c:\dbase\dat" "c:\dbase\dbase.exe"

Anmerkung:
Rechner war noch nie mit dem Internet verbunden, Virus ausgeschlossen
da geschlossenes System !

Deaktiviere ich die Verwendung der Maus in B-Base IV oder öffne D-Base IV
nicht als Fenstermodus sondern Vollbildmodus ist das Problem weg.
Diese Option ist aber nicht akzeptabel.

OK bis hier her kam ich, jetzt gehen mir die Ideen aus.
Bin für jede Anregung dankbar !

bei Antwort benachrichtigen
xafford dalai „Hä? Auslastung durch eine Übersetzung? Was n das für n Quark? Hast du denn...“
Optionen

Mein letzter Kommentar hierzu:

1. Ein 16Bit Programm unter NTVDM läuft nicht im Real Mode, sondern im Protected Mode. Ein direkter Hardwarezugriff des Programms ist nicht möglich und das Programm kann auch nicht selbst entscheiden wieviele Resourcen es sich gönnt, das macht immer noch das Betriebssystem darunter und sein Sheduler.

2. Das 16Bit Programm läuft nicht als eigener Prozess auf dem System sondern unter NTVDM, was man ganz leicht daran sehen kann, wenn man den Taskmanager aufruft. Hier erscheint nur die NTVDM.

3. Die NTVDM ist ein 32-Bit Prozess und somit sowohl nativ laufend als auch mutitaskingfähig. Man kann problemlos mehrere Instanzen der NTVDM starten und darunter jeweils ein 16Bit Programm laufen lassen wodurch diese parallel arbeiten können und nicht per kooperativem sondern mittels symmetrischen MP. Und da die NTVDM ein 32Bit Programm ist entscheidet auch hier das Betriebssystem über die Resourcenzuteilung.

4. 32Bit Programme in einem 64Bit System arbeiten deshalb recht schnell, weil die Register von x64-CPUs sowohl über 32Bit, als auch über 64Bit angesprochen werden können. Die Itanium-Architektur kann dies z.B. nicht, was auch ein Grund dafür ist, dass unter IA64 32Bit Code sehr langsam läuft.

5. Wir betreiben einige alte 16Bit Programme in virtuellen Maschinen mit 16Bit DOS. Der fehlende Idle-Prozess betrifft nur die VIRTUELLE CPU, die reale CPU wird vom Hypervisor verwaltet, ansonsten wären mehrere virtuelle Maschinen auf einem realen System überhaupt nicht möglich.

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen