Сегментация никаких
реальных преимуществ не даёт, а вот управление памятью усложняет вполне себе реально. Во всяком случае, я преимуществ у неё не вижу (и, кстати, понятия не имею, что такое шеллкод). Если Вы таковые видите, то я не возражал бы от заслушивания всего списка :)
Микроядерная архитектура защиту, вообще говоря, не улучшает. Она улучшает изоляцию модулей системы друг от друга и тем самым в теории уменьшает негативные последствия от их сбоев и упрощает поиск ошибок, но не более того. Хотя косвенно защита может улучшиться, но происходит это вследствие потенциального уменьшения числа ошибок и их влияния на другие компоненты системы, а не от архитектуры как таковой.
АДД. Относительно первого сообщения. Про шеллкод уже сказал: я не знаю, что это такое; гуглить и читать нагугленное лениво, а посему и прокомментировать не могу.
Цитата:
ОСь при сегментной адресации меньше и работает она надежнее.
Оба содержащихся здесь утверждения неверны. Надёжность вообще не зависит от того, какая организация памяти используется, она зависит исключительно от качества проектирования и реализации самой системы. Управление же памятью с сегментацией а-ля ИА-32 сложней, чем управление с помощью страниц -- хотя бы в силу того, что размеры у сегментов могут быть произвольными, а страницы имеют фиксированные размеры (ну или один из нескольких размеров, причём по выбору системы).
Цитата:
Организовать свопинг проще чем пейджинг и работать он будет быстрее и аппаратная часть будет проще.
Тоже неверно. Обмениваться с диском порциями фиксированного размера проще, чем переменного (не нужно вводить дополнительные проверки и т.д. и т.п.). Скорость в среднем получается выше при страничной организации, и в первую очередь за счёт того, что сегмент приходится выбрасывать из памяти или загружать обратно целиком, а это могут быть гигабайты. Что же касается страниц, то там производится выгрузка/загрузка небольших порций данных, причём именно тех, которые действительно нужны или почти наверняка не нужны. Что немаловажно, такая "оптимизация" получается сама собой, без усилий со стороны программиста-прикладника (он лишь может ещё больше увеличить эффективность, располагая совместно используемые данные поближе друг к другу и так же поступая с кодом), а вот в случае с сегментацией от программиста зависит очень и очень много. В частности, в условиях не слишком большого объёма физической памяти неграмотное разбиение на сегменты может вообще в миллиарды раз уронить производительность (представьте себе подкачку сегмента размером 1 Гбайт через каждые 20-30 машинных команд).