Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   Старый софт »   DOS/16M
RSS

DOS/16M

Использование

<<Назад  Вперед>> Страницы: 1 2 3 4
Печать
 
Zelya
Member


Откуда: Львов
Всего сообщений: 187
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
11 янв. 2009
Интересуют некоторые моменты работы DOS/16M на 286-м.
1. Где-нибудь он используется?
2. Постоянное переключение реального/защищенного режимов - довольно длительная и небезопасная операция на 286 (имеется в виду возврат к реальному). Как? Даже Windows и OS/2 этот вопрос толком не решили.
3. Взаимозаменяемость с DOS/4G. Представим, что есть программа, которая использует 4 Мб памяти через DOS/4G, и больше ничего от 386-го ей не надо. Если ее пересобрать с DOS/16M, она будет работать на 286-м?
DOS Logic
Advanced Member
d(-_-)b

Откуда: Украина. Ивано-Франковск
Всего сообщений: 4778
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
1 июля 2006
На 286 нет возврата в реальный режим, только перегрузка

это в 386 он есть)
Zelya
Member


Откуда: Львов
Всего сообщений: 187
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
11 янв. 2009
DOS Logic
Да, в 286 он штатно не предусмотрен. Но через контроллер клавиатуры можно было ухитрится сбросить процессор, и он снова стартовал в реальном режиме. Этот костыль, хоть и часто использовался, но был довольно-таки тормознутым и ненадженым. Именно по этому я и задал вопрос №2.
DOS Logic
Advanced Member
d(-_-)b

Откуда: Украина. Ивано-Франковск
Всего сообщений: 4778
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
1 июля 2006
OS/2 писала слишком серезная кантора чтобы использовать какие-то не документированные костыли :) там такого небыло
Zelya
Member


Откуда: Львов
Всего сообщений: 187
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
11 янв. 2009
DOS Logic
В OS/2 1.x IBM использовали целый набор мозгодробительных костылей, чтобы хоть как-то и все фичи 286-ого использовать и с DOS быть совместимыми. Например, нижнее ОЗУ резервировалось для эмуляции DOSа, и в защищенном режиме это было просто неиспользуемая дыра (огромная по тем меркам). Или, например, драйвера писались одновременно под два режима. Они и рады были б обойтись "клавиатурным" костылем, но он не удовлетворял всем требованиям.
AndNot
Full Member


Откуда: Penza, Russia
Всего сообщений: 215
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
19 июня 2006
Ребята, вы о чем? "Клавиатурный костыль" - это документированная возможность сброса процессора, введенная еще с 8086-й машины и работающая на всех современных. А причину сброса биос узнает с помощью байта отключения (CMOS[0x0F]). Начиная с 286-й ввели 5-ть кодов, как раз для работы с защищенным режимом: 6-8 - сброс после работы в защищенном режиме, 9 - сброс после копирования блока памяти из основной в расширенную (используется обработчиком INT 15h), и 0xA - сброс и немедленная передача управления по адресу, лежащему в 0000h:0476h. Например память биос подсчитывает и тестирует именно в защищенном режиме, возвращаясь к продолжению POST-процедур посредством сброса через "клавиатурный костыль" (код сброса - 0x8).

Так что переход из защищенного в реальный режим прокатит на всех 286-х машинах. Скажу больше, это прокатит и на всех других машинах. Я это использовал для экстренного выхода из вин 3.11 в реальный режим на 386-й машине.

PS: а программисты мелкософта, кто бы что ни думал о этой конторе, были отличными профи - именно они нашли выход, когда оказалось, что в 286-м процессоре не предусмотрена процедура перехода в реальный режим. И мелкософт никогда бы не решился на это будь вероятность несовместимости - тогда еще была хоть какая то конкуренция ОС.
Zelya
Member


Откуда: Львов
Всего сообщений: 187
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
11 янв. 2009
AndNot
[q]
Ребята, вы о чем?
[/q]
Мы все о том же. Ну не предусмотрели в 286 штатный возврат к реальному режиму, как в 386. И чтобы это сделать нужно было использовать "клавиатурный костыль" - т.е. сбросить процессор, и он по-новому стартанет в реальном режиме. Только вот беда, это слишком долго и ненадежно. Поэтому Windows 2.x/3.х на 286-м работают в реальном режиме, а OS/2 1.x на 286-м пользуется костылями, описанными выше.
alecv
Advanced Member


Откуда: Санкт-Петербург
Всего сообщений: 5545
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 окт. 2004
DOS Logic Покурите матчасть, пожалуйста

http://en.wikipedia.org/wiki/LOADALL
AndNot
Full Member


Откуда: Penza, Russia
Всего сообщений: 215
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
19 июня 2006
Zelya, в 286-м есть штатный режим перехода в реальный из защищенного - по сбросу. А то, что для этого не использовалась отдельная команда, так это косяк инженеров интела, считавших, что защищенный режим настолько хорош, что если кто-то в него перейдет, то выходить в реальный ему не захочется. По крайней мере такие байки гуляли в мою молодость. Но, еще раз подчеркну, это не костыль, это строго документированная функция, которой придерживались все последующие процессоры. Собственно и вмешался из-за слова "костыль", поскольку сброс через контроллер клавиатуры был вполне стандартизирован. В те времена инженерам приходилось бороться за каждый бит, вот и получали биты конфигурации там, где их логически быть не должно бы. Особенно этим грешат видеоадаптеры, у которых вообще такая мешанина битов, что впору психушку вызывать. Однако все пользуются ягой и ВГА и не вякают, считая что так и должно быть :)
Что касается скорости, то выбора все равно нет - бери что дают. Кстати, не скажу за счет dos/16m, но Borland Pascal использует защищенный режим как раз под 286-е машины. Помню злился на них за это, приходилось писать свои либы для адаптации паскаля к 32-х разрядному защищенному режиму :) Я это к тому, что на паскале можно прекрасно испытать защищенный режим 286-х машин.


alecv написал:
[q]
DOS Logic Покурите матчасть, пожалуйста

http://en.wikipedia.org/wiki/LOADALL
[/q]
DOS Logic был прав. Что касается команды loadall. Найдите хоть один 286-й камень, который не поддерживал бы эту команду ;) Тогда и обсудим, документированная это команда, или нет.
Zelya
Member


Откуда: Львов
Всего сообщений: 187
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
11 янв. 2009
AndNot написал:
[q]
А то, что для этого не использовалась отдельная команда, так это косяк инженеров интела, считавших, что защищенный режим настолько хорош, что если кто-то в него перейдет, то выходить в реальный ему не захочется. По крайней мере такие байки гуляли в мою молодость.
[/q]
Такая байка гуляет и сейчас. Так что думаю, это совсем не байка.

AndNot написал:
[q]
Но, еще раз подчеркну, это не костыль, это строго документированная функция, которой придерживались все последующие процессоры.
[/q]
Хоть мы и сваливаемся в жесткий флейм, но все-таки я останусь при своем мнении - это костыль. Сам факт бутания процессора и десятки проблем связанных с этим, ради того чтобы вернуться в реальный режим - непорядок. Была такая шутка, что Intel задизайнили 386, увидев как программисты OS/2 мучаются с 286-м.

AndNot написал:
[q]
Borland Pascal использует защищенный режим как раз под 286-е машины
[/q]
Очень интересная информация! Спасибо!
<<Назад  Вперед>> Страницы: 1 2 3 4
Печать
Полигон-2 »   Старый софт »   DOS/16M
RSS

0 посетителей просмотрели эту тему за последние 15 минут
В том числе: 0 гостей, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS