The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Прогресс в разработке компилятора для языка Rust на базе GCC"
Отправлено Аноним, 01-Июл-22 21:56 
> Современный x86 разделяет память на память для команд и данных. С точки
> зрения программиста -- прикладного, системного, ядерного -- разные области памяти нисколько
> не равноценны. ОС тщательно пытается скрыть эти нюансы

1) Это не только ОС пытается.
2) Изначально таки равноценны.
3) Кто и какие права в MMU страницам прописывает это вообще к нейман vs гарвард не относится напрямую.


> и пытается создавать для приложения иллюзию фон неймановскости,

Все проще. В современном железе до людей дошло что логически оно должно быть нейманом а физически гарвардом. Т.е. деление на I-bus и D-bus (а также соотв кеши у жирдяев) как бы есть и они как бы параллельно могут ворочаться и так быстрее, но логически при программировании мы это обычно не видим, кроме каких-то сильно специальных случаев.

> фон неймановскость -- самомодифицирующися код,

С этим не было бы никаких проблем - если бы не соображения systems security которые нынче так то диктуют правило W^X из соображений зарубания потуг эксплойтов на корню. Но это чисто конфигурационные вопросы на тему того какие права в MMU страницам прописаны.

> или подгрузить код библиотеки с диска, или даже прокинуть буфер в ядро --

При взаимодействии с ядром надо понимать что адресное пространство процесса и ядра просто разные. Также есть виртуальная память и физическая, и это 2 большие разницы. Но к нейман vs гарвард это не относится. Более того mmap() в лине даже можно конкретный регион физической памяти отмаппить, конечно только от рута, и без lockdown'а, ибо ведет к полному поимению системы.

> в юзерспейсе и буфер в ядре -- это разные области памяти.

А современные шустрые zerocopy интерфейсы и оптимизации про это в курсе? Другое дело что там куча проверок и правами MMU конечно же порубано. Однако, операции, вот, удешевили. Вплоть до zerocopy.

> peшeтo. И если ты хоть раз попробуешь сделать на современном железе
> что-нибудь интересное, ты увидишь это воочию.

Вообще это довольно нормальная абстракция, если не лезть в очень сильные дебри. Обращение к физическому адресу 0x100500 это именно оно, и только так. Какие права там в MMU и не прилетит ли за это в тыкву - вопрос номер два.

> костылей поддерживающих иллюзию фон неймановскости. И эта абстракция не менее leaky
> чем софтварная.

Это попытка и рыбку съесть (не иметь гребли с гарвардом) и косточкой не подавиться (одновременно гонять инструкции и данные для них).

> Да, исправление фон неймановской архитектуры с целью повышения надёжности, багоустойчивости
> системы.

Однако это лишь настройки MMU
// я другой анон если что

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру