Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Windows Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4 5   вперед  Ctrl      все
 Re: Менее требовательный к памяти аналог Net Client  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10762
keon
SHELL=c:\dos\command.com C:\DOS /E:1024 /P
DEVICEHIGH=c:\dos\himem.sys
DEVICEHIGH=c:\dos\emm386.exe NOEMS x=D000-D200
DOS=HIGH,UMB
DEVICEHIGH=c:\dos\ramdrive.sys 512 512 512 /E
DEVICEHIGH=c:\dos\ansi.sys
DEVICEHIGH=c:\net\ifshlp.sys
LASTDRIVE=Z
Придирка, но devicehigh для himem.sys - не работает, поскольку цепочка загрузки: himem -> emm386, а UMB делает только второй из них.
Если ansi.sys не используется в вашей программе, то его надо просто выкинуть.
Насколько я помню, ifshlp.sys требуется только для Windows 3.11 и не нужен для "чистого DOS-а".
Опция /E:1024 для command.com тоже немного увеличивает потребление памяти и не должна использоваться, если вашей программе не требуется среда переменных окружения размером больше умалчиваемой. Если опция не нужна, то и директиву SHELL надо просто выкинуть.
Не указывайте в путях то, что грузится из autoexec.bat (пропишите там полные пути, если требуется) - это уменьшает размер занятой области среды переменных окружения.

Теперь про расстановку devicehigh/installhigh/loadhigh/lh
Поскольку задачей является освободить максимум в основной памяти, то:
1. Не грузить ничего лишнего;
2. Поскольку на этапе инициализации резидентная программа (TSR) может требовать больше памяти, чем при работе, то возможна ситуация, когда то, что уже занято другими *high не позволит загрузить в UMB "что-нибудь большое". В результате вы можете занять верхней памяти килобайт двадцать и профукать килобайт шестьдесят - в основной;
3. Всё, что возможно грузить через installhigh - надо грузить через installhigh. Это позволяет экономить 100-200 байт на среде окружения. И это не крохоборство, на самом деле.
18 ноя 19, 18:57    [22019122]     Ответить | Цитировать Сообщить модератору
 Re: Менее требовательный к памяти аналог Net Client  [new]
bga83
Member

Откуда: Город герой Ленинград
Сообщений: 31441
Basil A. Sidorov
Это позволяет экономить 100-200 байт на среде окружения. И это не крохоборство, на самом деле.
2019 год подходил к концу.....
18 ноя 19, 19:46    [22019152]     Ответить | Цитировать Сообщить модератору
 Re: Менее требовательный к памяти аналог Net Client  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10762
bga83
2019 год подходил к концу.....
... а DOS 6.x оставалась такой же, как и тридцать лет назад.
18 ноя 19, 20:02    [22019169]     Ответить | Цитировать Сообщить модератору
 Re: Менее требовательный к памяти аналог Net Client  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10762
keon
FILES=30
BUFFERS=20
Совсем забыл:
stacks=0,0
18 ноя 19, 20:18    [22019177]     Ответить | Цитировать Сообщить модератору
 Re: Менее требовательный к памяти аналог Net Client  [new]
Sergey Orlov
Member

Откуда: СПб
Сообщений: 4445
keon

1-й пень, 32 мб рам, хдд 2гб, но легче от этого не стало?
что даст dos4g? поддержку у "программам для DOS использовать до 64 Мбайт расширенной памяти"? так поддержка экстендед памяти в досе 6.22 есть через XMS спецификацию. и там больше чем 64 мб, там выше 1мб и до упора.
ваши комментарии бесполезны, т.к. к сабжу отношения не имеют

А WFW 3.11 юзать не пробовали? А то я грешным делом подумал, что у вас 386-той, мегабайт памяти и дисководик 1.44 ...
18 ноя 19, 20:36    [22019189]     Ответить | Цитировать Сообщить модератору
 Re: Менее требовательный к памяти аналог Net Client  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 31768

18.11.2019 20:36, Sergey Orlov пишет:
>
> А WFW 3.11 юзать не пробовали? А то я грешным делом подумал, что у вас
> 386-той, мегабайт памяти и дисководик 1.44 ...

по железу и Вын95/98 потянет.
но ведь не факт что железяка контроллера и соответствующая программа
будет корректно работать в такой среде.
всё таки одно дело монопольный режим, а совсем другое вытесняющая
многозадачность.
(уж насколько она в Вын95/98 "вытесняюща" обсуждать не будем).

первая заповедь механика: нэ тргогай тэхнику!

Posted via ActualForum NNTP Server 1.5

19 ноя 19, 11:43    [22019456]     Ответить | Цитировать Сообщить модератору
 Re: Менее требовательный к памяти аналог Net Client  [new]
Roman Mejtes
Member

Откуда: г. Пермь
Сообщений: 4036
Мимопроходящий,

windows работает в защищенном режиме, с вероятностью 90% под чистой виндой работать не будет, либо надо ставить соответствующие драйвера, которые будет проще самому написать, чем найти :)
19 ноя 19, 12:20    [22019488]     Ответить | Цитировать Сообщить модератору
 Re: Менее требовательный к памяти аналог Net Client  [new]
x1ca4064
Member

Откуда:
Сообщений: 1210
keon

Подскажите, имеется ли какой менее прожорливый аналог Net Client'a с похожим функционалом, достаточно было бы просто иметь доступ к сетевому ресурсу на запись/чтение и подключать этот доступ как сетевой диск, чтобы программа могла писать на него свои логи: X:\data\log.txt.


Вариант с Personal Netware не рассматривали? Сервер, правда под эмулятором, скорее всего, придется запускать.
19 ноя 19, 12:45    [22019516]     Ответить | Цитировать Сообщить модератору
 Re: Менее требовательный к памяти аналог Net Client  [new]
keon
Member

Откуда:
Сообщений: 175
Basil A. Sidorov

Придирка, но devicehigh для himem.sys - не работает, поскольку цепочка загрузки: himem -> emm386, а UMB делает только второй из них.

оставить просто device c:\dos\himem.sys?

Basil A. Sidorov
Если ansi.sys не используется в вашей программе, то его надо просто выкинуть.

для графической оболочки программы нужна, какие-то ее API использует

Basil A. Sidorov
Насколько я помню, ifshlp.sys требуется только для Windows 3.11 и не нужен для "чистого DOS-а".

Network file-sharing protocols like NFS and SMB are also implemented using IFS, без этой сиски не стартует Net Client

Basil A. Sidorov

Опция /E:1024 для command.com тоже немного увеличивает потребление памяти и не должна использоваться, если вашей программе не требуется среда переменных окружения размером больше умалчиваемой. Если опция не нужна, то и директиву SHELL надо просто выкинуть.

что значит "если вашей программе не требуется среда переменных окружения размером больше умалчиваемой"?

Basil A. Sidorov

Не указывайте в путях то, что грузится из autoexec.bat (пропишите там полные пути, если требуется) - это уменьшает размер занятой области среды переменных окружения.

вы имеет ввиду если в коде autoexec.bat я указываю, например, c:\net\tcptsr.exe, то можно не прописывать в PATH set PATH=c:\net??

Basil A. Sidorov

2. Поскольку на этапе инициализации резидентная программа (TSR) может требовать больше памяти, чем при работе, то возможна ситуация, когда то, что уже занято другими *high не позволит загрузить в UMB "что-нибудь большое". В результате вы можете занять верхней памяти килобайт двадцать и профукать килобайт шестьдесят - в основной;

а моей ситуации как этим можно помочь?

Basil A. Sidorov

3. Всё, что возможно грузить через installhigh - надо грузить через installhigh. Это позволяет экономить 100-200 байт на среде окружения. И это не крохоборство, на самом деле.

скажем так, оригинальный батник грузящий основную программу я не исправлял, ни при мне ее инсталили, свидетелей иеговы тех событий не осталось. Я дописал оболочки загрузки в config.sys и добавил секции в autoexec.bat

Sergey Orlov
А WFW 3.11 юзать не пробовали?

а можно пример (config.sys / autoexec.bat) использования этого самого WFW 3.11?

UPD
Проверил программу под нагрузкой - результат положительный, логи записались в сетевую папку, в ходе программы никаких ошибок и вылетов.
Но все равно копаю дальше, на мое субъективное мнение памяти там впритык.
19 ноя 19, 13:03    [22019534]     Ответить | Цитировать Сообщить модератору
 Re: Менее требовательный к памяти аналог Net Client  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 31768

19.11.2019 13:03, keon пишет:
> *на мое субъективное мнение памяти там впритык.*

«640Кб должно быть достаточно для каждого!» (С)

Posted via ActualForum NNTP Server 1.5

19 ноя 19, 13:07    [22019541]     Ответить | Цитировать Сообщить модератору
 Re: Менее требовательный к памяти аналог Net Client  [new]
keon
Member

Откуда:
Сообщений: 175
Мимопроходящий
«640Кб должно быть достаточно для каждого!» (С)

просто он забыл тогда добавить: только для одного процесса/задачи
19 ноя 19, 13:17    [22019555]     Ответить | Цитировать Сообщить модератору
 Re: Менее требовательный к памяти аналог Net Client  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 31768

19.11.2019 13:17, keon пишет:
>
> просто он забыл тогда добавить: только для одного процесса/задачи

дык тогда многозадачностью на писюках и не пахло.

Posted via ActualForum NNTP Server 1.5

19 ноя 19, 13:18    [22019559]     Ответить | Цитировать Сообщить модератору
 Re: Менее требовательный к памяти аналог Net Client  [new]
Roman Mejtes
Member

Откуда: г. Пермь
Сообщений: 4036
Мимопроходящий

19.11.2019 13:17, keon пишет:
>
> просто он забыл тогда добавить: только для одного процесса/задачи

дык тогда многозадачностью на писюках и не пахло.
DOS Shell в PC-DOS, Windows 3.1 и прочее, уже были же
19 ноя 19, 13:26    [22019569]     Ответить | Цитировать Сообщить модератору
 Re: Менее требовательный к памяти аналог Net Client  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10762
keon
скажем так, оригинальный батник грузящий основную программу я не исправлял, ни при мне ее инсталили, свидетелей иеговы тех событий не осталось. Я дописал оболочки загрузки в config.sys и добавил секции в autoexec.bat
Допишите в config.sys "stacks=0,0", что освободит пару килобайт.
а можно пример (config.sys / autoexec.bat) использования этого самого WFW 3.11?
Не поддавайтесь на провокации - досовой программе Windows для рабочих груп не даёт никаких плюсов.

P.S.
Драйвер EMM386 можно выкидывать только в том случае, если вашей программе требуется больше XMS-памяти (маловероятно), не нужны UMB/EMS и того, что останется от основной памяти (в первых 640КБ) - будет достаточно.
19 ноя 19, 13:39    [22019582]     Ответить | Цитировать Сообщить модератору
 Re: Менее требовательный к памяти аналог Net Client  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 31768

19.11.2019 13:26, Roman Mejtes пишет:
> DOS Shell в PC-DOS, Windows 3.1 и прочее, уже были же

ога, в 1981 году.
ты наверное тогда ещё очень молод был, но помнишь, да?

/* это был сарказм */

Posted via ActualForum NNTP Server 1.5

19 ноя 19, 13:41    [22019585]     Ответить | Цитировать Сообщить модератору
 Re: Менее требовательный к памяти аналог Net Client  [new]
keon
Member

Откуда:
Сообщений: 175
Basil A. Sidorov
Допишите в config.sys "stacks=0,0", что освободит пару килобайт

дописать не проблема :) а к чему это команда приведет в итоге?
я абсолютно не знаю внутреннюю работу программы, может ей стеки и понадобятся
19 ноя 19, 14:29    [22019646]     Ответить | Цитировать Сообщить модератору
 Re: Менее требовательный к памяти аналог Net Client  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10762
keon
я абсолютно не знаю внутреннюю работу программы, может ей стеки и понадобятся
Не могут.
Это внутренние стеки DOS, которые могли потребоваться на оборудовании, которого лично я никогда не видел. Могу ошибаться за давностью лет, но умалчиваемое значение (9,256) могло быть актуально во времена IBM PC или IBM PC/XT.
19 ноя 19, 14:40    [22019664]     Ответить | Цитировать Сообщить модератору
 Re: Менее требовательный к памяти аналог Net Client  [new]
Sergey Orlov
Member

Откуда: СПб
Сообщений: 4445
Из всех версий dos, большего всего памяти оставалось при использовании dr-dos...
19 ноя 19, 15:48    [22019782]     Ответить | Цитировать Сообщить модератору
 Re: Менее требовательный к памяти аналог Net Client  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9249
Basil A. Sidorov

Драйвер EMM386 можно выкидывать только в том случае, если вашей программе требуется больше XMS-памяти (маловероятно), не нужны UMB/EMS и того, что останется от основной памяти (в первых 640КБ) - будет достаточно.

Драйвер EMM386 достаточно сильно тормозил систему, для некоторых приложений в десятки раз.

Т.ч., лично у нас, по дефолту его не запускали. Не так уж много памяти выигрывалось + нормальный софт и под DOS'ом использовал DPMI DOS Extender'ы (Dos Protected Mode Interface) и никакой emm386 ему был нафиг не нужен

AFAIK
19 ноя 19, 16:04    [22019798]     Ответить | Цитировать Сообщить модератору
 Re: Менее требовательный к памяти аналог Net Client  [new]
keon
Member

Откуда:
Сообщений: 175
Leonid Kudryavtsev
Драйвер EMM386 достаточно сильно тормозил систему, для некоторых приложений в десятки раз.
Т.ч., лично у нас, по дефолту его не запускали. Не так уж много памяти выигрывалось + нормальный софт и под DOS'ом использовал DPMI DOS Extender'ы (Dos Protected Mode Interface) и никакой emm386 ему был нафиг не нужен AFAIK


Я бы с радостью отдал машинке все 32 мб, но видимо программу писали раки из индии, и они "зашились" только на основной памяти, не предполагая что на машине больше ничего не будет работать. Но моей проблеме может помогла некая среда (надстройка), которая могла бы эммулировать любой запрос на выделение памяти у любой программы и размещать ее в XMS сегменте, при этом программы даже бы об этом не знали. Можно сказать, чтобы для работы любой программы/драйвера память System была 1 Mb - Max Mb.

В качестве оффтопа хочу заметить: загрузка от момента пуска и до появления меню из config.sys проходит не оправданно долго! Вспоминая загрузку своего домашнего Р-166 на 440ТХ чипсете она была моментальной, порядка 2х сек.
19 ноя 19, 16:19    [22019817]     Ответить | Цитировать Сообщить модератору
 Re: Менее требовательный к памяти аналог Net Client  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10762
Sergey Orlov
Из всех версий dos, большего всего памяти оставалось при использовании dr-dos...
... который умел грузить в HMA часть собственных драйверов и TSR.
MS-DOS тоже умел, но в меньших масштабах.
19 ноя 19, 17:03    [22019868]     Ответить | Цитировать Сообщить модератору
 Re: Менее требовательный к памяти аналог Net Client  [new]
Roman Mejtes
Member

Откуда: г. Пермь
Сообщений: 4036
как у уже писал на PC-DOS c драйвером мышки, клавиатуры, ansi.sys и всем остальным (без сетки) добивался практически "полностью" свободной основной памяти в 640 кб, жаль конфиги не сохранились :(
19 ноя 19, 17:18    [22019885]     Ответить | Цитировать Сообщить модератору
 Re: Менее требовательный к памяти аналог Net Client  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10762
Leonid Kudryavtsev
Т.ч., лично у нас, по дефолту его не запускали. Не так уж много памяти выигрывалось
Выигрывалось по разному и в разных сценариях EMM386 мог быть и нужным (обязательным) и бесполезным.
+ нормальный софт и под DOS'ом использовал DPMI DOS Extender'ы (Dos Protected Mode Interface) и никакой emm386 ему был нафиг не нужен
Вот только не надо про тёплое против кислого.
LIM EMS появился в DOS 2.0 и (тогда) реализовывался специальной аппаратурой даже на i8086. Позволял, в том числе, и многозадачность, особенно в более поздних спецификациях версий 3.2 и 4.0.
Драйвер EMM386 - эмуляция, использующая возможности i80386+.
DPMI - вариант, позволяющий DPMI-серверу (драйвер/TSR) включить защищённый режим и организовать взаимодействие с DOS, а DPMI-клиенту (программе) исполняться в защищённых режимах i80286 (до 16МБ сегментированной памяти) и i80386+ (плоская память с 32-разрядной адресацией). Плюс ещё DPMS вариант от Novell.

P.S.
И, кстати, один из популярных DPMI-расширителей (QEMM386) "по совместительству" реализовывал эмуляцию EMS 4.0.
19 ноя 19, 17:21    [22019888]     Ответить | Цитировать Сообщить модератору
 Re: Менее требовательный к памяти аналог Net Client  [new]
keon
Member

Откуда:
Сообщений: 175
Basil A. Sidorov
Sergey Orlov
Из всех версий dos, большего всего памяти оставалось при использовании dr-dos...
... который умел грузить в HMA часть собственных драйверов и TSR. MS-DOS тоже умел, но в меньших масштабах.

himem.sys в HMA грузит ядро DOS и там остается чуть больше 20 Кб, как раз мог бы поместиться tinyrfc.exe :)

Roman Mejtes
как у уже писал на PC-DOS c драйвером мышки, клавиатуры, ansi.sys и всем остальным (без сетки) добивался практически "полностью" свободной основной памяти в 640 кб, жаль конфиги не сохранились :(

ну если в config.sys прописать himem.sys, ansi.sys и пару легких сисок то как раз и выйдет свободными порядка ~620 Кб

Basil A. Sidorov
P.S. И, кстати, один из популярных DPMI-расширителей (QEMM386) "по совместительству" реализовывал эмуляцию EMS 4.0.

а вы работали со средой DESQview и менеджером QEMM386? Читая описание я сделал вывод, что она могла бы мои программы разместить в экстендед памяти как будто в основной, и проблем с памятью вообще не было бы.
19 ноя 19, 17:29    [22019900]     Ответить | Цитировать Сообщить модератору
 Re: Менее требовательный к памяти аналог Net Client  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10762
keon
Я бы с радостью отдал машинке все 32 мб, но видимо программу писали раки из индии, и они "зашились" только на основной памяти, не предполагая что на машине больше ничего не будет работать.
Не надо проецировать современные реалии даже на четверть века назад.
Это сейчас любой микроконтроллер IP умеет, а было время, когда на материнской плате располагались, в основном, разъёмы и шина. И любая периферия требовала отдельного кристалла или целой их россыпи.
DMA, который сейчас умеет любая тля, был отдельной микросхемой, распаянной на плате.
COM/LPT/флопик - многофункциональный контроллер, вставляемый в разъём.
Надо подключить жёсткий диск - отдельный контроллер.
Сеть? У вас, что - денег вагон?
Но моей проблеме может помогла некая среда (надстройка), которая могла бы эммулировать любой запрос на выделение памяти у любой программы и размещать ее в XMS сегменте, при этом программы даже бы об этом не знали. Можно сказать, чтобы для работы любой программы/драйвера память System была 1 Mb - Max Mb.
Это невозможно. Нельзя исполнять код за пределами 1МБ плюс 65520 байт без суровых плясок с бубном. И даже V86-режим i80386+ ситуацию не меняет.
А XMS, который работает, начиная с i80286 - вообще хак, где, по большому счёту, есть ровно одна возможность: копировать память между первым мегабайтом и памятью за пределами первого мегабайта. И даже это копирование надо делать с определёнными предосторожностями.
В качестве оффтопа хочу заметить: загрузка от момента пуска и до появления меню из config.sys проходит не оправданно долго! Вспоминая загрузку своего домашнего Р-166 на 440ТХ чипсете она была моментальной, порядка 2х сек.
"Ичо?"
Железка, BIOS которой секунд 15-20 проверяет память или её часть - вполне себе норма. Была. На серверах - так и сейчас норма
Поэтому mem/c, mem/p и оцениваем возможность упихнуть в UMB больше, чем сейчас.
19 ноя 19, 17:46    [22019922]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4 5   вперед  Ctrl      все
Все форумы / Windows Ответить