Логический и физический адрес в операционной системе
Логический адрес генерируется ЦП во время работы программы. Логический адрес - это виртуальный адрес, поскольку он не существует физически, поэтому он также известен как виртуальный адрес. Этот адрес используется в качестве ссылки для доступа ЦП к области физической памяти. Термин «логическое адресное пространство» используется для обозначения набора всех логических адресов, генерируемых перспективой программы.
Аппаратное устройство, называемое блоком управления памятью, используется для сопоставления логического адреса с его соответствующим физическим адресом.
Физический адрес определяет физическое расположение необходимых данных в памяти. Пользователь никогда не работает напрямую с физическим адресом, но может получить доступ по соответствующему логическому адресу. Пользовательская программа генерирует логический адрес и считает, что программа работает по этому логическому адресу, но программе требуется физическая память для ее выполнения, поэтому логический адрес должен быть отображен на физический адрес с помощью MMU, прежде чем они будут использоваться. Термин «физическое адресное пространство» используется для всех физических адресов, соответствующих логическим адресам в логическом адресном пространстве.
Сопоставление виртуального адреса физическим адресам
Различия между логическим и физическим адресом в операционной системе
- Основное различие между логическим и физическим адресом состоит в том, что логический адрес генерируется ЦП с точки зрения программы, тогда как физический адрес - это место, которое существует в блоке памяти.
- Логическое адресное пространство - это набор всех логических адресов, генерируемых ЦП для программы, тогда как набор всех физических адресов, отображаемых на соответствующие логические адреса, называется физическим адресным пространством.
- Логический адрес не существует физически в памяти, тогда как физический адрес - это место в памяти, к которому можно получить физический доступ.
- Идентичные логические адреса генерируются методами привязки адресов времени компиляции и загрузки, тогда как они отличаются друг от друга методом привязки адресов времени выполнения. Пожалуйста, обратитесь к этому за подробностями.
- Логический адрес генерируется ЦП во время работы программы, тогда как физический адрес вычисляется блоком управления памятью (MMU).
Сравнительная таблица:
Параметр | ЛОГИЧЕСКИЙ АДРЕС | ФИЗИЧЕСКИЙ АДРЕС |
---|---|---|
Базовый | генерируется CPU | место в блоке памяти |
Адресное пространство | Логическое адресное пространство - это набор всех логических адресов, генерируемых ЦП по отношению к программе. | Физический адрес - это набор всех физических адресов, сопоставленных с соответствующими логическими адресами. |
Видимость | Пользователь может просмотреть логический адрес программы. | Пользователь никогда не может просматривать физический адрес программы. |
Поколение | генерируется ЦП | Рассчитано MMU |
Доступ | Пользователь может использовать логический адрес для доступа к физическому адресу. | Пользователь может получить доступ к физическому адресу косвенно, но не напрямую. |