Segmentação produz endereços lineares, Paging produz endereços físicos
Quanto aos endereços lógicos e físicos, da Bovet & amp; Cesati (Entendendo o Kernel Linux), eu tenho isto:
Como você pode ver, paginação e segmentação são realizadas por unidades separadas do hardware. Embora possam ocorrer ao mesmo tempo, o SO pode desabilitar a unidade de segmentação (para que os endereços sejam efetivamente tratados não como lógicos, mas lineares).
Generalidades
Você pode já saber disso, mas eu o coloco aqui de qualquer maneira para completar.
Páginas ocupam quadros: trocas
No que diz respeito a Silberschatz, capítulos 8, f, quadros consulte o layout da memória física. O sistema operacional divide a RAM em áreas de quadros iguais e convenientemente dimensionados (por exemplo, 4K). Páginas são pedaços de dados em tamanho de quadro, a unidade básica de substituição de página.
Pode haver mais páginas do que quadros disponíveis. Algumas páginas ocupam quadros, algumas páginas são trocadas no disco.
Se uma página for trocada do disco, ela estará alinhada com um determinado quadro na memória (qualquer que seja o algoritmo de substituição de página que seja adequado).
Sistemas Operacionais e o Hardware cooperam
Como acontece com muitos objetivos do sistema operacional, o gerenciamento de memória sempre funciona em conjunto com o hardware: tanto o sistema operacional quanto o hardware cooperam para realizar o trabalho. Como eles fazem isso em um cenário realista depende
- o conjunto de primitivas de gerenciamento de memória que o hardware fornece (paginação, segmentação e o que existe lá), e
- qual subconjunto o SO realmente usa na arquitetura e situação particular (o Linux @ zArchitecture é diferente do Linux @ Intel é diferente do Windows @ Intel é diferente do Windows @ Intel @ Boot-up)
Por exemplo, apenas algumas arquiteturas fornecem segmentação e a figura acima se aplica ao x86. O Linux, por razões de portabilidade, não o explora muito. Se bem me lembro do Tanenbaum, o OS / 2 era o único sistema operacional que explorava a segmentação da Intel em toda a sua extensão.
Até agora esta resposta.
Dependendo de por que você precisa saber isso, a seguinte abordagem pode ajudá-lo (isso me ajudou).
Eu sugiro que você primeiro se familiarize com o hardware e as primitivas individuais. Se Silberschatz é vago sobre este ponto, tente Tanenbaum (Sistemas Operacionais Modernos) ou Hennessy & Patterson (Arquitetura de Computação, Uma Abordagem Quantitativa). Se sua curiosidade não estiver satisfeita até então, veja como um sistema operacional específico o utiliza em várias situações em uma plataforma específica.