Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Технический флейм » Окончание производства 286-х |
<<Назад Вперед>> | Страницы: 1 2 3 * 4 5 | Печать |
0leg
Advanced Member
Откуда: Город-герой Тула Всего сообщений: 1991 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 6 окт. 2007 |
borisfox, > В любом случае, если в каких-то версиях 286 и можно было вернуться через LOADALL Ну почему же "в каких-то"? Вообще ни в каких. Об этой команде можно почитать, напр., у Фроловых в 6 томе Библиотеки Системного Программиста. Там явно сказано: "... эту команду [loadall286] нельзя использовать для переключения процессора из защищённого в реальный режим.". madmax, >> кому был нужен ущербный защищённый режим 286 во встроенных системах > В чем же его ущербность? Странный вопрос... Понятия "страничная виртуальная память", "режим VM86" тебе о чём-нибудь говорят? |
madmaks
Full Member
Откуда: Россия, Ярославская обл., г. Углич Всего сообщений: 204 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 23 сен. 2008 |
borisfox написал: Да, но там на странице сразу еще есть ссылка В ссылке речь про LOADALL в 386 процессорах...Read LOADALL magazine article and download LOADALL demo source code. . Можно поискать в сети "LOADALL 286" и т.п., чтобы выяснить вопрос о сбросе при перезагрузке регистра MSW при LOADALL, если это важно - не сбрасываться. borisfox написал: Да, недокументированная возможность это плохо, но применительно к LOADALL это скорее диагностическая возможность процессора, поскольку все процессоры при производстве нуждаются в диагностике, то можно рассчитывать на процессор, который ее имеет. Для больших партий процессоров можно просто заказать у производителя переход по флагу в MSW, когда сброс выполнят небольшие внутренние схемы процессора. LOADALL - это ведь недокументированная возможность borisfox написал: Сбрасываться, вероятно, тяжело только в архитектуре IBM PC, в иных архитектурах, нежели IBM PC, переход в реальный режим может быть не очень нужен, так как используется только при инициализации самого BIOS после reset, для инициализации таблиц защищенного режима в ОЗУ (для надежности многозадачной системы функции BIOS тоже должны работать в защищенном режиме). Но такой способ больше напоминает хак, чем нормальный путь |
madmaks
Full Member
Откуда: Россия, Ярославская обл., г. Углич Всего сообщений: 204 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 23 сен. 2008 |
borisfox написал: Да ведь это 16 разрядный процессор! И что, он сильно хуже 186-го в этом плане? В 16-разрядности виртуальных адресов |
madmaks
Full Member
Откуда: Россия, Ярославская обл., г. Углич Всего сообщений: 204 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 23 сен. 2008 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 13 октября 2008 7:56 Сообщение отредактировано: 13 октября 2008 8:44
0leg написал: Ничего странного, вы сами то писали программы под 286 защищенный режим, в чем лично вы нашли проблему с виртуальной памятью 286-го? Странный вопрос... Понятия "страничная виртуальная память" (ред)Кстати, 0leg написал: Тогда как вы это объясните: у Фроловых в 6 томе Библиотеки Системного Программиста. Там явно сказано: "... эту команду [loadall286] нельзя использовать для переключения процессора из защищённого в реальный режим "Read LOADALL magazine article and download LOADALL demo source code" написал: Что же будет, если в защищенном режиме флаг MSW будет сигналить о реальном режиме? LOADALL loads all of the CPU registers (including MSW, GDTR, CSBASE, ESACCESS) from a memory image. You can execute LOADALL in real or protected mode. |
borisfox
Advanced Member
Откуда: Хабаровск Всего сообщений: 946 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 июля 2008 |
madmaks написал: Не хуже. borisfox написал:Да ведь это 16 разрядный процессор! И что, он сильно хуже 186-го в этом плане? В 16-разрядности виртуальных адресов Но если говорить о встроенных системах, то во времена 286 столько ресурсов (и поддержка многозадачности с механизмами защиты памяти) в них требовались редко, а когда начали требоваться - уже стал доступен 386. 186 вполне хватало, тем более, что в нём, по сравнению с 286, не было лишнего (для данных систем), а не-лишнее в виде элементов ввода-вывода было. В защищённом режиме с 16-разрядными указательными регистрами возни с программированием значительно больше, чем в реальном - приходилось организовывать множество относительно мелких дескрипторов... Что же касается коммерческих ПК, то парк софта, полноценно использующий защищённый режим, просто не успел развиться, как уже сменилось поколение процессоров. Опять же, отсутствие в многозадачных ОС обратной совместимости с большим спектром наработанного ПО для MS-DOS усугубляло ситуацию... |
borisfox
Advanced Member
Откуда: Хабаровск Всего сообщений: 946 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 июля 2008 |
madmaks написал: В невозможности организовать виртуальную память вне физического ОЗУ методом paging. Без страничной организации памяти доступен только swapping. 0leg написал:Ничего странного, вы сами то писали программы под 286 защищенный режим, в чем лично вы нашли проблему с виртуальной памятью 286-го? Странный вопрос... Понятия "страничная виртуальная память" Отличия вкратце описаны у Фроловых: http://www.emanual.ru/download/8259.html Своппинг использовать, конечно, тоже можно, но некомфортно. Скорее всего, бит режима будет игнорирован. Эксперимент лично я сам не ставил, но (ред)Кстати,тут утверждается, что возврат в реальный режим с помощью LOADALL невозможен. См. RESTRICTIONS в конце странички. |
0leg
Advanced Member
Откуда: Город-герой Тула Всего сообщений: 1991 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 6 окт. 2007 |
madmax, > в чем лично вы нашли проблему с виртуальной памятью 286-го? Собственно, borisfox уже ответил... > Что же будет, если в защищенном режиме флаг MSW будет сигналить о реальном режиме? А самому проверить это что, трудно? |
madmaks
Full Member
Откуда: Россия, Ярославская обл., г. Углич Всего сообщений: 204 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 23 сен. 2008 |
borisfox написал: Нет-нет, это неправда. Если у вас в устройстве несколько независимых портов, которые надо уметь одновременно обрабатывать, то даже только аппаратные средства процессора по восстановлению/сохранению контекста обработчика наждого порта делают вашу жизнь лучше и веселее, а уж все остальное тем более. В защищённом режиме с 16-разрядными указательными регистрами возни с программированием значительно больше Но никто никогда не мог предсказать с 286 процессором когда и как он выполнит нужную вам команду, откликнется на событие и т.д., т.е. ему нужны аппаратные обвесы (таймеры, буфера и т.д., даже иногда вспомогательные контроллеры), хотябы только чтобы соблюсти временные параметры для аппаратуры - поддержать обработку в реальном времени. 0leg написал: Просто интересно, а зачем вам понадобилась именно страничная память? Чем-то наверно не устроили остальные варианты? Собственно, borisfox уже ответил... borisfox написал: Да, это возможно. Скорее всего, бит режима будет игнорирован. |
borisfox
Advanced Member
Откуда: Хабаровск Всего сообщений: 946 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 июля 2008 |
madmaks написал: Для этого совершенно не требуются механизмы защиты памяти (и не всегда нужно переключение задач), т.к. во встроенных системах ОС, как правильно, всегда однопользовательская, с одной большой, если нужно - многопоточной, задачей, реализующей функции устройства. Обработка событий производится в основном в контексте прерываний. borisfox написал:Нет-нет, это неправда. Если у вас в устройстве несколько независимых портов, которые надо уметь одновременно обрабатывать, то даже только аппаратные средства процессора по восстановлению/сохранению контекста обработчика наждого порта делают вашу жизнь лучше и веселее, а уж все остальное тем более. В защищённом режиме с 16-разрядными указательными регистрами возни с программированием значительно больше Сама с собой встроенная ОС и различные задачи/потоки, исполняющиеся внутри неё, конфликтовать не должны, это задача разработчика - отладить встроенное ПО. Пользователь ничего к нему добавить/убавить не может, и тем самым стабильность правильно спроектированной системы не нарушит. Более того, во многих современных ОС (например, в unix семейства BSD) не используются средства переключения задач, специально для этого разработанные в IA32 (TSS). Контекст сохраняется и восстанавливается обычным сохранением необходимых регистров. Году в 96 я переписывался с одним из разработчиков BSD/OS (Paul Borman) как раз по этому поводу - как же так, такой замечательный механизм, и не используется - и ответ был обескураживающим: "We are curious why you believe that using a separate TSS per process or thread would make context switching faster. On first glance we would think it would actually make it quite a bit slower." В линухе, насколько помню, аналогичный подход. В солярисе не смотрел, незачем было. Как в windows - не знаю. :-) Всмысле?... Как задано, так и выполнит... Откликнется в соответствии со спецификацией... Какая тут может быть неопределённость? Но никто никогда не мог предсказать с 286 процессором когда и как он выполнит нужную вам команду, откликнется на событие и т.д., Так ведь ни один процессор в вакууме не работает, любому нужны схемы тактирования и сопряжения с внешними устройствами - другое дело, что у некоторых они уже встроенные на кристалле, некоторым нужны внешние... т.е. ему нужны аппаратные обвесы (таймеры, буфера и т.д., даже иногда вспомогательные контроллеры), хотябы только чтобы соблюсти временные параметры для аппаратуры - поддержать обработку в реальном времени. Со страничной организацией виртуальная память реализуется более эффективно, чем без неё. 0leg написал:Просто интересно, а зачем вам понадобилась именно страничная память? Чем-то наверно не устроили остальные варианты? Собственно, borisfox уже ответил... Никто не говорит, что нельзя работать без страничной памяти. Можно (особенно если вообще отказаться от подкачки). Но с ней проще и удобнее. То, что её нет в 286 - один из его недостатков. Особенно при уровне быстродействия оперативной памяти тех времён. В PDP-11, к слову, страничная адресация была (в моделях с MMU)... По-моему спор зашёл в глубокий офтопик. :-) |
madmaks
Full Member
Откуда: Россия, Ярославская обл., г. Углич Всего сообщений: 204 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 23 сен. 2008 |
borisfox написал: ну, вам виднее. Для этого совершенно не требуются механизмы защиты памяти borisfox написал: Парень, видать, путает процессы и нити. одним из разработчиков BSD/OS (Paul Borman) ... using a separate TSS per process or thread borisfox написал: Ни разу не встречал контроллеров с подкачкой. Можно (особенно если вообще отказаться от подкачки). Но с ней проще и удобнее. borisfox написал: Отчего -же? Человек желал знать выпускаются ли 286, а если нет, то кто виноват и что делать. По-моему спор зашёл в глубокий офтопик. :-) |
<<Назад Вперед>> | Страницы: 1 2 3 * 4 5 | Печать |
Полигон-2 » Технический флейм » Окончание производства 286-х |
0 посетителей просмотрели эту тему за последние 15 минут |
В том числе: 0 гостей, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |