> Фигня в том что страничная адресация это совершенно другой уровень управления памятью. Да. Это сразу подразумевает нормальную изоляцию процессов друг от друга и от ядра ОС. То что там протупили с одним конкретным видом изоляции т.к. интернет тогда был уделом избранных и проблема не стояла, а телепаты были в отпуске - второй вопрос.
> О то что есть какие-то страницы приложения знать не обязательно. А
> сегментное разделение это логическая структура приложения.
В нормальной многозадачной операционке приложение не должно само лезть в такие дебри.
[..]
> Ещё раз, сегменты и страницы это совершенно различные уровни абстракций.
Из страниц можно изображать разные регионы-"сегменты" с разными правами доступа. То что один полезный вариант прав не предусмотрели - ну да, упущеньице.
[..]
> Защита через сегменты появилась в 82-м году, работает и не пробивается.
А паровозы появились вообще более 100 лет назад и им было плевать на обрыв контактной сети. И чего теперь, на паровозах чтоли ездить до упора?
> NX bit - четверь века спустя и, по сути, не является гарантированым
> решением проблемы. Такой прямо мегаскачок :)
На самом деле - в лобовую пробить аппаратно выставленный NX бит достаточно проблематично. MMU вполне честно энфорсит права на доступ в память. А то что хакеры находят разные веселые воркэраунды - так это еще вопрос что было бы с сегментами. Их нынче никто не юзает и поэтому проверки на практике не было.
[..]
>> не вижу чем защита памяти через сегменты лучше защиты памяти через
>> MMU и атрибуты страниц.
> Ну что я могу сказать. Лучше тем что она работала ещё когда вас в проекте не было,
Кто сказал что меня не было в проекте? Мы тут шарлатанов не вызывали.
> в отличии от.
А вот паровозы изобрели когда меня не было в проекте. Они стало быть лучше скоростных поездов, правда? И чего это все от них дружно отказались?
> Это к чему? Решили блеснуть знаниями? Какие ещё исключения знаете? :)
Это лишь к тому что хорошо когда обычной программе не приходится заморачиваться с свопом, сегментами и прочими сущностями.
>> Внезапно, деление на кернел и юзер ничего такого не запрещает.
> Ужас. Показываю на пальцах. Пробили вы драйвер сетевухи. В совеременных осях вы
> сразу оказываетесь в ring0 и можете делать что угодно, а при
> нормальной реализации защиты вы будете сидеть в ring1/2 и нихрена делать
> не можете.
Ага, вас послушать так в ring3 и вообще пукнуть нельзя. А поди ж ты, хаксоры умудряются оттуда полностью систему раздолбать. Наиболее очевидный вариант: можно там спокойно сидеть и патчить все что качает юзер, довешивая эксплойты на известные дыры для известных форматов файлов + втыкать вирусы в все скачиваемые EXE. Но это же сущие пустяки, да? :)
Кстати если драйверу нельзя опасные операции - он должен просить ос. И тут еще вопрос как там с безопасностью всего этого. А чем это принципиально отличается от того что ring3 просит ядро разрулить запросы?