>>> Попробуйте увязать сегментную защиту с page sharing - и
>>> быстро поймете, что мир не такой уж и розовый.
>> Да лехко. Страничная адресация это совершенно другой уровень абстракции.
> Серьёзно? Потрудитесь описать механизм, и объяснить, как оно после этого будет коррелировать
> с Вашим "сегменты не пересекаются"?Да лехко. То что сегменты не пересакаются важно только в рамках одной задачи, и делается это всё в ldt. Т.е. с 0 по size идёт cs, потом данные, потом куча и с maxmem растёт вниз стек.
А дальше в общем-то всё просто. Механизм аналогичен тому что используется сейчас. Каждая задача таскает с собой свой каталог страниц (cr3 сохраняется в tss), и в нём настраивается что логический адрес с 0 (начало cs) и N соотв. страниц мапяться на участки физической памяти с кодом, и эту память все могут без проблем шарить.