Archiv Windows 95, Registry 3.154 Themen, 8.811 Beiträge

Speicherumgebungsbereich - bitte nur kompetente Leute antworten

Marc / 2 Antworten / Baumansicht Nickles

Hallo,
ich habe folgendes Problem: Wenn ich unter Win95 nur bis zur Eingabeaufforderung boote, erscheint nach Ablauf der autoexec.bat folgende Fehlermeldung: "Kein Speicherplatz im Umgebungsbereich mehr vorhanden." Wenn ich mit mem/c/p dann die Infos aufrufe, erscheint für den oberen Speicherbereich/Block 0 KB. Ich habe in der Config.sys außer keyboard un display (Win Standard-Treiber) NICHTS geladen und in der autoexec.bat außer den Set_SST Befehlen für meine Diamond Monster I auch nichts. (Also weder maus, noch cd-rom-laufwerk oder ähnliches). Woran kann das liegen? Oder ist das normal, wenn man mehrere Set_SST-Befehle in der autoexec.bat hat? Trotzdewm würde mich interessieren, warum die Fehlermeldunge erscheint und was sie zu bedeuten hat. Was erscheinen bei Euch für Werte, wenn ihr im MS-Dos-Modus mem/c/p drückt, vor allem im oberen Speicherbereich/Block?
Danke für Eure Antworten.
Marc (Marc)

Antwort:
der 'umgebungsbereich' hat nichts mit dem 'oberen' speicherbereich zu tun. es handelt sich hierbei vielmehr um einen speicherblock der vom kommandointerpreter (command.com) beim start alloziert wird und zur laufzeit nicht in der groesse veraendert werden kann. in diesem speicherblock werden die environmentvariable abgelegt. dies sind die variable, die mit dem SET befehl definiert werden. wenn man nichts weiter angibt, so verwendet der command.com eine speicherblock mit einer vordefinierten groesse; wird nun versucht mehr variable anzulegen als platz dafuer da ist, erscheint die fehlermeldung die du geschildert hast.
um das zu umgehen must du den command.com mit einem parameter laden, mit dem du die groesse des benoetigten blockes angibst. den kenne ich aber leider nicht auswendig (habe schon seit jahren kein dos mehr) - steht aber in deinem handbuch. wenn du es nicht findest gib bescheid, dann schau ich hier halt mal nach.
WM_HOPETHISHELPS
thomas woelfer
http://www.woelfer.com
(thomas woelfer)

Antwort:
Lieber Marc,
auch auf die Gefahr hin, daß ich bestimmt nicht hinreichend kompetent bin, um jemandem wie dir Ratschläge zuteil werden zu lassen - du bist bestimmt undenkbar kompetent in vielerlei Hinsicht - so wage ich es dennoch:
Die Antwort von Thomas Woelfer ist (natürlich) völlig korrekt; hinzuzufügen ist lediglich der Hinweis, daß die Einbindung der Zeile
SHELL=COMMAND.COM /E:1024 /P
in die Datei config.sys dein Problem beheben wird. Dabei ist der Parameter E (Environment=Umgebung) für die Größe (in Byte) des anfänglichen Umgebungsspeichers zuständig und darf Werte zwischen 160 und 32768 annehmen (Win/MS-DOS rundet diese Werte auf ein Vielfaches von 16). Der Standardwert ist dabei 256 (und bei dir also zu klein).
Um interessante, aufregende und spannende neue Werte auf deinem Computer zu beobachten während du kompetenterweise davor sitzt und mem/c/p drückst, wie du sagst, wäre vielleicht der Eintrag folgender Zeilen zu Beginn der Datei config.sys hilfreich:
DEVICE=C:\WINDOWS\HIMEM.SYS /TESTMEM:OFF
DOS=HIGH, UMB
DEVICE=C:\WINDOWS\EMM386.EXE RAM NOEMS
Dann kannst du (beispielsweise) in der autoexec.bat auch keyboard.sys mit einem vorangestellten "LH" hochladen oder (ebenfalls beispielsweise) in der config.sys den display.sys mittels "DEVICEHIGH". Das alles aber nur als Vorschlag.
Thorsten
(Thorsten Schütt )

thomas woelfer Marc

„Speicherumgebungsbereich - bitte nur kompetente Leute antworten“

Optionen

der 'umgebungsbereich' hat nichts mit dem 'oberen' speicherbereich zu tun. es handelt sich hierbei vielmehr um einen speicherblock der vom kommandointerpreter (command.com) beim start alloziert wird und zur laufzeit nicht in der groesse veraendert werden kann. in diesem speicherblock werden die environmentvariable abgelegt. dies sind die variable, die mit dem SET befehl definiert werden. wenn man nichts weiter angibt, so verwendet der command.com eine speicherblock mit einer vordefinierten groesse; wird nun versucht mehr variable anzulegen als platz dafuer da ist, erscheint die fehlermeldung die du geschildert hast.
um das zu umgehen must du den command.com mit einem parameter laden, mit dem du die groesse des benoetigten blockes angibst. den kenne ich aber leider nicht auswendig (habe schon seit jahren kein dos mehr) - steht aber in deinem handbuch. wenn du es nicht findest gib bescheid, dann schau ich hier halt mal nach.
WM_HOPETHISHELPS
thomas woelfer
http://www.woelfer.com
(thomas woelfer)

Thorsten Schütt Marc

„Speicherumgebungsbereich - bitte nur kompetente Leute antworten“

Optionen

Lieber Marc,
auch auf die Gefahr hin, daß ich bestimmt nicht hinreichend kompetent bin, um jemandem wie dir Ratschläge zuteil werden zu lassen - du bist bestimmt undenkbar kompetent in vielerlei Hinsicht - so wage ich es dennoch:
Die Antwort von Thomas Woelfer ist (natürlich) völlig korrekt; hinzuzufügen ist lediglich der Hinweis, daß die Einbindung der Zeile
SHELL=COMMAND.COM /E:1024 /P
in die Datei config.sys dein Problem beheben wird. Dabei ist der Parameter E (Environment=Umgebung) für die Größe (in Byte) des anfänglichen Umgebungsspeichers zuständig und darf Werte zwischen 160 und 32768 annehmen (Win/MS-DOS rundet diese Werte auf ein Vielfaches von 16). Der Standardwert ist dabei 256 (und bei dir also zu klein).
Um interessante, aufregende und spannende neue Werte auf deinem Computer zu beobachten während du kompetenterweise davor sitzt und mem/c/p drückst, wie du sagst, wäre vielleicht der Eintrag folgender Zeilen zu Beginn der Datei config.sys hilfreich:
DEVICE=C:\WINDOWS\HIMEM.SYS /TESTMEM:OFF
DOS=HIGH, UMB
DEVICE=C:\WINDOWS\EMM386.EXE RAM NOEMS
Dann kannst du (beispielsweise) in der autoexec.bat auch keyboard.sys mit einem vorangestellten "LH" hochladen oder (ebenfalls beispielsweise) in der config.sys den display.sys mittels "DEVICEHIGH". Das alles aber nur als Vorschlag.
Thorsten
(Thorsten Schütt )