Я читаю Концепцию операционных систем, и я нахожусь на восьмой главе!Однако я мог бы использовать некоторые разъяснения или заверения в том, что мое понимание верно.
Логические адреса: логические адреса генерируются процессором, согласно книге.Что именно это означает?(В сгенерированной исполнением адресной системе ...) Я предполагаю, что когда код скомпилирован для программы, программа имеет нет представление о том, где код будет загружен в память.Все, что делает компилятор, - это создает общий эскиз компоновки программы и того, как должно быть выложено изображение, но не присваивает ему никаких реальных адресов.Когда программа выполняется, CPU берет этот образ компоновки, который создал компилятор, и передает некоторые адреса (логические) тем, которые сгенерированы из кода.
Физические адреса: Физические адреса не генерируются до тех пор, пока ЦП не сгенерирует некоторый набор логических адресов (состоящий из базового адреса и смещения).Логические адреса проходят через MMU или другое устройство, и где-то вдоль линии логические адреса отображаются на физические адреса ОЗУ.
В чем же тогда разница?Я вижу одно преимущество.Использование логических адресов дает больше свободы приложениям.Если бы физические адреса были жестко запрограммированы, то успех программы сильно зависел бы от физического компьютера, доступных адресов ОЗУ и т. Д.
Разве использование логических адресов, преобразованных в физический адрес, не налагает двух шагов вместоодин в один, а значит больше над головой?
Где же тогда логические адреса находятся после генерации?Они могут существовать в регистре ЦП, пока ЦП обслуживает процесс, но до и после, куда они идут?Я понимаю, что это зависит от реализации.Я предполагаю, что они могут храниться в каком-то специальном регистровом пространстве или буфере на процессоре, таком как TLB, правильно?Если нет, то таблица может существовать в самом ОЗУ, а ЦП содержит только указатель / адрес на базовый адрес таблицы в ОЗУ, верно?
Кажется, хранение адресов в оперативной памяти противоречит назначению адресов логической памяти.Я могу только предположить, что мое понимание неверно.