Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » Защищенный режим 286 |
<<Назад Вперед>> | Страницы: 1 2 * 3 4 5 6 7 | Печать |
Zelya
Member
Откуда: Львов Всего сообщений: 187 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 11 янв. 2009 |
DrPass написал: Почти все экстендеры выходят из защищенного режима сразу же, как только получат нужные адресса для расширенной памяти. Далее программа работает в реальном режиме. Не совсем так. Экстендеры обычно служат обёрткой над приложением. Т.е. они запускаются вместе с приложением, уводят проц в защищённый режим, обеспечивают приложению управление памятью в защищенном режиме, шлюзы для прерываний и т.д., а при завершении приложения обратно "вертают усё как было". DrPass написал: ДОС не умеет выделять память программе в защищенном режиме. Стало быть, либо сама программа возьмет на себя часть работы ОСи, либо она моментально хряпнется. Что касается "DOS умеет/не умеет", тут момент неоднозначный. DrPass написал: Все оно кончено так, ноеще разЖ ДОС не может запустить программу в защищенном режиме. ДОС ничего не может, вобще сделать в защищенном режиме. И если программа сама переходит в этот режим и что-то там делает, то это не благодаря, а вопреки ДОС. Формально говоря, DOS "отпускает" приложение в свободное плавание сразу после передачи ему управления, и её вообще не интересует, как и в каком режиме приложение там будет работать. |
Zelya
Member
Откуда: Львов Всего сообщений: 187 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 11 янв. 2009 |
Bobo написал: Да, нужно. Првада, не чтобы включился, а чтобы мы получили такую фичу, как анриал-режим. ну, регистры перед этим надо загрузить нужными значениями чтоб он включился Но человек вон уже собрался LOADALL-ом себе защищенный режим под ДОСомвключать, не нужно его обнадеживать. |
DrPass
Advanced Member
Откуда: Донецк Всего сообщений: 3566 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 17 апр. 2005 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 11 августа 2015 3:05 Сообщение отредактировано: 11 августа 2015 3:14
Zelya написал: Что значит "ДОС не умеет выделять память в защищенном режиме"? Это в реальном режиме DOS не умеет выделять память программе. Формально куцый менеджер памяти там есть, но он используется только для внутреннего управления внутри ОС, а программам просто отдаётся на откуп вся доступная память начиная с точки загрузки. А для защищенного режима в DOS как раз есть драйвер управления памятью, в частности himem.sys. ДОС не умеет выделять память программе в защищенном режиме. Стало быть, либо сама программа возьмет на себя часть работы ОСи, либо она моментально хряпнется. Кстати, вот он как раз и работает по описанной вами схеме, переключаясь в защищенный режим для выделения блоков памяти, и возвращаясь обратно в реальный. В отличие от DOS-экстендеров. |
Zelya
Member
Откуда: Львов Всего сообщений: 187 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 11 янв. 2009 |
DrPass Еще раз: ДОС не работает в защищенном режиме. himem.sys позволяет обратится к расширенной памяти в реальном режиме (через костыль с переключением в защищенный, а потом назад в реальный). В ральном режиме, кто управляет памятью - пофиг. Любая программа может писать в любую область памяти, ломая теоретическую мультиазадчность и саму ОСь. В защищенном режиме, программа получает свою область, где только она имеет право гадить. ДОС не умеет выделять защищенную память программы, и в защищенном режиме он просто "умрет". Кончено, есть вариант использовать VM86, начиная с 386, но это уже совсем другая тема. |
DrPass
Advanced Member
Откуда: Донецк Всего сообщений: 3566 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 17 апр. 2005 |
Zelya написал: Что значит "не работает"? Почему "он умрёт"? Объясните тогда, почему DOS не умирает после того, как поиграть в Duke Nukem? Или мы играем в Duke Nukem не в DOS, а в Xenix? Еще раз: ДОС не работает в защищенном режиме. P.S. По поводу объяснения, я в курсе, что такое GDT, LDT, про флаг защищенного режима в регистре cr0 и про сброс процессора через i8042. Поэтому я и пытаюсь добиться хоть какого-либо аргументированного объяснения, почему после перевода процессора в защищённый режим должна вдруг умереть система, которой в принципе пофигу на режимы процессора, потому что она вообще никак не взаимодействует с компьютером после передачи управления приложению. |
MMichael |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 11 августа 2015 12:07 Сообщение отредактировано: 11 августа 2015 12:16
yas написал: Позволю себе утверждать, что скорее всего вы за давностью путаете 286-й и 386-й компьютер. В свое время я ставил и даже работал довольно много на 80286 в Win 3.1 на 1Мб памяти. Ну как работал, как уже говорил, печатал на LQ100 документы в Write ;-) Еще как переключалку между DOS-сессиями использовал, этакий расширенный DOSSHELL. Чем мне такая работа запомнилась хорошо, так это практически невозможностью ничего кроме стандартного комплекта прог запустить на 1Мб. Хотя чего-то находил. Тем более виндовый офис не запускался. Но сама винда работала при этом на 12МГц 80286 со сносной скоростью. Во всяком случае ничего не тормозило при наборе текста. Там еще важно было хотя бы немного, хоть 64Кб, дать кэша для smartdrv. Office 4.0 запускался но тормозил так, как мама не горюй! Немножко лучше работал Works - помните такой пакет? Зато уже с 2 метрами с офисными приложениями уже можно было работать. А вот тормоза при наборе текста - это уже характерно для интенсивного использования свопа, которого для 80286 в винде не было. Только для 80386. На нем же, с учетом расширения памяти свопом, мог и Works запускаться. |
Zelya
Member
Откуда: Львов Всего сообщений: 187 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 11 янв. 2009 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 11 августа 2015 13:47 Сообщение отредактировано: 11 августа 2015 13:49
DrPass написал: Я писал выше: приложение, запущенное из-под ДОС в реальном режиме, может спокойно перейти в защищенный и работать в нем, перебрав на себя часть работы нормальной ОСи по выделению памяти. Так же это приложение не сможет вызывать ДОСовские функции в расширенном режиме, и должно снова переключать режимы, либо реализировать свои аналоги. По возвращению в ДОС, снова нужно перейти в реальный режим. Именно потому, что ДОС не умеет защищенный режим! Приложение - пожалуйста. Например, тот же Win 3.1, запущенный из-под ДОСа. Но сам ДОС - только в реале. Что значит "не работает"? Почему "он умрёт"? Объясните тогда, почему DOS не умирает после того, как поиграть в Duke Nukem? Или мы играем в Duke Nukem не в DOS, а в Xenix? |
DrPass
Advanced Member
Откуда: Донецк Всего сообщений: 3566 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 17 апр. 2005 |
Zelya написал: Верно. А теперь что такое "возвращение в DOS"? А ничего, просто передача управления одной нехитрой программмулине - командному процессору. Обычной программе, которая просто слушает консоль да выполняет три десятка нехитрых команд. Ну да, эта конкретная программа требует реального режима... хотя и в режиме виртуального 8086 прекрасно работает приложение, запущенное из-под ДОС в реальном режиме, может спокойно перейти в защищенный и работать в нем, перебрав на себя часть работы нормальной ОСи по выделению памяти. Так же это приложение не сможет вызывать ДОСовские функции в расширенном режиме, и должно снова переключать режимы, либо реализировать свои аналоги. По возвращению в ДОС, снова нужно перейти в реальный режим. Соответственно, работать в защищенном режиме в DOS всё-таки можно, верно? Ведь возможность выполнения приложений в защищенном режиме - это единственное, что требуется. Вы вообще в DOS, по-большому счёту, кроме выполнения приложений, практически ничего не делаете. Такая возможность есть, DOS этому никак не препятствует, и прекрасно уживается с драйверами защищенного режима. |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
DrPass написал: Вам же объясняют, что это будет уже не DOS. Если функции операционной системы не используется приложением, то это не работа в этой операционной системе. Приложение работает само по себе, независимо от операционных систем. И ему ни DOS не нужна, ни что-либо ещё. Можно запускать хоть из биос при старте компа. Соответственно, работать в защищенном режиме в DOS всё-таки можно, верно? |
Zelya
Member
Откуда: Львов Всего сообщений: 187 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 11 янв. 2009 |
DrPass написал: Именно, потому что ДОС не умеет защищенный Ну да, эта конкретная программа требует реального режима... DrPass написал: Я уже писал выше за этот режим. Это совсем другая песня, VM86 крутанский аппаратный эмуль. Можно написать даже программный эмуль на 286-м, который в защщенном режиме будет эмулировать реальный специально для ДОСа, даже двух, в отдельных окнах! Про скорость эмуляции тактически умолчу. хотя и в режиме виртуального 8086 прекрасно работает DrPass написал: Умеет ли дос WPA шифорвание под WiFi? Конечно, ведь мы можем запустить из-под него винду с соостветсвующими дровами. Умеет ли ДОС .NET Framework? Кончено! ДОС умеет и может все, ведь можно написать любую программу, которую он запустит. Давайте не путать понятия. Как Вы правильно заметили Соответственно, работать в защищенном режиме в DOS всё-таки можно, верно? DrPass написал: И вот тут то он полностью фейлит в защищенном режиме. В реальном выделение памяти побоку, и тут ДОС на высоте. А в защищенном, без выделенной памяти ничего не работает. И ДОС не справляется ни с одной из своих задач, как и основной (он не может запустить программу в защищенном режиме, только программа САМА может в него перейти), так и с второстепенными, например работа с файлами. А почему? Потому что ДОС не умеет защищенный режим Вы вообще в DOS, по-большому счёту, кроме выполнения приложений, практически ничего не делаете. |
<<Назад Вперед>> | Страницы: 1 2 * 3 4 5 6 7 | Печать |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » Защищенный режим 286 |
0 посетителей просмотрели эту тему за последние 15 минут |
В том числе: 0 гостей, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |