Повече DOS extended memory
Здравейте.
Как да увелича паметта, която ДОС (Windows XP Sp2) заделя за приложенията?
Тук е информацията за паметта в ДОС. Когато се стартира под 98 - няма проблем.
Там мисля, че ДОС-а няма ограничения за паметта - използва колкото има, след това започва да ползва суап-а.
При XP може ли да се направи по същия начин?
Благодаря !
Re: Повече DOS extended memory
right click -> properties -> memory
тук си слагаш всичките видове памети на "auto" и би трябвало да е наред всичко. ако не е - проучи точно каква и колко памет трябва и си я задай ръчно
Re: Повече DOS extended memory
Да, но това е когато се стартира от шорткът, а не през конзолата - въпреки това ще го пробвам.
Иначе като порових намерих следното:
Т.е. да пробва с различни параметри. А ако го сет-на на макс и не му достигне паметта, ще използва ли суап-а?
notepad C:\WINDOWS\system32\CONFIG.NT
dos=high, umb
device=%SystemRoot%\system32\himem.sys
files=70
shell=%systemroot%\system32\command.com /e:2048
Re: Повече DOS extended memory
Параметрите на обкръжението на command prompt-а по подразбиране са зададени в _default.pif. Те се ползват при стартиране на команден прозорец и като начални при създаване на нов shotr cut за "ДОС" прграми. Файла се намира в системната папка - C:\WINDOWS, най-често.
Та - десен клавиш връз него => Properties => Memory и нататък е ясно. След интервенцията всички програми, вкл. cmd или command ще се стартират с новозададените параметри ако не е указано друго.
:)
ЕДИТ: Няма да ползва виртуалната памет, т.е. суап-а. В команден ред работи само с физическа RAM. Но ако му укажеш твърдо колко RAM да ползва, при стартиране ще се опита всичко, което е възможно от Windows-ките неща да прехвърли във виртуалната памет, за да ти освободи възможно най-много физическа.
Re: Повече DOS extended memory
не зная за какво приложение иде реч, но ако имаш проблеми с подкарването му, си заслужава да го пробваш и под dosbox ...dosbox.sourceforge.net
Re: Повече DOS extended memory
@Get - в autoexec.nt в C:\Windows\System32 ред
REM Install DPMI support
lh %SystemRoot%\system32\dosx
му слагаш едно REM
и ако апликацията ти не се нуждае от dosx, получаваш над 600кб конвенционална памет свободна :)
Re: Повече DOS extended memory
Okey...
Слагам някакви опции за паметта във файла "_default.pif", след което ще пробвам как се държат приложенията.
Като възможности виждам, че и expandet и extendet memory максимума е до ~16мб. Ако е необходимо повече как мога да го задам (auto)?
Отмектата "Use HMA" - да остане ли?
Да кажем, че ДОС приложението ще използва 100мб рам. След като се затвори Уиндоуса ще ги освободи ли или ще трябва нещо друго да се прави?
Този ред да остане ли в config.nt ?
shell=%systemroot%\system32\command.com /e:2048
А тези редове:
REM Install DPMI support
lh %SystemRoot%\system32\dosx
ги нямам в config.nt, но искаш че ако го имам "lh %SystemRoot%\system32\dosx" да го забраня така ли ?
Re: Повече DOS extended memory
Цитат:
Първоначално публикувано от get
А тези редове:
REM Install DPMI support
lh %SystemRoot%\system32\dosx
ги нямам в config.nt, но искаш че ако го имам "lh %SystemRoot%\system32\dosx" да го забраня така ли ?
autoexec.nt, не config.nt
това работи прекрасно за дос приложения които искат 599-600кб свободна конвенционална ( largest executable program size ) и обикновенно издават Program too big to fit into memory или нещо подобно....обикновенно не им достигат няколко кб...манипулациите по pif-файла не помагат. Ако правилно съм те разбрал, това е което ти трябва.
Re: Повече DOS extended memory
Да. Извинявай! моя грешка.
В крайна сметка всичките стъпки ли да направя или ?
Re: Повече DOS extended memory
Абе какво е това ДОС приложение дето ще ти иска повече от 16МБ памет?
Пусни я пустата програма и като ти изреве - тогава питай
Re: Повече DOS extended memory
Цитат:
Първоначално публикувано от get
Да кажем, че ДОС приложението ще използва 100мб рам.
максимално ДОС може да ползва 32МВ памет, за повече са нужни други трикове...
ма, както Black Adder пише, какво е това приложение дето ползва повече от 16 МВ :jamaika
Re: Повече DOS extended memory
edit
половин час и повече пиша за conventional memory - темата била за extended .... :taz
:jamaika
:taz
Re: Повече DOS extended memory
Не се е***айте, бе!
DOS адресира с два 16 битови регистъра (сегмент и отместване) отместени на 4 бита един от друг.
По този начин максималното адресируемо пространство е 2^4 * 2^16 = 1048576.
Не става въпрос за повече от 16 MB, а за повече от 1 MB, но просто не може!
Може и да съм в грешка, защото беше отдавна, но борбата обикновено се водеше за повече свободна конвенционлана памет.
Re: Повече DOS extended memory
След като тествам ще Ви кажа резултатите.
Не съм много сигурен, но приложението мисля че е turbo pascal - тъй като се стартира turbo и започва едно обработване на база данни. Грешката, с която гърмеше е недостиг на памет, затова искам да резервирам повече. Може и да не ползва повече от 16мб......
Re: Повече DOS extended memory
Цитат:
Първоначално публикувано от dmanov
Не се е***айте, бе!
DOS адресира с два 16 битови регистъра (сегмент и отместване) отместени на 4 бита един от друг.
По този начин максималното адресируемо пространство е 2^4 * 2^16 = 1048576.
Не става въпрос за повече от 16 MB, а за повече от 1 MB, но просто не може!
Може и да съм в грешка, защото беше отдавна, но борбата обикновено се водеше за повече свободна конвенционлана памет.
Явно си ги позабравил нещата. :)
DOS наистина адресира 1MB в т.нар. "реален режим" на работа на процесора. И точно затова се наложи ползването на подобни memory extender-и като EMS, XMS и HMA, които използват възможността за "защитен режим" на работа и съответно да адресират памет, по-голяма от 1MB.
Tова става възможно с пускането на i286 процесорите. При тях имаме ограничение от 16MB максимално адресируема памет. При следващите (386DX и нагоре) теоретино може да се адресира до 4GB, но memory мениджърите обикновено имаха софтуерни ограничения до по-малко.
Ей ТУК има малко синтезирана "опреснителна" информация за начините за ползване на паметта над 1MB от DOS real mode приложения. :)