Lenine
Conteúdo
Segmentação
Mecanismos de tradução de endereços
Optimização do Mecanismo de Tradução de Endereços
Fragmentação
Protecção
Partilha de memória entre processos
Paginação
Mecanismos de tradução de endereços
Tabela de tradução de endereços(TLB)
Falta de pagina
Fragmentação
Protecção
Partilha de memória entre processos
Dimensão das páginas
Memória Segmentada\Paginada
Segmentação -Objectivos
O objectivo da segmentação é a divisão dos programas em segmentos lógicos que reflictam a sua subdivisão funcional. Por exemplo, cada rotina ou cada módulo corresponderá a um segmento.O principal objectivo deste método é tentar suportar directamente na gestão de memória as abstracções comuns nas linguagens de programação, nomeadamente:
Carregamento em memória
O segmento é a unidade mínima a carregar em memória. Considera-se que todas as palavras dentro do segmento têm a mesma probabilidade de virem a ser acedidas. Como não sabemos qual das instruções de uma certa rotina vai ser ou não executadas, temos de as ter todas em memória.
Protecção
A protecção da memória é feita em termos de blocos lógicos, quem pode aceder a parte do bloco pode aceder ao bloco todo e vice-versa.
Eficiência
O princípio da localidade de referência diz-nos que, se acedermos a um endereço de um segmento lógico com grande probabilidade os próximos acessos serão a endereços situados no mesmo segmento. Esta constatação na análise dos programas permite optimizar os acessos dentro do segmento, perdendo-se menos tempo na tradução de endereços.
Voltar ao inicio
-Mecanismos de tradução de endereços
Um endereço virtual tem a seguinte forma (segmento, deslocamento)
Segmento contém o número do segmento e deslocamento indica o deslocamento dentro do segmento. O mecanismo de tradução está representado na fig. 4.5.