The OpenNET Project / Index page

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



"Прогресс в разработке компилятора для языка Rust на базе GCC"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Есть идеи по улучшению форума и сайта ? Пишите.
. "Прогресс в разработке компилятора для языка Rust на базе GCC" +/
Сообщение от Аноним (-), 01-Июл-22, 10:52 
> Фон Неймановская - совместное хранения команд и данных в единой памяти

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

Приложено невообразимое количество усилий, чтобы сохранить иллюзию фон неймановскости как своего рода абстракцию, но это leaky абстракция, она течёт как peшeтo. И если ты хоть раз попробуешь сделать на современном железе что-нибудь интересное, ты увидишь это воочию.

Но я бы рекомендовал пойти и получить хорошее образование, потому что твоё явно осталось на уровне 8 класса 80-х годов.

> Да, части процессора используют идеи гарвардской - раздельные кэши, раздельные шины.

Да, и если мы решим что фон неймановскость -- это не о том, как для программиста выглядит, а как оно в железе реализовано, и закопаемся глубже чтобы посмотреть на устройство железа, мы увидим, что типов памяти гораздо больше. Ассоциативная память под кеши, RAM... И гора костылей поддерживающих иллюзию фон неймановскости. И эта абстракция не менее leaky чем софтварная.

> И все эти закидоны с безопасностью, W^X например, или защиты стека от ROP - именно следствие Неймановской.

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

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Прогресс в разработке компилятора для языка Rust на базе GCC, opennews, 30-Июн-22, 09:04  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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