Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 95/98/Me (архив) » Война за первые 640 kb памяти

 
Настройки темы
Война за первые 640 kb памяти

Старожил


Сообщения: 234
Благодарности: 0

Профиль | Отправить PM | Цитировать


Кто-нибудь боролся за первые 640 кило памяти? Подскажите, что можно сотворить такого. Испробовал уже много от сторонних производителей. QEMM стоит, но Vidram запускается далеко не на всех машинах, а без него памяти маловато будет. Единственное что остается, ИМХО, это править руками конфиги. Вот и вопрос - что там особенного можно сотворить? Или в QEMM есть какие-нибудь злые настройки?

Отправлено: 17:32, 31-01-2003

 

Пользователь


Сообщения: 79
Благодарности: 0

Профиль | Отправить PM | Цитировать


В конце концов, даже FILES=250 - это не так страшно. На этом ты теряешь 14 кбайт, которые вполне можно запихнуть в UMB путём использования FILESHIGH:

-------------------------------------------
Upper Memory Detail:

 Segment  Region       Total        Name         Type
 -------  ------  ----------------  -----------  --------
  0D15C       1     17 984   (18K)  IO           System Data
                    14 464   (14K)               FILES=250
                        80    (0K)               FCBS=1
                     1 072    (1K)               BUFFERS=2
                     2 288    (2K)               LASTDRIVE=Z
  0D5C0       1        192    (0K)  vmm32        Data
  0D5CC       1      4 688    (5K)  DOSKEY       Program
  0D6F1       1     37 104   (36K)  vmm32        Data
-------------------------------------------
Даже на моём ноутбуке они туда поместились - с учётом того, что даже с ключом highscan emm386 находит у меня только 58 кбайт Upper Memory.
Успехов!

-------
I prefer Slackware 10.2 + fvwm 2.5.14 installed on my on my nx8220. KDE 3.4 is not bad too :)


Отправлено: 01:44, 03-02-2003 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


Cursed
Цитата:
попытка его уменьшить даже до 200 - приводила к тому, что прога вылетала по ошибке в самый неподходящий момент
А что ты хотел от проги на Clipper'e? Скорее всего - бухгалтерская: куча баз (dbf) + ещё бОльшая куча индексов к каждой (idx, cdx, ...). Ты ограничиваеш максимальное количество открытых файлов - прога неможет открыть базу/индекс - и рушится.

А вообще, объясни подробнее:
1) на кой тебе именно 620 кил? Какую прогу ты собираешься запустить?
2) как именно ты хочешь грузить свою супер_пупер_ресурсоёмкую_прогу - из DOC'a до загрузки Виндов или в Виндах в DOC-режиме?

Отправлено: 23:48, 03-02-2003 | #12


Старожил


Сообщения: 234
Благодарности: 0

Профиль | Отправить PM | Цитировать


mazepkstan
Для начала - прога, сделанная под заказ давным-давно, после чего она дорабатывалась. Эти доработки  привели к тому, что при выполнении некоторых операций она просто стала вываливаться по ошибке "Мало памяти". Прога эта довольно спокойно работает под ДОС 6.22 и Виндами 2000, а вот под 9X... Естественно, гружу ее по самими виндами.

Отправлено: 02:07, 04-02-2003 | #13


Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


А для неё ты сделал файл имя_проги.pif?
Если да, то может в нём поправить параметры какие-нибудь? Например, на вкладке ""Память"-полный объем обычной/EMS/XMS - увеличить?

Отправлено: 21:47, 05-02-2003 | #14


Старожил


Сообщения: 234
Благодарности: 0

Профиль | Отправить PM | Цитировать


В общем - не знаю что делать, но больше чем 610 выжать не удалось Даже если избавиться от QEMM, который сам съел 3kb, но все остальное загнал в верхнюю память, больше этого освободить не удалось.  Вот отчет mem:
Сведения о распределении обычной памяти:

 Сегмент               Размер           Имя      Тип
 -------          ----------------  -----------  --------
  00000              1 024    (1K)               Вектор прерываний
  00040                256    (0K)               Область обмена ПЗУ
  00050                512    (1K)               Область обмена DOS
  00070              1 424    (1K)  IO           Системные данные
                                       CON       Драйвер системного устройства
                                       AUX       Драйвер системного устройства
                                       PRN       Драйвер системного устройства
                                       CLOCK$    Драйвер системного устройства
                                       A: - D:   Драйвер системного устройства
                                       COM1      Драйвер системного устройства
                                       LPT1      Драйвер системного устройства
                                       LPT2      Драйвер системного устройства
                                       LPT3      Драйвер системного устройства
                                       CONFIG$   Драйвер системного устройства
                                       COM2      Драйвер системного устройства
                                       COM3      Драйвер системного устройства
                                       COM4      Драйвер системного устройства
  000C9              5 184    (5K)  MSDOS        Системные данные
  0020D              3 776    (4K)  IO           Системные данные
                       768    (1K)     QEMM386$  Device=QEMM386
                     2 960    (3K)     DblBuff$  Device=DBLBUFF
  002F9                 16    (0K)  MSDOS        Системная программа
  002FA                 80    (0K)  MSDOS        Системная программа
  002FF                 32    (0K)  WIN          Данные
  00301                288    (0K)  WIN          Переменные средыДанные
  00313              3 552    (3K)  WIN          Программа
  003F1                 48    (0K)  vmm32        Данные
  003F4              4 288    (4K)  vmm32        Программа
  00500                336    (0K)  COMMAND      Данные
  00515              8 624    (8K)  COMMAND      Программа
  00730              1 440    (1K)  COMMAND      Переменные средыДанные
  0078A                336    (0K)  MEM          Переменные средыДанные
  0079F             90 464   (88K)  MEM          Программа
  01DB5            533 664  (521K)  MSDOS        -- Свободно --

Сведения о распределении верхней области памяти:

 Сегмент  Область       Размер          Имя      Тип
 -------  ------  ----------------  -----------  --------
  0B3FF       1     13 312   (13K)  FILES        Программа
  0B73F       1      3 056    (3K)  vmm32        Данные

  0C101       2      8 320    (8K)  IO           Системные данные
                     8 288    (8K)     CON       Device=DISPLAY
  0C309       2        336    (0K)  vmm32        Данные
  0C31E       2      6 944    (7K)  KEYB         Программа
  0C4D0       2     13 024   (13K)  vmm32        Данные

  0C901       3        560    (1K)  IO           Системные данные
  0C924       3        624    (1K)  IFS          Программа
  0C94B       3        272    (0K)  FCBS         Программа
  0C95C       3        528    (1K)  WKBUFFER     Программа
  0C97D       3      2 304    (2K)  LASTDRIV     Программа
  0CA0D       3        272    (0K)  INSTALL      Программа
  0CA1E       3    105 984  (104K)  vmm32        Данные

  0E901       4     10 736   (10K)  BUFFERS      Программа
  0EBA0       4      1 504    (1K)  vmm32        Данные

  0FC01       5      2 880    (3K)  IO           Системные данные
                     2 848    (3K)     IFS$HLP$  Device=IFSHLP  
  0FCB5       5      3 088    (3K)  STACKS       Программа
  0FD76       5      2 176    (2K)  vmm32        Данные

  0FF01       6        240    (0K)  DOS-UP       Программа
  0FF10       6      2 368    (2K)  vmm32        Данные

Сведения о памяти:

 Тип памяти           Размер        Занято      Свободно
 ----------------  -----------   -----------   -----------
 Обычная               655 360        31 232       624 128
 Верхняя               178 560       178 560             0
 Зарезервировано             0             0             0
 Память XMS         32 196 224       341 632    31 854 592
 ----------------  -----------   -----------   -----------
 Всего памяти:      33 030 144       551 424    32 478 720

 Ниже 1 МБ:            833 920       209 792       624 128


 Дескриптор   Имя EMS     Размер  
 -------     --------     ------  
       0                  09C000

 Всего отображаемой памяти (EMS):               32 571 392     (31M)
 Свободно отображаемой памяти (EMS):            16 777 216     (16M)
 Память, доступная через прерывание Int 15h:             0     (0K)
 Максимально допустимый размер программы:          624 112   (609K)
 Наибольший свободный блок верхней памяти:               0     (0K)
 Резидентная часть MS-DOS загружена в сегмент HMA.

 Версия XMS:  3.00; версия драйвера:  3.95
 Версия EMS:  4.00


А если значение buffers обнулить - это как повлияет на систему?

[s]Исправлено: Cursed, 21:58 5-02-2003[/s]

Отправлено: 21:47, 05-02-2003 | #15


Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


Cursed
Цитата:
после чего она дорабатывалась. Эти доработки  привели к тому, что при выполнении некоторых операций она просто стала вываливаться по ошибке "Мало памяти"
Все языки группы dBase (dBase, FoxBase,Clipper, да и FoxPro) - процедурные. При доработке проекта разными программистами весь проект обычно засирается глобальными переменными, как следствие - забивается стек (о чём никто не думает - это ведь не Си какой-нибудь)="out of memory".

Как разновидность последствий доработки - в проге где-то может появиться ошибка, которая вылазиет при каких-то условиях, редко. Отследить бывает очень трудно.

Хотя, если она нормально работает под DOS - сделай дамп памяти в чистом DOSе - сколько там свободно?

Да, и ещё. А ошибку сэмулировать можно? Т.е. известна ли последовательность операций при работе с прогой после которых появляется ошибка нехватки памяти?

Отправлено: 22:19, 05-02-2003 | #16


Старожил


Сообщения: 234
Благодарности: 0

Профиль | Отправить PM | Цитировать


mazepkstan
Цитата:
известна ли последовательность операций при работе с прогой после которых появляется ошибка нехватки памяти?
Вообще это всегда (за очень редким исключением) одно и тоже - когда создается, грубо говоря,  отчет, содержащий в себе большое число данных, либо когда создается "очень сложный" отчет, опять таки, с большим количеством информации.

Отправлено: 22:36, 05-02-2003 | #17


Пользователь


Сообщения: 79
Благодарности: 0

Профиль | Отправить PM | Цитировать


1. Попробуй найти и вписать в autoexec.bat русификатор keyrus. Тогда можно будет выкинуть все mode con, display.sys и keyb.com.
2. У тебя SCSI HDD? Если нет, то зачем DBLBUFF? Впиши в msdos.sys в раздел [Options] следующие строки:
DblSpace=0
DoubleBuffer=0
DrvSpace=0
Сначала только сними с него атрибут "только чтение"
Кстати, файл drvspace.bin можешь тогда вообще удалить.
3. DOS=HIGH в config.sys присутствует?
4. В config.sys проверь наличие:
FCBSHIGH=1,0

Добавлено:

Я бы предложил следующее построение конфигурационных файлов.
******** CONFIG.SYS ********
dos=high,umb,noauto
device=C:\WINDOWS\himem.sys /testmemff
fileshigh=250
fcbshigh=1,0
buffershigh=12
stackshigh=9,256
lastdrivehigh=Z
Country=007,866,C:\WINDOWS\COMMAND\country.sys
device=C:\WINDOWS\emm386.exe noems verbose ram
device=c:\windows\ifshlp.sys
******** AUTOEXEC.BAT ********
@ECHO OFF
set TEMP=C:\TEMP
set TMP=C:\TEMP
SET PATH=C:\ARC;C:\UTL;C:\VC;C:\NC
lh C:\UTL\keyrus.com

Какой-то мизерный выигрыш это всё даёт, но он слишком мал, чтобы отвоевать даже 620 свободных килобайт. Боюсь, ты уже достиг предела.
Кстати, а программа случайно не умеет работать с EMS? Тогда можно было бы ей выделить, и пусть себе юзает...

-------
I prefer Slackware 10.2 + fvwm 2.5.14 installed on my on my nx8220. KDE 3.4 is not bad too :)


Отправлено: 23:12, 05-02-2003 | #18


Старожил


Сообщения: 234
Благодарности: 0

Профиль | Отправить PM | Цитировать


Yozh
Цитата:
Кстати, а программа случайно не умеет работать с EMS?
А как это можно определить? И кстати, загадка, лично  для меня во всяком случае - почему под W2k работает нормально без сбоев и вылетов, если учитывать, что mem выдает свободными 600 килобайт. Единственное что происходит - это сумашедшая загрузка процессора, но это решается с помощью доп. утилит.

Отправлено: 00:35, 06-02-2003 | #19


Пользователь


Сообщения: 79
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата:
А как это можно определить?


Добавлено:

Она вообще под DOS, без загруженной винды, работать сможет?
Тогда загружаемся с config.sys, где есть строка с emm386, но без параметра noems (в этом случае будет эмулироваться некоторое количество EMS-памяти). И проверь, сможет ли программа в этом случае запуститься и нормально работать. То же самое можешь сделать в Windows: создай для программы PIF (как ярлык), разреши в его свойствах EMS и запусти.

-------
I prefer Slackware 10.2 + fvwm 2.5.14 installed on my on my nx8220. KDE 3.4 is not bad too :)


Отправлено: 03:01, 06-02-2003 | #20



Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 95/98/Me (архив) » Война за первые 640 kb памяти

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
S.T.A.L.K.E.R. .:[ обсуждение модов ]:. nightmare95 Игры 10 14-11-2011 12:42
Проблема с кулером на XFX 8800 GTS 640 -anton- Видеокарты 2 21-10-2009 03:00
Another War (Другая война) HETPE3B Игры 29 02-07-2005 11:47
WinXP и 640*480 Murder7 Microsoft Windows 2000/XP 8 01-03-2004 21:06




 
Переход