Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Старый софт » Windows и память |
<<Назад Вперед>> | Страницы: 1 2 | Печать |
Zelya
Member
Откуда: Львов Всего сообщений: 187 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 11 янв. 2009 |
Хочу прояснить для себя некоторые детали для Windows 2.x и Windows 3.0. Самый простой вариант: Windows 2.x и Windows 3.0 в Real mode - доступно 640 Kb памяти (с himem + еще несколько десятков?), мультизадачность ДОС приложений (эмуляция 8080) отсутствует. Вариант №2 (тоже простой): Windows 3.0 в Standart режиме (для 286). Эмуляции нет, память до 16 (?) метров. Вариант №3 (еще один простой): Windows 3.0 для 386. Эмуляция присутствует, память, хоть и адресуется как в 386, но из-за ограничения Винды - тоже до 16 (?) метров. Вариант №4 (непонятный): Windows 2/286, эмуляция, ясен пень, отсутствует, полноправный Real mode (очень похож на Win 3.0 в таком же режиме). Но тогда какие ресурсы 286 проца использует эта версия? Вариант №5(загадочный) Windows 2/386. Самый "темный" для меня вариант. Ясно только, что какая-никакая многозадачность для ДОС приложений поддерживается. Стало быть, проц работает в защищенном режиме. Но тогда появляются вопросы: во-первых, что с памятью? А во-вторых, что с Real mode приложениями? Они же любят завалится под protected mode. Конечно, грамотно написанное прилодение будет работать и так и так, но все же Microsoft рекомендовал запускать Win 2.x приложения под Win 3.0 только в режиме Real mode. Как же тогда Win 2/386 работает с Win 2.03 приложениями? Вобщем, имеется 7 знаков вопроса. 3 по первым трем пунктам нуждаются в уточнении, а остальные мне непонятны, может, кто подскажет. |
Anderson1
Advanced Member
Откуда: Москва Всего сообщений: 2098 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 27 фев. 2011 |
Самый простой вариант тоже не самый простой, ибо не надо забывать про EMS, которая тоже в реальном режиме адресуется. Впрочем в случае эмуляции с менеджером памяти режим на самом деле не реальный, но винда считает его реальным. Вариант 4: используется HMA, т.е. первые 64KB по A20 - знаменитая ошибка 286-го процессора. Причём если там сидит himem+dos, то винда 2/286 не запускается. Вариант 5: погдядеть ms dos shell с включённой переключалкой задач - она как винда в защищённом режиме, только без win-приложений, только DOS. Память dos-приложений подкачивается на диск во временный каталог - отдельно на каждую задачу. Т.е. не как в 386-режиме с одим свопом на всё. Касательно всяких софтин под дос-экстендеры, то скорее всего они всё повесят. |
Zelya
Member
Откуда: Львов Всего сообщений: 187 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 11 янв. 2009 |
Windows 2.x либо 3.0 сам по себе EMS, вроде, не умеет. То есть поместить какой-то свой софт в UMA Windows не сможет и если кто-то его использует - Винде попарабану. Правильно? Самый простой вариант тоже не самый простой, ибо не надо забывать про EMS Если есть два приложения, которые раскиданы в разные фрагменты памяти, как с ними можно работать, считая режим реальным? Впрочем в случае эмуляции с менеджером памяти режим на самом деле не реальный, но винда считает его реальным. То есть, вся поддержка 286 - это дополнительные 64 КВ? Вариант 4: используется HMA Не, запускается, только кричит, что "конфигурация памяти изменена, я работаю не оптимально, переустанови меня". Интересно только, если в config.sys нигде не прописывать DEVICEHIGH - все равно ругается. Причём если там сидит himem+dos, то винда 2/286 не запускается Т.е. windows 2/386 переключается в защищенный режим, используя только эмуляцию, а из памяти используется первый метр, приблизительно, как в Real mode? Если да, то разве это не тормозит работу? Вариант 5: Не понял. Выходит Windows 2/386 ни с чем не совместима? Касательно всяких софтин под дос-экстендеры, то скорее всего они всё повесят. |
Anderson1
Advanced Member
Откуда: Москва Всего сообщений: 2098 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 27 фев. 2011 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 1 июня 2011 0:21 Сообщение отредактировано: 1 июня 2011 0:23
По крайне мере Win3.0a пишет в About Program Manager: Real Mode (Large Frame EMS) Free Memory......xxxK (yyyK in EMS) Free Expanded Memory......32zzzKB Т.е. все 32MB EMS видит. Да, вся поддержка 286 это +64KB. В те времена считалось, что переключить 286-й в защищённый режим это очень сложно devicehigh это касается запуска в UMB's - не путать с HMA, в которую DOS грузится по команде config.sys "DOS=HIGH". Вариант 5: Где-то так. MS и тормозит разве это не синонимы? Выходит что не совместима. Из всех 2-х виндов стабильно запускается только 2.03. BTW, 386-расширенный режим в Win 3.0 это тоже песня, как и стандартный. Нужны весьма специфические условия, чтоб в них заработало. Тогда как 3.1 в обычных условиях запускается свободно и не ругается на всякие уже установленные защищённые режимы от emm386 например. |
Zelya
Member
Откуда: Львов Всего сообщений: 187 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 11 янв. 2009 |
Давайте определимся с теримнами . Я думал, что память имеет следующий вид: 0 - 640 - досутпная всем память 640 - 1024 - UMA или UMB (зарезервировання память), а EMS - стапнадрт, который позволяет "выдрать" из нее несколько десятков килобайт 1024 - 1088 - НМА - пробелма A20. Himem используя это расширяет память на 64 КВ 1088 - ... - XMS - вся остальная память По моим понятиям, EMS никак не может быть мегабайтами. Но, судя, по Вышему логу EMS Винда 3.0 все-таки умеет, и даже видит больше 16 метров (проверить не мог, а Википедии написано - 16) Вроде, не переключить в защищенный, а вернуть в реальный, но и то была не главная проблема. Где-то читал, что IMB в OS/2 1.0 пытались реализировать эмуляцию ДОС программ в расширенном режиме 286. Напомню, что в отличие от 386 у него нет аппаратной виртуальной машины. Так вот, из-за всех этих заморочек по достпупу к памяти (программа досутпается как бы в реальном режиме, но в дейстивтельности проц в защищенном) работа получилось нетерпимо медленной. Поэтому и был придуман костыль - OS/2, работая в расширенной памяти, резервировала нижние 640 КВ для ДОС программ, и когда они запускались, сбрасывала проц в реальный режим и выполняла ДОС-программу. Поэтому мне очень подозрительно, что Виндовс добилась, пусть и не лучших, но терпимых результатов в запуске Real mode программ в protected mode. В те времена считалось, что переключить 286-й в защищённый режим это очень сложно Ну, моя 2/286 на 286 компе работает неплохо Выходит что не совместима. Из всех 2-х виндов стабильно запускается только 2.03. |
Fe-Restorator |
NEW! Сообщение отправлено: 1 июня 2011 14:47 Сообщение отредактировано: 1 июня 2011 15:40
Zelya написал: EMS - это такая фиговина, что позволяет обзирать немеряны просторы XMS через 64К замочную скважину, проковырянную где-то в пределах UMA. Остальную часть UMA EMS не пользует вовсе. Одновременно EMS и XMS не живут, ибо замещают друг-друга, "вытесняя противника" с поляны боевых действий. EMS - стапнадрт, который позволяет "выдрать" из нее несколько десятков килобайт Причём, EMS будет работать даже если в компе физически установлено всего 640К памяти. Ибо для таких компов выпускались ISA-based карточки с 64К RAM-кешем и 1..32 метра памятью на борту. Кстати, а что означает "стапнадрт"? Стопарь+нарды??? |
Сейчас на форуме |
Anderson1
Advanced Member
Откуда: Москва Всего сообщений: 2098 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 27 фев. 2011 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 1 июня 2011 17:55 Сообщение отредактировано: 1 июня 2011 17:56
Про EMS Fe-Restorator исчерпывающе написал. Винда 3.0 видит 16 метров XMS, из-за того, что понимает стандарт XMS только версии 1.0, т.е. до 16MB. Напомню, что XMS 2.0 = 64MB, а текущий 3.0 = 4GB. К совершенно другому стандарту на совсем иной тип памяти это естественно не относится. Касательно win vs. os/2 то не забывать, что это противостояние полуось проиграла с треском, который ещё назывался winos/2 Может в т.ч. и по этой причине? Толку в Win2/286 никакого - DOS прекрасно сама засовывается в HMA замечательно освобождая нижнюю память. Так что поддержка HMA в Win/286 получается скорее помехой, чем помощью. |
Zelya
Member
Откуда: Львов Всего сообщений: 187 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 11 янв. 2009 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 1 июня 2011 18:02 Сообщение отредактировано: 1 июня 2011 18:07
Fe-Restorator Ага... то есть EMS позволяет мапить любые 64 КВ XMS в UMA. Ну, и имея свободный доступ в XMS, понятно EMS нафиг нужно. Правильно? И вдогонку вопрос, Win 2/286 умеет EMS? Anderson1 То есть Ваша Вин 3.0 видела 32 метра, через EMS? Дмуаю, ОС/2 проиграла из-за того, что пока она разрабатывалась под все ресурсы 286 проца, был выпущен революционный 386. ОСи, ориентированный на этот проц писались быстро, и работали отлично, чего не скажешь про OS/2 1.x, которая из-за костылей для 286 страшно глючила и на 386. Касательно win vs. os/2 то не забывать, что это противостояние полуось проиграла с треском, который ещё назывался winos/2 Может в т.ч. и по этой причине? |
Fe-Restorator |
NEW! Сообщение отправлено: 1 июня 2011 19:20 Сообщение отредактировано: 1 июня 2011 19:29
Zelya написал: Нет! При юзании EMS никаких XMS нет и в помине, просто N метров неизвестной никому памяти. EMS позволяет мапить любые 64 КВ XMS в UMA. Ну, и имея свободный доступ в XMS, понятно EMS нафиг нужно Исторически сперва появился EMS, ибо ни ХТ, ни 186/286 не могли адресовать более 1 мегабайта памяти. Именно поэтому в UMA просверливалось очко размером в 64К(размер сегмента) и сквозь него, как сквозь лупу, покадрово просматривались все "неизвестные процу" гигазы RAM, обычно распаяные на ISA-driven карточке, часто с дополнительным RAM-extender разъмом, величиной с ещё одну ису, под его ответную часть, впаяную в мать и посаженную напрямую на шину памяти. Потом появился 386, защищённый режим и нативная поддержка 32 метров памяти, здесь расцвёл XMS, ибо более нет нужды в аппаратном "очке" тормознутого EMS, а программное EMS-очко в виде emm386.exe было оставлено для совместимости с "особо-умными прогами", жить не желающими без EMS. Zelya написал: Этого не ведаю, но, если и умеет, то скорее всего - не нативно, а через некий посторонний драйвер. Запускалась-же когда-то win2 на 286-8 с 3-мя метрами памяти... Помню сие, но не помню конфы того компа, был-ли там емс... Win 2/286 умеет EMS |
Сейчас на форуме |
Anderson1
Advanced Member
Откуда: Москва Всего сообщений: 2098 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 27 фев. 2011 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 1 июня 2011 23:26 Сообщение отредактировано: 1 июня 2011 23:27
Zelya написал: Да. Только что экспериментально это установил - и 2.03 и 2.10/286 отлично видят все 32MB EMS, о чём пишут а About. И вдогонку вопрос, Win 2/286 умеет EMS? Zelya написал: Снова да. Однако, Win 3.0 таки держит XMS 2.0, ибо имеет в комплекте himem.sys с поддержкой этой версии XMS и рапортует о 74MB свободной памяти в 386-расширенном режиме. Но если забить первые 16MB XMS рамдиском или дисковым кешем, винда пишет о нехватке памяти. Т.о. не факт что и со всеми 32-мегами EMS оно будет работать. Anderson1То есть Ваша Вин 3.0 видела 32 метра, через EMS? |
Zelya
Member
Откуда: Львов Всего сообщений: 187 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 11 янв. 2009 |
Fe-Restorator Так ведь 286-й мог адресовать до 16 метров и имел свой защищенный режим. Это тоже было XMS 1.0? Исторически сперва появился EMS, ибо ни ХТ, ни 186/286 не могли адресовать более 1 мегабайта памяти. Anderson1 Странно. Я как не конфигурил свою Винду на 286-м с 4-мя метрами - никак их увидеть не мог.... Только что экспериментально это установил - и 2.03 и 2.10/286 отлично видят все 32MB EMS |
Anderson1
Advanced Member
Откуда: Москва Всего сообщений: 2098 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 27 фев. 2011 |
Zelya написал: Это потом придумали как получить доступ на 286 к больше мегабайта памяти, не считая 64KB HMA конечно - когда уже 386-е были. До того так и ставили EMM карты памяти на 286, как на XT. Fe-RestoratorТак ведь 286-й мог адресовать до 16 метров и имел свой защищенный режим. Это тоже было XMS 1.0? Исторически сперва появился EMS, ибо ни ХТ, ни 186/286 не могли адресовать более 1 мегабайта памяти. Zelya написал: Естественно, ибо на 286 менеджеры памяти типа emm386 не пойдут - что кстати ясно уже из их названия. Надо довольно экзотическую прогу, которая дёргая чипсет матери включала запись в аппаратные UMB's, организовала там фрейм для EMS, а уже потом эмулировала на XMS. Т.е. в реальном режиме. Работает это далеко не на всех 286-х машинах. Anderson1Странно. Я как не конфигурил свою Винду на 286-м с 4-мя метрами - никак их увидеть не мог.... Только что экспериментально это установил - и 2.03 и 2.10/286 отлично видят все 32MB EMS |
Fe-Restorator |
NEW! Сообщение отправлено: 2 июня 2011 13:14
Zelya написал: Этот режим в 286-х камнях прошёл минимум 3 правки, "сервис-пака", если хочешь так сказать. Так ведь 286-й мог адресовать до 16 метров и имел свой защищенный режим. Это тоже было XMS 1.0? Первые камни вообще не могли его включить! Да и чипсет не готов был к этому режиму, ибо сильно ещё наследие ХТ в архитектуре и методах построения чипсетов (читай - всё на рассыпухе слеплено, мать размером 520х670 мм, простыня такая ). Частота камней - до 8 МГц. Более новые мамки, 270х330 мм размером уже обладали неким чипсетом, из 4-5 чипов и дискретной обвязки. Камни(добрались частотой до 16 МГц) на них уже умели включать защищённый режим, но сам чипсет ещё не поддерживал память более метра, ибо работал нестабильно с таким объёмом RAM. В это время появляется 386-й камень, с изначально правильным режимом работы и адресацией всей имеющейся памяти (стоила она дорого и не у каждого её выло 4 метра, не говоря-ух о большем. Лишь наиболее поздние камни и поздние мамки переняли у 386 правила работы, ибо иначе не выдерживали конкуренции. Появились 20-и мегагерцовые камни и чипсеты, держащие до 16 метров памяти + был и слот под EMS для совместимости и расширения памяти до 32 метров, в теории. На практике-ж был жуткий конфликт XMS-а с EMS-ом. |
Сейчас на форуме |
<<Назад Вперед>> | Страницы: 1 2 | Печать |
Полигон-2 » Старый софт » Windows и память |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |