Gerencia De Memoria
Artigos Científicos: Gerencia De Memoria. Pesquise 862.000+ trabalhos acadêmicosPor: pigzera • 2/6/2014 • 2.305 Palavras (10 Páginas) • 558 Visualizações
SUMÁRIO
1 INTRODUÇÃO
2 DESENVOLVIMENTO
Definição
Memoria Logica e Física
Gerenciamento de Memoria
3 CONCLUSÃO
REFERÊNCIAS
1 INTRODUÇÃO
Gerência de memória:
Introdução
Multiprogramação implica em manter-se vários processos em memória.
Memória necessita ser alocada de forma eficiente para permitir o máximo de processos.
Existem diferentes técnicas para gerência de memória dependem do hardware do processador.
Memória lógica e memória física:
Memória lógica
É aquela que o processo “enxerga”
Endereços lógicos são aqueles manipulados por um processo
Memória física
Implementada pelos circuitos integrados de memória.
Endereços físicos são aqueles que correspondem a uma posição real de memória.
Endereços lógicos são transformados em endereços físicos no momento de execução dos processos.
Unidade de Gerência de Memória.
Memory Management Unit (MMU).
Hardware que faz o mapeamento entre endereço lógico e endereço físico.
Complexidade variável de acordo com a funcionalidade oferecida CPU MMU endereço lógico endereço físico.
Exemplo de MMU CPU < > memória 100 799 sim sim não não registrador de limite inferior registrador de limite superior interrupção (endereço ilegal) interrupção (endereço ilegal) 123 123.
Exemplo de MMU CPU > + memória 200 500 sim não 623 registrador de limite registrador de base interrupção (endereço ilegal) 123 .
Execução de programas
Um programa deve ser transformado em um processo para ser executado.
Alocação de um descritor de processos.
Alocação de áreas de memória para código, dados e pilha.
Transformação é feita através de uma série de passos, alguns com a ajuda do próprio programador.
Compilação, diretivas de compilação e /ou montagem, ligação, etc...
Amarração de endereços (binding)
Amarração de endereços
Atribuição de endereços (posições de memória) para código e dados pode ser feita em três momentos diferentes:
Em tempo de compilação
Em tempo de carga
Em tempo de execução
Diferenciação entre endereço lógico e endereço físico
Como traduzir endereço lógico em endereço físico
Código absoluto e código relocável
Transformação de programa em processos programa compilador objeto ligador executável carregador RAM . . . fase de compilação fase de ligação fase de carga.
Carregador absoluto x carregador relocador
Programador não tem conhecimento onde o programa será carregado na memória
Endereço só é conhecido no momento da carga durante a execução do programa sua localização física pode ser alterada.
Swapping
Necessidade de traduzir endereços lógicos à endereços físicos
Relocação é a técnica que realiza essa tradução
Via software: carregador relocador
Via hardware: carregador absoluto
Código realocável
Carregador relocador correção de todas as referências a memória de forma a corresponder ao endereço de carga do programa.
Necessidade de identificar quais endereços devem ser corrigidos código realocável mapeamento das posições corrigidas é mantida através de tabelas.
Código executável mantém informações de relocação na forma de tabelas no momento da carga o programa executável é interpretado e os endereços corrigidos.
Código absoluto
Carregador absoluto
Não realiza correção de endereços no momento da carga do programa em memória
Código executável absoluto não necessita manter tabelas de endereços a serem corrigidos
Endereço de carga fixo pelo programa (programador) qualquer correção pode ser feita automaticamente, de forma transparente, a partir de registradores de base.
Mecanismos básicos de gerência de memória
Até estudarmos memória virtual, supor que para um programa ser executado ele necessita estar todo carregado em memória.
Mecanismos básicos partições fixas, partições variáveis, paginação, segmentação.
Partições fixas
Forma mais simples de gerência de memória
Divisão da memória em duas partes
Uso do S.O uso dos processos de usuários.
Parte dedicada aos processos de usuários é por sua vez subdividida em partições de tamanhos iguais ou diferentes, porém sempre fixos implementada tanto através de registradores de limite superior e inferior como base e limite.
Método também conhecido como alocação particionada
...