Re[6]: история персональной ВТ
От: Pavel Dvorkin Россия  
Дата: 20.01.22 07:15
Оценка:
Здравствуйте, m2l, Вы писали:

m2l>Источник?

m2l>Даже в вики про 286 написано про защитный режим. Пусть и давно но я с ним работал, и то что он появился в 80286 и что добавили в 80386 знаю из документации (в живую их тогда уже не было).
m2l>32-битная адресация и защищенный режим — это разные вещи, которые не связаны друг с другом.

Так, давай разберемся до конца

Есть 16-битный PM и 32-битный PM. Первый появился в 80286, второй — в 80386. Сейчас, естественно, есть и 64-битный.

16-битный PM — это LDT/GDT/TR, 4 кольца и т.д. Сегментная модель. Страниц нет как понятия.
32-битный PM появился в 80286. Добавлены регистры CRi, страничный механизм, Page Directory, Page tables, трансляция линейного адреса. Для совместимости с PM-16, естественно, оставили LDT/GDT, и они теперь под 32 бита, но практически все ОС настраивают сегменты так, чтобы из база была 0, а лимит 4Г. То есть фактически "обнуляют" сегментный механизм от 80286 — он есть, но его преобразование есть тождественное преобразование.

Кстати, кое-что от PM-16 утеряли. Вместо 4 колец реально осталось 2 — User/Supervisor, там один лишь бит в PTE. Но это никого не огорчило — колец 1 и 2 никогда реально и не было. Как, впрочем, и задач в смысле 80286 с их переключением средствами самого процессора с переключением LDT. И сама идея иметь одну GDT и много LDT под каждую задачу тоже нигде не использовалась — в Windows 3.x все задачи Windows сидели в одной LDT и переключались средствами Windows, а не процессора.

Более того. В какой-то момент в 2000-е годы хотели вообще LDT/GDT исключить. Но тут оказалось, что без них нельзя сделать виртуальные машины — каждой нужно свое пространство. В общем, нашлось им в конце концов применение.

Источников сколько хочешь.

https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D1%89%D0%B8%D1%89%D1%91%D0%BD%D0%BD%D1%8B%D0%B9_%D1%80%D0%B5%D0%B6%D0%B8%D0%BC

https://ru.wikipedia.org/wiki/Intel_80386
With best regards
Pavel Dvorkin
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.