A segmentação é uma técnica de gerência de memória, onde os
processos são divididos logicamente em sub-rotinas e estruturas
de dados, e colocados em blocos de informações na memória.
Cada processo é dividido em um número de segmentos de tamanho desigual (limitado pelo tamanho máximo). Um processo é carregado na memória, todos os seus segmentos são carregados dentro de partições dinâmicas que não necessitam ser continuas.
Exemplo de Segmentação Fonte da Imagem:Sistemas Operacionais - Gerenciamento de Memória Virtual Cap.7 |
A grande diferença entre a paginação e a segmentação é que,
enquanto a primeira divide a memória em partes de tamanho fixos,
sem qualquer ligação com a estrutura do processo, a segmentação
permite uma relação entre a lógica do processo e sua divisão na
memória.
Prós - Não tem fragmentação externa
Contras - Tem uma pequena quantidade de fragmentação externa e é um processo muito complexo.
Como o S.O. controla os segmentos alocados?
O S.O. mantém uma tabela com áreas livres e ocupadas da
memória.Quando um novo processo é carregado para a memória, o sistema localiza um espaço livre que o acomode.
As estratégias para escolha da área livre podem ser as mesmas
utilizadas na Alocação Particionada Dinâmica, ou seja, best fit,
worst fit ou first fit(para saber mais sobre isso clique aqui).
Tabela de Segmento Fonte da Imagem:Sistemas Operacionais - Gerenciamento de Memória Virtual Cap.7 |
Os segmentos são mapeados através de tabelas de mapeamento
de segmentos (TMS).Os endereços são compostos pelo número do segmento e um deslocamento dentro do segmento.
O número do segmento identifica unicamente uma entrada na
tabela de segmentos (ETS), onde estão as informações sobre o
segmento na memória real.
Fonte:<Sistemas Operacionais - Gerenciamento de Memória Virtual Cap.7{Luciana Sêda Cardoso}>
<Memória Virtual - FATEC Americana { prof. Dr. José Luis Zem
prof. Dr. Renato Kraide Soffner
prof. Ms. Rossano Pablo Pinto }>
Adaptado: Arroyo, Gabriel.
Nenhum comentário:
Postar um comentário