Organização De Computadores
Trabalho Universitário: Organização De Computadores. Pesquise 862.000+ trabalhos acadêmicosPor: larbosthe • 28/10/2014 • 4.034 Palavras (17 Páginas) • 328 Visualizações
Gerencia de memória
Sumário
1. Introdução
2. Conceitos básicos
3. Alocação contigua simples
4. Técnica de overlay
5. Alocação particionada
5.1 Alocação particionada estática
5.2 Alocação particionada dinâmica
5.3 Estratégias de alocação de partição
6. Swapping
7. Gerencia de memória virtual
7.1 Introdução
7.2 Memória virtual por paginação
7.3 Memória virtual por segmentação
7.4 Swapping em memória virtual
7.5 Thrashing
8. Windows vs Linux.
1. Introdução
Memoria é um recurso importante que deve ser cuidadosamente gerenciado. Para isso a maioria dos computadores tem uma hierarquização de memória. O trabalho do sistema operacional é coordenar como essas memorias serão utilizadas. Assim, a parte do sistema operacional que gerencia a hierarquia de memória é chamada Gerenciador de memória, cujo trabalho é controlar as partes das memórias que estão em uso ou não, alocar e desalocar memorias aos processos quando necessário, e gerenciar a troca entre memoria principal e o disco quando a memória principal é muito pequena ou estiver “esgotada”.
2. Conceitos básicos
Geralmente os programas são armazenados em memorias secundarias, por serem meios não voláteis, abundantes e de baixo custo. No entanto, o processador sempre executa instruções localizadas na memória principal, o sistema operacional deve, então, transferir dados da memória secundaria para a principal com o objetivo de reduzir a quantidade de entrada e saída I/O.
A gerencia deve tentar manter na memória principal o maior número possível de processos residentes, permitindo maximizar o compartilhamento do processador e demais recursos computacionais.
Mesmo na ausência de espaço livre, o sistema deve permitir que novos processos sejam aceitos e executados. Isto é realizado através do swapping, que é a transferência de processos residentes na memória principal para a memória secundaria.
O sistema também deverá permitir a execução de programas que sejam maiores que a memória física disponível, implementando a técnica de overlay e memória virtual. Então, a gerencia de memória se preocupa em:
• Manter a memória principal com maior número de processos residentes;
• Permitir a execução de programas que sejam maiores que a memória física disponível;
• Proteger áreas de memória ocupadas por cada processo, além da área de memória reservada ao sistema operacional.
3. Alocação contigua simples
A alocação contigua simples foi implementada nos primeiros sistema operacionais, porém ainda presentes em alguns sistemas monoprogramáveis. Nesse tipo de organização a memória principal é subdividida em duas áreas: uma para o sistema operacional e outra para o programa do usuário. Dessa forma, o programador deve desenvolver suas aplicações, preocupados, apenas, em não ultrapassar o espaço de memória disponível, ou seja, a diferença entre o programa principal e a ares ocupada pelo sistema operacional.
Nesse esquema, o usuário tem controle sobre toda a memória principal, podendo ter acesso a qualquer posição da memória, inclusive a área do sistema operacional. Para proteger o sistema desse tipo de acesso, alguns sistema implementaram proteção através de um registrador que delimita as áreas do sistema operacional e do usuário.
Desse forma, sempre que um programa faz referência a um endereço de memória, o sistema verifica se o endereço está dentro dos limites permitidos, caso não esteja, o programa é cancelado e uma mensagem de erro é gerada indicando que houve violação no acesso a memória principal.
Desvantagens:
Todos os programas estão limitados ao tamanho da memória principal disponível ao usuário;
4. Técnica de overlay.
Na alocação contigua simples, todos os programas são limitados ao tamanho da área da memória principal disponível para o usuário. Uma solução para o problema é dividir o programa em módulos, de forma que seja possível a execução independente de cada modulo. Utilizando uma mesma área de memória. Técnica chamada de overlay.
Considerando como exemplo dois módulos, e uma área de memória que os dois poderão compartilhar (área de overlay). Sempre que um dos dois módulos for referenciado pelo modulo principal, o modulo será carregado da memória secundaria para a área de overlay. No caso de um modulo que já esteja na área de overlay, a carga não será realizada; caso contrário, o novo modulo ira sobrepor-se ao que estiver na memória principal.
A definição da área de overlay é função do programador, estabelecido a partir do tamanho do maior modulo.
A técnica de overlay tem a vantagem de permitir ao programador expandir os limites da memória principal, mas, exige bastante cuidado, podendo implicações devido a possibilidade de transferência excessiva dos módulos entre a memória principal e a secundária.
Desvantagens:
Processador permanece grande parte do tempo ocioso;
Memória principal é subutilizada;
De difícil implementação;
5. Alocação particionada
Nos sistemas monoprogramáveis, o processador permanece grande parte do tempo ocioso e a memória principal é subutilizada. Os sistemas multiprogramaveis já são mais eficientes no uso do processador, necessitando assim, que diversos programas estejam já memoria principal ao mesmo tempo.
5.1 Alocação
...