Neue Antwort schreiben 
 
Themabewertung:
  • 1 Bewertung(en) - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Warum liegt COMMAND.COM/MSDOS nicht im UMB?
freaked Offline
× ∫яεαкεδ εησυġн × ζιgнтѕтαя ×

Beiträge: 17.046
Registriert seit: Jul 2008
Beitrag #1
Warum liegt COMMAND.COM/MSDOS nicht im UMB?
Ich hätte gerne gewusst, warum MSDOS, HIMEM und COMMAND.COM nicht im UMB geladen werden (EMM386 geht nur LOW).
Der COMMAND.COM-Schmäh mit SHELL= von z.B. hier sorgt bei mir nur dafür, dass zwei Instanzen (einmal low+high) geladen werden. Ergo, ich verschwende 3KB.

DOS 6.22

PHP-Code:
// MEM /C
Module, die den Speicher unterhalb 1 MB verwenden:

    
Name       Insgesamt     Konventioneller  +  Hoher Speicher
  
--------  ----------------   ----------------    ---------------
  
MSDOS       14,205   (14K)     14,205   (14K)          0    (0K)
  
HIMEM        1,168    (1K)      1,168    (1K)          0    (0K)
  
EMM386       3,136    (3K)      3,136    (3K)          0    (0K)
  
COMMAND      3,296    (3K)      3,296    (3K)          0    (0K)
  
SETVER         416    (0K)          0    (0K)        416    (0K)
  
IFSHLP       3,920    (4K)          0    (0K)      3,920    (4K)
  
SMARTDRV    26,144   (26K)          0    (0K)     26,144   (26K)
  
CTMOUSE      3,328    (3K)          0    (0K)      3,328    (3K)
  
Frei       790,640  (772K)    633,328  (618K)    157,312  (154K)

Speicher-Zusammenfassung:

  
Speichertyp         Insgesamt =  Verwendet +     Frei
  
-----------------   ---------    ---------    ---------
  
Konventioneller       655,360       22,032      633,328
  Hoher                 191
,120       33,808      157,312
  Reserviert            131
,072      131,072            0
  Erweiterung 
(XMS)   2,168,176      353,648    1,814,528
  
-----------------   ---------    ---------    ---------
  
InsgSpeicher      3,145,728      540,560    2,605,168

  Insg
unter 1 MB      846,480       55,840      790,640 
PHP-Code:
// CONFIG.SYS
DEVICEHIGH=C:\DOS\HIMEM.SYS /TESTMEM:OFF
DEVICE
=C:\DOS\EMM386.EXE NOEMS
DEVICEHIGH
=C:\DOS\SETVER.EXE   
DEVICEHIGH
=C:\WIN31\IFSHLP.SYS    
DOS
=HIGH,UMB
BUFFERS
=20                                            
FILES
=30
STACKS
=9,128
LASTDRIVE
=
PHP-Code:
// AUTOEXEC.BAT
@ECHO OFF
SET MTCPCFG
=C:\DOSNET\SAMPLE.CFG
LH C
:\DOS\SMARTDRV.EXE 128 64
LH C
:\DOS\ADD\MODE.COM SPEED HIGH
LH C
:\DOS\ADD\MODE.COM SELECT CGA
LH C
:\DOS\ADD\MODE.COM ATTRIBUTE HALF
LH C
:\DOS\CTMOUSE.EXE
PROMPT $p$g
PATH C
:\WIN31;C:\GEOS20;C:\WCHECK;C:\PROG\EXCEL;C:\WIN21;C:\DOS;C:\PROG\PUBTECH;C:\WIN21\PUBTECH;C:\DOSGAME;%PATH%
SET TEMP=C:\DOS
CLS 

(Dieser Beitrag wurde zuletzt bearbeitet: 20.08.2017 11:28 von freaked.)
20.08.2017 09:28
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
DosAmp Offline
Anderes Zeigegerät

Beiträge: 12.219
Registriert seit: Jul 2008
Beitrag #2
RE: Warum liegt COMMAND.COM/MSDOS nicht im UMB?
MS-DOS kann die Shell nicht nativ hochladen, das kann und macht nur 7.x (SHELLHIGH). Alternative wäre nur, eine Shell mit eingebautem Speichermanagement wie 4DOS (kann UMBs, XMS und Swapping in Auslagerungsdatei auf ≤80286 nutzen) zu verwenden, diese braucht dann aber vermutlich schon ohne Weiteres deutlich mehr als 3 KB konventionellen Speicher.
Außer mit Mikromanagement (alle Umgebungsvariablen, d.h. auch MTCPCFG, ans Ende der AUTOEXEC.BAT packen, da diese sonst von allen TSRs im Speicher gehalten werden) wird das wohl nicht besser.

CCITTグループ4またはZIP圧縮のモノクロ300dpiで最高の再現性
(Dieser Beitrag wurde zuletzt bearbeitet: 20.08.2017 11:54 von DosAmp.)
20.08.2017 11:30
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Alpha Offline
Oskar

Beiträge: 16.344
Registriert seit: Jan 2009
Beitrag #3
RE: Warum liegt COMMAND.COM/MSDOS nicht im UMB?
Ebenso IBMs PC DOS 7.x kanns :D

Mark IV Style Motherfucker!
20.08.2017 11:31
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
freaked Offline
× ∫яεαкεδ εησυġн × ζιgнтѕтαя ×

Beiträge: 17.046
Registriert seit: Jul 2008
Beitrag #4
RE: Warum liegt COMMAND.COM/MSDOS nicht im UMB?
und warum ist MSDOS oder HIMEM im LOW?
ich dachte DOS=HIGH,UMB lädt MSDOS nach oben
und DEVICEHIGH die himem hoch?

20.08.2017 12:16
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
DosAmp Offline
Anderes Zeigegerät

Beiträge: 12.219
Registriert seit: Jul 2008
Beitrag #5
RE: Warum liegt COMMAND.COM/MSDOS nicht im UMB?
Warum DOS weder UMBs noch die HMA (das Segment über 1 MB) nutzt, um Teile von sich hochzuladen, ist in der Tat eine gute Frage.
HIMEM kann nicht hochgeladen werden, da EMM386 für die Freischaltung der UMBs zuständig ist, aber HIMEM als Vorbedingung bedarf. Nur wenn man diese auf andere Weise (z. B. mit UMBPCI) aktiviert bekommt, kann man HIMEM hochladen.

CCITTグループ4またはZIP圧縮のモノクロ300dpiで最高の再現性
20.08.2017 12:33
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Alpha Offline
Oskar

Beiträge: 16.344
Registriert seit: Jan 2009
Beitrag #6
RE: Warum liegt COMMAND.COM/MSDOS nicht im UMB?
War DOSHIGH=UMB nur unter IBMs PCDOS verfügbar? Oder galt das auch für MS-DOS?

Mark IV Style Motherfucker!
20.08.2017 13:32
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Igor Todeshure Offline
Methusalem & Folterknecht

Beiträge: 5.726
Registriert seit: Jul 2008
Beitrag #7
RE: Warum liegt COMMAND.COM/MSDOS nicht im UMB?
Es werden nur Teile aber eben nicht alles von HIMEM und MSDOS hochgeladen. Schaut euch mal die Speicherbelegung mit und ohne DOS=HIGH an, dann werdet ihr es sehen. Ein Teil der Strukturen von FILES,FCBS,BUFFERS, LASTDRIVE und STACKS bleiben ebenfalls im Low-Memory, da sonst Windows 3.X nicht damit klarkommt. Der hochladbare Teil von MSDOS muß nach Buffers noch komplett in die HMA passen, falls es also nicht geht, sollte man mal den BUFFERS-Eintrag veringern.

"I think that computer viruses should count as life. I think it says something about human nature that the only form of life we have created so far is purely destructive. We've created life in our own image."
(Stephen William Hawking)
(Igor bevölkert das Winhistory-Forum seit dem 21.09.2006)
(In the rpg commonly known as rl, Igor got an extra life on March 28, 2009)
20.08.2017 21:04
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
DosAmp Offline
Anderes Zeigegerät

Beiträge: 12.219
Registriert seit: Jul 2008
Beitrag #8
RE: Warum liegt COMMAND.COM/MSDOS nicht im UMB?
Mit einer "richtigen" (eher in VirtualBox installierten und etwas feingetunten) MS-DOS-Installation kann ich das bestätigen: Wie schon in der Online-Hilfe (HELP DOS) beschrieben, lädt MS-DOS Teile von sich selbst ausschließlich in die HMA (sofern klein genug und DOS=HIGH gesetzt ist) – die Zeile DOS=UMB steuert lediglich den Zugriff auf die UMBs und somit die Möglichkeit, überhaupt hochzuladen. Wenn diese Möglichkeit genutzt wird, kommt der Kernel wie schon bei freaked bei etwa 14K verbleibendem konventionellen Speicher heraus. Verbessern kann man das nur mit einem älteren und damit kleineren bzw. alternativen DOS wie FreeDOS.

Entgegen meiner Erwartungen ist 4DOS 8.0 eine gute Wahl, was den Speicherverbrauch als Shell angeht: Dieser liegt insgesamt nicht viel höher als COMMAND, und mit UMBLoad=Yes in der 4DOS.INI kann der Großteil davon hochgeladen werden.
[Bild: 23e41b93d8e970947b1299831f7fe272.png]

CCITTグループ4またはZIP圧縮のモノクロ300dpiで最高の再現性
24.08.2017 00:41
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
freaked Offline
× ∫яεαкεδ εησυġн × ζιgнтѕтαя ×

Beiträge: 17.046
Registriert seit: Jul 2008
Beitrag #9
RE: Warum liegt COMMAND.COM/MSDOS nicht im UMB?
ok also hab ichs eh so weit es geht optimiert
Hearteyes II

merci

24.08.2017 05:20
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Neue Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste