@beduin01

Правильно ли я понимаю устройство оперативной памяти?

Привольно ли я понимаю устройство оперативной памяти? Я напишу с рядом упрощений, чтобы убедиться в том, что я базовый уровень адекватно понимаю.

1. Каждый процесс имеет доступ к 32 (или 64) битовому адресному пространству.
2. Каждый процесс общается с памятью через специальную прослойку (менеджер памяти)
3. Во время переключения между процессами каждому процессу подсовывается его собственное адресное пространство
3.1 Где и как хранится набор адресных пространсв я так и не понял
4. В каждом участке памяти для процесса есть куча с стек.
4.1 В стеке хранятся данные и адреса функций с их параметрами
4.2 На процесс стек может быть только одним
4.3 Зеленые нити/файберы (и их аналоги) хороши тем, что работают в рамках одного сегмента стека и не создают новый т.е. экономится время на пункте 3.

Пожалуйста напишите где я прав, где не прав, а то есть чувство что где-то недопонимаю очень сильно.
  • Вопрос задан
  • 167 просмотров
Пригласить эксперта
Ответы на вопрос 1
@vilgeforce
Раздолбай и программист
Вы не правы в том, что не указываете ОС.
"В стеке хранятся данные и адреса функций с их параметрами" - адреса это те же данные. И код это те же данные, и он тоже может храниться и исполняться на стеке. Причем одни и те же данные могут быть и валидным адресом и валидным кодом.
Вам нужно читать Таненбаума и Русиновича, а заодно что-нибудт по защищенному режиму процессора.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы