Jump to content

Дескриптор сегмента


Recommended Posts

Добрый день.

Читаю о дескрипторе сегментов. Возник вопрос, касательно размещения информации о начале/конце сегмента.

Скрин:

http://habreffect.ru/files/d12/a078575bb/%D0%A1%D0%B5%D0%B3%D0%BC%D0%B5%D0%BD%D1%82%D0%BD%D1%8B%D0%B9_%D0%B4%D0%B5%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D1%80.png

Верхнее изображение взято мною отсюда. Нижнее - это детализация верхного изображения, выполненная мною для большей наглядности: разбил на 4 части, по два байта каждая и пронумеровал по порядку все биты.

Из схемы видно, что адрес начала сегмента прописан в битах 16-39 и 56-63. Т.е. для того, чтобы получить полный линейный адрес начала сегмента, необходимо выполнить конкатенацию этих битов? Почему линейный адрес не прописывается подряд, например с 16 по 47? Для чего такое разбиение? Аналогичное разбиение видим для адреса конца сегмента - он так же разбит на два блока битов: 0-15 и 48-51.

Благодарю за внимание.

С уважением Андрей.

Link to post
Share on other sites

Если кого интересует ответ, то он такой (получил на др. форуме):

Цитата:

Так сложилось исторически. Впервые защищенный режим появился в 80286, где дескрипторы были по 8 байт, но два старших были зарезервированы. В 80386 ввели поддержку адресации 4Г памяти, и для этого расширили поля базы и лимита, но для обеспечения обратной совместимости младшие 6 байт дескриптора оставили без изменений.

Link to post
Share on other sites

Ещё меня интересовал такой вопрос:

почему в том случае, когда флаг G установлен в 1, за единицу измерения (при определении размера смещения последней ячейки сегмента) принимается именно 4096 байт (т.е. 2 в 12 степени), а не что-то другое?

Ответ скорее всего такой: потому, что 4Kb - это размер страницы (4096b = 4Kb). В Linux отдаётся предпочтение страничной модели памяти.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...