Разделы:


Best links:

под фотостудию

--------------------------

Максимальный режим работы цп

·        Описание сегмента занимает 8 байт и использовать 8-байтные сегментные регистры было бы крайне неэффективно.

·        Селекторы имеют размер в 16 бит, благодаря чему их можно использовать в сегментных регистрах и обращаться к памяти можно по-прежнему через пару регистров.

·        Параметры всех сегментов хранятся в отдельной области памяти, доступ к которой имеет только операционная система. Программа, используя селектор, сможет получить о сегменте совсем немного информации и не сможет изменить параметры сегмента, благодаря чему очень удачно реализуется механизм защиты

Адрес памяти можно указывать не только через пару регистров, но и в переменных, через пару значений селектор:смещение.

        Можно было бы определить селектор просто, как номер сегмента, но в защищённом режиме кроме сегментов, дескриптор может определять целый ряд других системных объектов (например, задач), поэтому лучше не упрощать понятия селектора и дескриптора, а привыкнуть к этой терминологии.

        Селектор имеет следующий формат:

Image

Рис. 5.2. Формат селектора.

        Использование селекторов достаточно просто. Для тех дескрипторов, которые будут определены заранее, например, сегментов кода, стека и данных, селекторы подготавливаются как константы и затем используются для загрузки в сегментные регистры. Для дескрипторов, которые программа будет динамически создавать, селекторы придётся определять в переменных и загружать в сегментные регистры из памяти либо конструировать "на ходу", или даже как константы - всё зависит от конкретных условий. Способы использования селекторов и дескрипторов вы можете найти в примерах, которые будут следовать в дальнейших главах.

предыдущаяследующая