O endereço lógico é gerado pela CPU durante a execução de um programa. O endereço lógico é o endereço virtual, pois não existe fisicamente, portanto, também é conhecido como Endereço Virtual. Este endereço é usado como referência para acessar o local da memória física pela CPU. O termo Espaço de Endereço Lógico é usado para o conjunto de todos os endereços lógicos gerados pela perspectiva de um programa. 
O dispositivo de hardware denominado Memory-Management Unit é usado para mapear o endereço lógico para seu endereço físico correspondente. 

Endereço físico identifica uma localização física dos dados necessários em uma memória. O usuário nunca lida diretamente com o endereço físico, mas pode acessá-lo por meio de seu endereço lógico correspondente. O programa do usuário gera o endereço lógico e pensa que o programa está rodando neste endereço lógico, mas o programa precisa de memória física para sua execução, portanto, o endereço lógico deve ser mapeado para o endereço físico pela MMU antes de serem usados. O termo Espaço de endereço físico é usado para todos os endereços físicos correspondentes aos endereços lógicos em um espaço de endereço lógico. 

Esquema MMU

Mapeamento de endereço virtual para endereço físico  Diferenças entre endereço
lógico e físico no sistema operacional 

  1. A diferença básica entre endereço lógico e físico é que o endereço lógico é gerado pela CPU na perspectiva de um programa, enquanto o endereço físico é um local que existe na unidade de memória.
  2. O Espaço de Endereço Lógico é o conjunto de todos os endereços lógicos gerados pela CPU para um programa, enquanto o conjunto de todos os endereços físicos mapeados para endereços lógicos correspondentes é chamado de Espaço de Endereço Físico.
  3. O endereço lógico não existe fisicamente na memória, enquanto o endereço físico é um local na memória que pode ser acessado fisicamente.
  4. Endereços lógicos idênticos são gerados por métodos de ligação de endereço de tempo de compilação e tempo de carregamento, embora eles difiram um do outro no método de ligação de endereço de tempo de execução. Consulte isso para obter detalhes.
  5. O endereço lógico é gerado pela CPU enquanto o programa está em execução, enquanto o endereço físico é calculado pela Unidade de Gerenciamento de Memória (MMU).

Gráfico de comparação: 

 

ParâmetroENDEREÇO ​​LÓGICOENDEREÇO ​​FÍSICO
Básicogerado pela CPUlocalização em uma unidade de memória
Espaço de EndereçamentoO Espaço de Endereço Lógico é um conjunto de todos os endereços lógicos gerados pela CPU em referência a um programa.Endereço físico é um conjunto de todos os endereços físicos mapeados para os endereços lógicos correspondentes.
VisibilidadeO usuário pode visualizar o endereço lógico de um programa.O usuário nunca pode ver o endereço físico do programa.
Geraçãogerado pela CPUCalculado por MMU
AcessoO usuário pode usar o endereço lógico para acessar o endereço físico.O usuário pode acessar indiretamente o endereço físico, mas não diretamente.