работу памяти (MMU, преобразование виртуальных адресов в физические, машинное слово, таблицы страниц под разные процессы и т.п.) под x86-64? (Intel, Linux)
У меня есть общее представление, однако, я совсем не могу без углубления, чтобы я мог понимать на более-менее адекватном уровне для себя.
По возможности, с визуализацией и/или примерами на ASM/C/Rust.
p.s. понятно, что есть малая часть инструкций, что отличаются от процессоров (amd или intel и другие), и понятно, что одни и те же инструкции могут работать по разному (в плане производительности) на разных процессорах. Нужно что-то общее, но при этом не просто "соответствующие инструкции хранятся по зараннее заданному адресу памяти" или "для каждой выполняемой программы виртуальный адрес сопоставляется с физическим" - слишком поверхностно, сразу задаюсь вопросами "что за адрес памяти?", "как именно виртуальный адрес сопоставляется с физическим?" и т.п.
p.p.s. желательно книжечку 🥺
Есть intel developer manual по всей архитектуре x64
Обсуждают сегодня