Защищенный режим процессоров Intel 80286 80386 80486

         

Подавляющее большинство владельцев персональных компьютеров,


1.1. Адресация памяти в реальном режиме 1.2. Адресация памяти в защищённом режиме 1.3. Защита в процессоре i80286 1.4. Виртуальная память в процессоре i80286 Подавляющее большинство владельцев персональных компьютеров, совместимых с IBMPC, используют операционную систему Microsoft MS-DOS или аналогичную (IBM PC DOS или Digital Research DR DOS). Все эти операционные системы изначально разрабатывались для микропроцессора фирмы Intel i8086 или его более дешёвого аналога i8088. Именно такие микропроцессоры были установлены в первых персональных компьютерах фирмы IBM - IBM PC и IBM XT. Процессоры i8086 и i8088 относятся к 16-разрядным процессорам. Максимальный объём адресуемой ими оперативной памяти составляет 1 мегабайт, что определяется использованием 20-разрядной адресации памяти. Вы знаете, что разработчики фирмы IBM из всего мегабайтного адресного пространства отвели для оперативной памяти 640 килобайт, зарезервировав остальное для BIOS и аппаратуры. Именно на такую конфигурацию адресного пространства и рассчитана операционная система MS-DOS (и её аналоги). Поэтому максимальный размер оперативной памяти, доступной программам, работающим под управлением MS-DOS, обычно составляет 500-620 килобайт, в зависимости от версии операционной системы и её настройки, от типа компьютера, от конфигурации драйверов и резидентных программ. По мере внедрения персональных компьютеров в различные сферы деятельности человека быстро возрастала сложность программного обеспечения и требования к аппаратуре персонального компьютера. Скоро стало ясно, что для успешного решения многих задач объёма памяти в 640 килобайт явно недостаточно. Следующая удачная модель процессора фирмы Intel - 16-разрядный процессор i80286 - принципиально отличается от i8086. Этот процессор может работать в двух режимах - реальном и защищённом. В реальном режиме процессор i80286 является практически полным аналогом i8086, но имеет большее быстродействие. В реальный режим процессор переключается после аппаратного сброса или после включения питания компьютера. Реальный режим обеспечивает полную совместимость процессора i80286 с программным обеспечением, подготовленным для i8086.
Поэтому компьютер IBM AT (и его аналоги), в котором установлен процессор i80286, способен без труда работать с операционной системой MS-DOS и программами, разработанным ранее для процессора i8086. Однако полностью возможности i80286 реализуются в так называемом защищённом режиме, в который процессор может переключиться специальной командой из реального режима. В защищённом режиме процессор i80286 полностью преображается. Используя совершенно иной метод адресации памяти, процессор i80286 расширяет адресное пространство до 16 мегабайт. Процессор i80286 в защищённом режиме имеет встроенную поддержку мультизадачных операционных систем, значительно ускоряющую и упрощающую процесс переключения задач. Эта поддержка активно используется всеми мультизадачными операционными системами и оболочками, разработанными для компьютера IBM PC/AT.

Кроме расширения адресного пространства, новый метод адресации памяти позволяет изолировать адресные пространства отдельных задач друг от друга. При этом прикладная программа, работающая в среде операционной системы, использующей защищённый режим, не может случайно или намеренно разрушить целостность самой операционной системы. Вспомните, сколько раз вам приходилось перезагружать операционную систему MS-DOS в процессе отладки резидентных (да и не только резидентных!) программ. Так как в реальном режиме ваша программа может выполнять запись данных по любым адресам в пределах первого мегабайта, ей ничего не стоит записать что-нибудь в область памяти, принадлежащей операционной системе MS-DOS или испортить векторную таблицу прерываний. В защищённом режиме программа может записывать данные только в те области памяти, которые выделены ей операционной системой. Это сильно повышает надёжность работы мультизадачных и, в частности, мультипользовательских операционных систем. В последнем случае изолирование адресных пространств задач, принадлежащих отдельным пользователям, в хорошо спроектированной мультипользовательской операционной системе полностью исключает такую ситуацию, когда после запуска одним пользователем недостаточно отлаженной программы приходится перезапускать всю систему. Вообще говоря, по своим возможностям процессор i80286 в защищённом режиме больше похож на центральные процессоры больших и мини-ЭВМ, чем на микропроцессоры, использовавшиеся в первых моделях персональных компьютеров.


Поэтому i80286 (а также следующие модели - i80386 и i80486) обычно называют не микропроцессорами, а процессорами. В следующих моделях процессоров фирмы Intel - i80386 и i80486 - помимо расширения адресного пространства до умопомрачительной величины в 4 гигабайта реализована концепция страничной виртуальной памяти. Всё это возможно только в защищённом режиме. Не вдаваясь в детали (их мы рассмотрим позже) можно сказать, что механизм страничной виртуальной памяти позволяет разместить часть оперативной памяти на диске. В настоящее время стоимость оперативной памяти такова, что редко можно встретить персональные компьютеры, оснащённые более чем 16 мегабайтами оперативной памяти. Обычно же в наличии её имеется всего 3-4 мегабайта. Но если ваш компьютер имеет диск большого размера, вы можете задействовать часть диска для создания виртуальной оперативной памяти. При этом размер оперативной памяти (виртуальной), предоставляемый программам, ограничен разве что лишь размером свободного пространства на диске. Например, при работе в среде операционной системы WINDOWS версий 3.0 и 3.1 на компьютерах, оснащённых процессорами i80386 или i80486 в так называемом расширенном режиме (386 Enhanced Mode) ваша программа может распоряжаться несколькими десятками мегабайт виртуальной оперативной памяти, даже если в компьютере установлено только 3-4 мегабайта физической оперативной памяти. Конечно, виртуальная память работает медленнее, чем физическая, но, во-первых, 100 мегабайт виртуальной памяти обойдутся вам неизмеримо дешевле, чем 100 мегабайт физической памяти, а во-вторых, процессоры i80386 и i80486 используют специальные аппаратные средства, ускоряющие работу подсистемы виртуальной памяти. Кроме того, реально только механизм страничной виртуальной памяти может обеспечить прикладные программы относительно быстрой оперативной памятью, размер которой больше размера физической памяти, установленной в компьютере. Помимо страничной виртуальной памяти в процессорах i80386 и i80486 реализован так называемый режим виртуального процессора i8086 или просто виртуальный режим.


Этот режим реализуется в рамках защищённого режима (процессор может переключиться в виртуальный режим только из защищённого режима). В виртуальном режиме процессор способен выполнять программы, составленные для процессора i8086, находясь в защищённом режиме и используя аппаратные средства защищённого режима: мультизадачность, изолирование адресных пространств отдельных задач друг от друга, страничная виртуальная память. Наличие виртуального режима значительно облегчает проектирование операционных систем, способных выполнять одновременно в мультизадачном режиме несколько программ, ориентированных на операционную систему MS-DOS. Возможность одновременной работы нескольких программ, предназначенных для MS-DOS, реализована, например, в операционных системах WINDOWS версий 3.0 и 3.1 (в расширенном режиме и только при наличии процессоров i80386, i80486), OS/2 версии 2.0, Desk View 386. Перечислим кратко основные преимущества, которые получает программа, работающая в защищённом режиме процессора:
  • возможность непосредственной адресации памяти за пределами первого мегабайта;
  • для процесоров i80386 и i80486 реализован механизм страничной виртуальной памяти, позволяющий программам работать с памятью, размер которой может быть много больше физической оперативной памяти, установленной в компьютере;
  • аппаратная поддержка мультизадачности позволяет создавать на основе процессоров, работающих в защищённом режиме высокопроизводительные мультизадачные и мультипользовательские системы;
  • эффективная работа нескольких программ, составленных для MS-DOS, основанная на использовании виртуального режима работы процессора.
Изучение защищённого режима мы начнём с описания метода адресации памяти, коренным образом отличающегося от привычного для вас метода <сегмент:смещение> реального режима. Однако вначале напомним, как адресуется память в реальном режиме.

Содержание раздела