Jump to content

Реальный режим

(Перенаправлено из реального режима )

Реальный режим , также называемый режимом реального адреса , является режимом работы всех x86 -совместимых процессоров . Режим получил свое название из-за того, что адреса в реальном режиме всегда соответствуют реальным местам в памяти. Реальный режим характеризуется 20- битным сегментированным адресным пространством памяти (что дает 1 МБ адресуемой памяти) и неограниченным прямым программным доступом ко всей адресуемой памяти, адресам ввода-вывода и периферийному оборудованию. Реальный режим не поддерживает защиту памяти, многозадачность или уровни привилегий кода.

До введения защищенного режима с выпуском 80286 реальный режим был единственным доступным режимом для процессоров x86; [1] а для обратной совместимости все процессоры x86 запускаются в реальном режиме при перезагрузке, хотя можно эмулировать реальный режим в других системах при запуске в других режимах.

В архитектуре 80286 появился защищенный режим , позволяющий (помимо прочего) защитить память на аппаратном уровне. Однако для использования этих новых функций потребовалась новая операционная система , специально разработанная для защищенного режима. Поскольку основная спецификация микропроцессоров x86 заключается в том, что они полностью обратно совместимы с программным обеспечением, написанным для всех чипов x86 до них, чип 286 был создан для запуска в «реальном режиме», то есть в режиме, в котором отключается новая память. функции защиты, чтобы он мог работать с операционными системами, написанными для 8086 и 8088 . По состоянию на 2018 год текущие процессоры x86 (включая процессоры x86-64 ) способны загружать операционные системы в реальном режиме и запускать программное обеспечение, написанное практически для любого предыдущего чипа x86, без эмуляции или виртуализации. В 2023 году Intel предложила исключить реальный режим из будущих процессоров в спецификации X86S .

ПК BIOS , представленный IBM, работает в реальном режиме, как и операционные системы DOS ( MS-DOS , DR-DOS и т. д.). Ранние версии Microsoft Windows работали в реальном режиме. Windows/386 позволяла в некоторой степени использовать защищенный режим, и это было более полно реализовано в Windows 3.0 , которая могла работать либо в реальном режиме, либо использовать защищенный режим, как в Windows/386. В Windows 3.0 на самом деле было несколько режимов: «реальный режим», «стандартный режим» и «расширенный режим 386»; последний требовал некоторых функций виртуализации процессора 80386 и, следовательно, не мог работать на 80286. В Windows 3.1 удалена поддержка реального режима, и это была первая массовая операционная среда, для которой требовался как минимум процессор 80286. Ни одну из этих версий нельзя было считать современной операционной системой x86, поскольку в защищенный режим они переходили только для определенных функций. Unix , Linux , OS/2 , Windows NT считаются современными ОС, поскольку они переключают ЦП в защищенный режим при запуске, никогда не возвращаются в реальный режим и постоянно предоставляют все преимущества защищенного режима. 64-битные операционные системы используют реальный режим только на этапе запуска, и ядро ​​ОС переключает ЦП в длинный режим . [2] Примечательно, что защищенный режим 80286 значительно более примитивен, чем улучшенный защищенный режим, представленный в 80386; последний иногда называют защищенным режимом 386, и это режим, в котором работают современные 32-битные операционные системы x86. [ нужна ссылка ]

Адресная емкость

[ редактировать ]

8086, 8088 и 80186 имеют 20-битную адресную шину, но необычная схема сегментированной адресации, которую Intel выбрала для этих процессоров, на самом деле создает эффективные адреса, которые могут иметь 21 значащий бит. Эта схема сдвигает 16-битный номер сегмента на четыре бита влево (образуя 20-битное число с четырьмя наименее значащими нулями) перед добавлением к нему 16-битного смещения адреса; максимальная сумма получается, когда и сегмент, и смещение равны 0xFFFF, что дает 0xFFFF0 + 0xFFFF = 0x10FFEF. В 8086, 8088 и 80186 результатом эффективного адреса, который переполняет 20 бит, является то, что адрес «перетекает» до нулевого конца диапазона адресов, т. е. он берется по модулю 2 ^ 20 (2 ^ 20 = 1048576 = 0x100000). Однако 80286 имеет 24 бита адреса и вычисляет эффективные адреса до 24 бит даже в реальном режиме. Таким образом, для сегмента 0xFFFF и смещения больше 0x000F 80286 фактически осуществит доступ к началу второго мегабайта памяти, тогда как 80186 и более ранние версии получат доступ к адресу, равному [offset]-0x10, который находится в начале второго мегабайта памяти. начало первого мегабайта. (Обратите внимание, что на 80186 и более ранних версиях первый килобайт адресного пространства, начиная с адреса 0, является постоянным, неподвижным местоположением таблицы векторов прерываний.) Таким образом, фактический объем памяти, адресуемый процессорами x86 80286 и более поздних версий в реальном режиме, составляет 1 МБ + 64 КБ – 16. Б = 1 114 096 Б.

линия А20

[ редактировать ]

Некоторые программы, предшествовавшие 80286, были разработаны с учетом преимуществ циклической адресации памяти (по модулю), поэтому 80286 представлял проблему для обратной совместимости. Установка 21-й адресной линии (фактического провода логического сигнала, выходящего из чипа) на низкий логический уровень, представляющий ноль, приводит к эффекту по модулю 2 ^ 20, который соответствует арифметике адреса более ранних процессоров, но 80286 не имеет внутреннего возможность выполнять эту функцию. Когда IBM использовала 80286 в своем IBM PC/AT , они решили эту проблему, включив программно настраиваемый вентиль для включения или отключения (принудительного обнуления) адресной линии A20 между выводом A20 на 80286 и системной шиной; он известен как Gate-A20 (ворота A20), и он до сих пор реализован в чипсетах ПК. Большинство версий драйвера расширенной памяти HIMEM.SYS для IBM-/MS-DOS, как известно, отображают при загрузке сообщение о том, что они установили «обработчик A20», часть программного обеспечения для управления Gate-A20 и координации его с потребностями программ. . В защищенном режиме линия A20 должна быть включена, иначе возникнут ошибки физической адресации, которые могут привести к сбою системы. Современные устаревшие загрузчики (например, GNU GRUB ) используйте строку A20. [3]

Переход в реальный режим

[ редактировать ]

Intel ввела защищенный режим в семейство x86 с намерением, чтобы операционные системы, которые его использовали, полностью работали в новом режиме и чтобы все программы, работающие в операционной системе с защищенным режимом, также работали в защищенном режиме. Из-за существенных различий между реальным режимом и даже довольно ограниченным защищенным режимом 286 программы, написанные для реального режима, не могут работать в защищенном режиме без перезаписи. Таким образом, при наличии широкой базы существующих приложений реального режима, от которых зависели пользователи, отказ от реального режима создал проблемы для отрасли, и программисты искали способ переключения между режимами по своему желанию. Однако Intel, в соответствии со своими намерениями относительно использования процессора, предоставила простой способ переключения в защищенный режим на 80286, но не простой способ вернуться в реальный режим. До модели 386 единственным способом переключиться из защищенного режима обратно в реальный режим была перезагрузка процессора; после перезагрузки он всегда запускается в реальном режиме, чтобы быть совместимым с более ранними процессорами x86 до 8086. Сброс процессора не очищает оперативную память системы, поэтому это, хотя и неудобно и неэффективно, на самом деле осуществимо. В защищенном режиме состояние процессора сохраняется в памяти, затем процессор сбрасывается, перезагружается в реальном режиме и выполняет некоторый код реального режима для восстановления сохраненного состояния из памяти. Затем он может запускать другой код реального режима, пока программа не будет готова вернуться в защищенный режим. Переход в реальный режим требует больших затрат времени, но этот метод позволяет программам защищенного режима использовать такие службы, как BIOS, который работает полностью в реальном режиме (изначально разработанный для 8088 на базе персонального компьютера IBM Модель (тип машины) 5150). Этот метод переключения режима также используется DPMI (под реальной, а не эмулируемой DOS) и расширителями DOS, такими как DOS/4GW, чтобы позволить программам защищенного режима работать под DOS; система DPMI или расширитель DOS переключается в реальный режим для вызова вызовов DOS или BIOS, а затем переключается обратно, чтобы вернуться к прикладной программе, которая работает в защищенном режиме.

Отклонить

[ редактировать ]

Переход к ядру NT привел к тому, что операционной системе не требовалась DOS для загрузки компьютера, а также она не могла ее использовать. Необходимость перезагрузки компьютера в реальном режиме MS-DOS уменьшилась после Windows 3.1x , пока она больше не поддерживалась в Windows ME . Единственный способ запуска приложений DOS, которым требуется реальный режим, из новых версий Windows — это использование эмуляторов, таких как DOSBox , или продуктов виртуализации x86 .

См. также

[ редактировать ]
  1. ^ «Справочник по процессорам x86 (архивировано 8 сентября 2018 г. — вместо «Краткой истории x86»: alasir.com/x86ref: 403 запрещено 24 марта 2023 г.)» . Архивировано из оригинала 8 сентября 2018 года . Проверено 24 марта 2023 г. {{cite web}}: CS1 maint: bot: исходный статус URL неизвестен ( ссылка )
  2. ^ «Загрузка · Linux внутри» . 0xax.gitbooks.io . Проверено 10 ноября 2020 г.
  3. ^ «Линия A20 — OSDev Wiki» . wiki.osdev.org . Проверено 10 сентября 2020 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 4cbd8fda29afc737d506ec76a5c38201__1719299280
URL1:https://arc.ask3.ru/arc/aa/4c/01/4cbd8fda29afc737d506ec76a5c38201.html
Заголовок, (Title) документа по адресу, URL1:
Real mode - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)