Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

Оперативная память в MS Windows95

Оперативная память в MS Windows95 Оперативная память в MS Windows95 Оперативная память в MS Windows95 OS Tips & Suggestions series Russian Team Windows'95 * Release 003 Independent group of professional users * Dec/31/1995 Founded: April 1995 * "Оперативная память в MS Windows95" (C) 1995 Alexander A Maltsev (C) 1995 Russian Team Windows'95 Portions (C) Microsoft Corp ------------------------------------------------------------------------- Перепечатка и распространение без ссылки на оригинал и авторов категорически запрещены! Со всеми вопросами обращайтесь: 2:5020/448.95 или amp@usa.net или в эхо-конференции SU.WIN95.* ------------------------------------------------------------------------- Данный документ входит в ряд статей, который готовим мы - Russian Team Windows '95. Статьи содержат полезные советы, описание скрытых возможностей, и другую информацию по такому многогранному продукту как Microsoft Windows95. Мы будем рады (как всегда!) услышать разумные советы по усовершенствованию наших материалов. Контактные адреса см. в заголовке. Спасибо за интерес! --- 1. Общая организация памяти 2. WINSTART.BAT 3. DOSSTART.BAT 4. UMB 5. XMS-память 6. EMS-память 7. Отвлеченные замечания * 1. Общая организация памяти Вся память делится на conventional (от 1 до 1M) и extended. В данных момент expanded память встречается редко и мы не будет ее упоминать, кроме как результат использования эмулятора (EMM386.EXE, QEMM386, 386MAX например). Первый 1M состоит из conventional (640K) и резервных 384K, которые содержат в себе буффера видеопамяти, код BIOSа для видео и доп. устройств. Неиспользованые блоки могут использоваться для загрузки DOS-программ. Для этого ваш менеджер памяти создает upper memory blocks (UMB). См. пункт "Создание и настройка UMB". Итак, ситуация для Windows95 и DOS одинакова. В отличии от NT, Win95 не умеет создавать "пустые" виртуальный машины (VM), но создает копии основного 1 мегабайта. Это означает, что в каждом DOS-окне вы имеете тот-же набор DOS-драйверов, что и до загрузки Win95. Я опускаю подробности типа кода ядра Win95, и т.д. Это мы расмотрим в другой статье. Однако заметим, что данная особенность сделана только ради сохрания возможности использование DOS-драйверов как последнего шанса поддержки железа, для которого пока нет "родных" Win95-драйверов. Вы по прежнему можете использовать принцип multi-config, как и ранее. В процессе загрузке Win95 в режиме GUI (Graphic User Interface) заменяет код BIOSа, драйвер мыши, CD-ROM, сети и т.д. В идеале вы можете вообще удалить autoexec/config и иметь поддержку всего железа только на базе родных драйверов Win95. Преимущества очевидны: быстрые 32-битные драйвера, без проблем с нереентарабельностью (система не ждет завершения текущей операции прежде чем начать выполнять другую), не используется 1M памяти, и т.д. В режиме MS-DOS Mode _никакие_ 32-битные драйвера не используются, т.к. это специальный принудительный режим полной совместимости с DOS с полной выгрузкой кода Win95 (за исключением небольшой части-загрузчика). [Хочу специально подчеркнуть, что этот режим сделан на крайний случай, и не существует в NT или OS/2, хотя IBM пошла по этому пути и планирует включить его в след. версии Warp]. Поэтому если вам нужен, к примеру, драйвер мыши в MS-DOS Mode, то вы должны загрузить DOS-драйвер, как и ранее. * 2. WINSTART.BAT Этот bat-файл (из директории Win95) выполняется в момент загрузки ядра/GUI (часть подсистем уже проинициализированы) и позволяет загрузить небольшой ряд программ, которые не могут быть запущены из autoexec.bat (например драйвер btrieve для NetWare). В этот файл можно написать вызов программы установки частоты видео-карты, к примеру, что оставляет еще меньше забот для сохранения autoexec.bat * 3. DOSSTART.BAT Этот bat-файл выполняется при выходе в MS-DOS Mode и позволяет автоматически загрузить нужные для текущей сессии DOS нужные драйвера (мыши например). Внимание: во время установки Win95 системы переносит часть известных ей драйверов в этот этот файл, тем самым избавляя вас от доп. усилий. * 4. UMB Как вы уже знаете, UMB (или upper memory) позволяет расширить область памяти, в которую возможна загрузка резидентных програм/драйверов (на всякий случай скажем, что не надо забывать, что мизерная часть TSR- программ не работают при загрузке в адресное пространство выше 640K), что освобождает первые 640K для работы других DOS-программ. Существует только один путь (в ранних бета-версиях Win95 был и другой) создания UMB -- через использование менеджеров памяти. Мы рассмотрим стандартную и входящий в поставку EMM386(.EXE) с незапамятных времен. Итак, минимальный набор для организации UMB (мы будем считать, что минимальное знание EMM386.EXE вы уже имеете): config.sys dos = high,umb device = himem.sys device = emm386.exe noems Если вам нужна EMS-память в MS-DOS режиме, то придется заменить "noems" на "auto" или "frame=" и надо задать блоки UMB с помощью команды "ram=-". Пример: [...] device = emm386.exe ram=b000-b7ff frame=c800 Загрузку программ в UMb нужно производить как и ранее, через использование команд DeviceHigh= (в config.sys) и LH . Этого вполне достачно для MS-DOS Mode. Но, по умолчанию Win95 (как и Windows 3.x) использует всю свободную UMB память (на момент загрузки) для размещения ядра. Для того, чтобы этого не происходило (ядро все равно останется в UMB), необходимо задать: system.ini [386enh] LocalLoadHigh=true после чего вы можете загружать DOS-драйвера и под 32-bit_kernel/GUI. Note: при использовании других менеджером памяти указанные шаги могут отличаться. Еще одна полезная команда это: system.ini [NonWindowsApp] LocalTSRs= Данная команда создает уникальные блоки для каждой VM и поэтому, скажем, переключатель клавиатуры не будет иметь один и тот-же статус во всех DOS-окнах. * 5. XMS-память Эта память обслуживается (как и ранее) драйвером HIMEM.SYS, который загружается в config.sys, либо самой Win95 если оный отсутствует. В момент загрузки ядра/GUI Win95 передает управление внутреннему 32-битному менеджеру памяти и на этом работа HIMEM.SYS заканчивается. Вы можете выделять XMS-память для DOS-программ используя стандартный путь через Properties нужной DOS-задачи, Memory -> Extended (XMS) Memory. Можно поставить Auto и тогда Win95 будет следить за запросами из DOS- задачи и довыделять память только в случае надобности. Это экономит память во многих ситуациях (для некоторых программ все же лучше задать необходимый размер, например для DOOM -- 4096Kb). * 6. EMS-память Expanded Memory стала довольно редка, но по прежнему используется некоторыми играми и старыми программами. Т.к. аппаратная реализации "канула в лету", то приходится использовать алгоритмы эмуляции. Подход в установки EMS памяти для DOS-задач схож с XMS. См. пункт "XMS" * 7. Отвлеченные замечания Мы рекомендуем активно использовать возможность задания загрузки bat-файла до вызова DOS-программы из-под kernel/GUI. Загляните в Properties -> Program -> Batch file. Создайте bat-файл и положите туда нужные вам резидентные программы. Не стоит ради пары программ грузить кучу резидентов в autoexec/config. Используйте возможность multi-config и пути задания уникальных autoexec.bat/config.sys для каждой DOS-задачи, работающей в MS-DOS Mode: Properties -> Program -> Advanced -> [X] MS-DOS Mode, (o) Specify a New MS-DOS Mode Configuration: CONFIG.SYS: , AUTOEXEC.BAT:... Желаем вам успеха и надеемся, что данная информация будет полезной!


  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте