A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

DESENVOLVIMENTO DE SISTEMAS PARA INTERNET

Apresentações semelhantes


Apresentação em tema: "DESENVOLVIMENTO DE SISTEMAS PARA INTERNET"— Transcrição da apresentação:

1 DESENVOLVIMENTO DE SISTEMAS PARA INTERNET
8. GERENCIAMENTO DE MEMÓRIA Disciplina: Sistemas Operacionais Facilitador: Alisson Cleiton 06/05/2009

2 8. Gerenciamento de Memória
Sistemas para Internet – 2º Período - Sistemas Operacionais 8. Gerenciamento de Memória 8.1 Introdução ● A memória principal sempre foi vista como um recurso caro e escasso. ● Ao projetar um SO, uma das maiores preocupações dos projetistas é quanto à economia de uso de memória e à otimização da utilização dos recursos computacionais; ● A gerência de memória é simples nos sistemas monoprogramáveis; ● Nos sistemas multiprogramáveis é um processo crítico, devido a necessidade de maximizar o número de usuários e aplicações utilizando eficientemente o espaço da memória principal.

3 8. Gerenciamento de Memória
Sistemas para Internet – 2º Período - Sistemas Operacionais 8. Gerenciamento de Memória 8.1 Funções Básicas ● Como programas são armazenados em memória secundárias, por serem meios de armazenamento não voláteis e de baixo custo, há a necessidade de que, cada vez que o processador necessite computar algum desses dados, trazê-los para a memória principal. ● A gerência de memória deve tentar manter na memória principal o maior número de processos residentes, permitindo maximizar o compartilhamento do processador e dois demais recursos computacionais.

4 8. Gerenciamento de Memória
Sistemas para Internet – 2º Período - Sistemas Operacionais 8. Gerenciamento de Memória 8.1 Funções Básicas Abaixo as principais funções da gerência de memória: ● Maximizar o aproveitamento da memória principal; ● Gerenciar a superutilização da memória; ● Proteger áreas importantes da memória; ● Permitir a troca de dados de forma protegida.

5 8. Gerenciamento de Memória
Sistemas para Internet – 2º Período - Sistemas Operacionais 8. Gerenciamento de Memória 8.2 Alocação Contígua Simples ● Utilizada nos primeiros sistemas operacionais. Atualmente, é empregada apenas em alguns sistemas monoprogramáveis. ● Divide a memória principal em duas áreas: uma para o sistema operacional e outra para programas do usuário; ● A memória disponível para os programas do usuário é calculada através da diferença entre a memória total disponível e o espaço dela ocupado pelo sistema operacional;

6 8. Gerenciamento de Memória
Sistemas para Internet – 2º Período - Sistemas Operacionais 8. Gerenciamento de Memória 8.2 Alocação Contígua Simples ● O acesso à memória é livre, inclusive à área do sistema operacional. Alguns sistemas podem implementar um registrador que limita a área acessível da memória por parte do usuário. Caso seja identificada uma tentativa de acesso a uma área protegida, um erro é gerada e a instrução é interrompida. ● Fácil implementação e código reduzido. ● Não permite utilização eficiente dos recursos computacionais, pois apenas um usuário estará presente e, caso seu programa não ocupe todo o espaço disponível na memória, existirá um espaço livre, sem utilização.

7 8. Gerenciamento de Memória
Sistemas para Internet – 2º Período - Sistemas Operacionais 8. Gerenciamento de Memória Técnica de Overlay ● Enquanto na alocação contígua simples os programas estão limitados ao tamanho da área disponível na memória principal para o usuário, na técnica de Overlay os programas são divididos em módulos, de forma que seja possível a execução independente de cada módulo, utilizando uma mesma área da memória.

8 8. Gerenciamento de Memória
Sistemas para Internet – 2º Período - Sistemas Operacionais 8. Gerenciamento de Memória Técnica de Overlay ● A definição das áreas de overlay é feita pelo próprio programador, através de comandos específicos da linguagem de programação. ● O tamanho da área de overlay deve ser igual ou maior ao tamanho do maior módulo. ● Como vantagem, a técnica de overlay possibilita um melhor aproveitamento da memória principal. ● Sua utilização exige cuidado, pois pode trazer implicações tanto na manutenção como no desempenho das aplicações, devido à possibilidade de transferências excessivas dos módulos entre a memória principal e a memória secundária.

9 8. Gerenciamento de Memória
Sistemas para Internet – 2º Período - Sistemas Operacionais 8. Gerenciamento de Memória Técnica de Overlay Exemplo de Overlay: Um programa que consista em um módulo principal e outros dois módulos independentes, um correspondente ao cadastro e outro, à impressão. Quando o programa é carregado, apenas o módulo principal é introduzido na memória, os demais aguardam em memória secundária. Quando um dos outros módulos for referenciado pelo módulo principal, aquele será carregado na memória principal, na área de overlay. Caso haja uma nova referência a um módulo que já está na área de overlay, ele não será recarregado. Caso a nova referência seja a um módulo que está em memória secundária, ele será carregado na área de overlay, sobrescrevendo o método que lá estava

10 8. Gerenciamento de Memória
Sistemas para Internet – 2º Período - Sistemas Operacionais 8. Gerenciamento de Memória 8.3 Alocação Particionada ● Conforme os sistemas operacionais evoluem, estes têm possibilitado um melhor aproveitamento dos recursos computacionais disponíveis. Nos sistemas monoprogramáveis, o processador permanecia ocioso por grandes períodos e a memória principal era subutilizada. Os sistemas multiprogramáveis são muito mais eficientes no uso do processador, necessitando assim que diversos programas estejam na memória principal ao mesmo tempo e que novas formas de gerência de memória sejam implementadas.

11 8. Gerenciamento de Memória
Sistemas para Internet – 2º Período - Sistemas Operacionais 8. Gerenciamento de Memória 8.4 Alocação Particionada Estática ● O tamanho das partições era estabelecido na fase de inicialização do sistema, em função dos programas que executariam no ambiente. ● Sempre que fosse necessário alterar o tamanho de uma partição, o sistema deveria ser reinicializado. Este é o modelo de alocação particionada estática ou fixa. ● A proteção, nesse esquema de alocação de memória, fica por conta de dois registradores que indicam os limites inferior e superior da partição na qual o programa está sendo executado. ● O grande defeito da alocação particionada estática, seja absoluta ou relocável, é o desperdício de espaço dentro das partições. Fragmentação Interna

12 8. Gerenciamento de Memória
Sistemas para Internet – 2º Período - Sistemas Operacionais 8. Gerenciamento de Memória 8.5 Alocação Particionada Dinâmica ● Surge como evolução da alocação particionada estática, permitindo melhor aproveitamento e maior compartilhamento da memória, reduzindo o problema da fragmentação interna. ● Não há partições fixas. Cada programa utiliza uma partição com o espaço necessário. Com isso, eliminou-se o problema da fragmentação interna. ● Quando os programas são finalizados, deixam espaços vazios na memória. Estes espaços tendem a se tornar cada vez menores e, assim, não possibilitam a inserção de novos programas na memória principal. Este tipo de problema é chamado de fragmentação externa.

13 8. Gerenciamento de Memória
Sistemas para Internet – 2º Período - Sistemas Operacionais 8. Gerenciamento de Memória Estratégias para minimizar os efeitos da fragmentação externa ● Conforme os programas terminam, os espaços adjacentes são reunidos, produzindo áreas livres de tamanho maior ● Envolver a relocação de todas as partições ocupadas, eliminando todos os espaços entre elas e criando uma única área livre contígua. Este mecanismo é conhecido como alocação particionada dinâmica com relocação.

14 8. Gerenciamento de Memória
Sistemas para Internet – 2º Período - Sistemas Operacionais 8. Gerenciamento de Memória 8.6 Estratégias de Alocação de Partição ● Há três estratégias implementadas pelos sistemas operacionais para determinar em qual área livre será carregado um programa para execução. Estas estratégias tentam evitar ou diminuir o problema da fragmentação interna. ● A melhor estratégia adotada depende de uma série de fatores, sendo o mais relevante deles o tamanho dos programas processados no ambiente.

15 8. Gerenciamento de Memória
Sistemas para Internet – 2º Período - Sistemas Operacionais 8. Gerenciamento de Memória 8.6.1 Best Fit ● Aloca o programa na partição que melhor se adapta ao seu tamanho, ou seja, aquela que deixa um menor espaço sem utilização. ● Sua grande desvantagem é em função do próprio algoritmo. Como é alocada a partição que deixa a menor área livre, a tendência é que a memória fique, cada vez mais, com pequenas áreas não contíguas, aumentando o problema da fragmentação.

16 8. Gerenciamento de Memória
Sistemas para Internet – 2º Período - Sistemas Operacionais 8. Gerenciamento de Memória 8.6.2 Worst Fit ● Aloca o programa na partição que pior se adapta ao seu tamanho, ou seja, aquela que deixará um maior espaço sem utilização. ● Apesar de utilizar as maiores partições, esta técnica deixa espaços livres maiores que permitem que um número maior de programas usem a memória principal, diminuindo o problema da fragmentação.

17 8. Gerenciamento de Memória
Sistemas para Internet – 2º Período - Sistemas Operacionais 8. Gerenciamento de Memória 8.6.3 First Fit ● Aloca o programa na primeira partição livre que encontrar com tamanho suficiente para abrigá-lo. ● Ordena a tabela de partições livres em função do seu endereço. ● Como o método tenta utilizar primeiro as áreas de endereços menores, há grandes chances de encontrar grandes partições nos endereços mais altos. ● Das três estratégias, a first fit é a mais rápida, consumindo menos recursos do sistema.

18 8. Gerenciamento de Memória
Sistemas para Internet – 2º Período - Sistemas Operacionais 8. Gerenciamento de Memória 8.7 Swapping ● A técnica de swapping foi introduzida para contornar o problema de insuficiência de memória principal. ● O swapping é uma técnica aplicada à gerência de memória para programas que esperem por memória livre para serem executados. Nesta situação, o sistema escolhe um processo residente, que é transferido da memória principal à memória secundária ( swap out ), geralmente em disco. Posteriormente, o processo é carregado de volta à memória principal ( swap in ).

19 8. Gerenciamento de Memória
Sistemas para Internet – 2º Período - Sistemas Operacionais 8. Gerenciamento de Memória 8.7 Swapping ● O conceito de swapping permite um maior compartilhamento da memória principal e, conseqüentemente, maior utilização dos recursos computacionais. ● Em situações críticas, quando há pouca memória disponível, o sistema pode ficar quase que dedicado à execução de swapping, deixando de realizar outras tarefas e impedindo a execução dos processos residentes.

20 8. Gerenciamento de Memória
Sistemas para Internet – 2º Período - Sistemas Operacionais 8. Gerenciamento de Memória 8.8 Memória Virtual ● Memória virtual é uma técnica sofisticada e poderosa de gerência de memória, onde as memórias principal e secundária são combinadas, dando ao usuário a ilusão de existir uma memória muito maior que a capacidade real da memória principal. ● Um programa no ambiente de memória virtual não faz referência a endereços físicos de memória (endereços reais), mas apenas a endereços virtuais. No momento da execução de uma instrução, o endereço virtual referenciado é traduzido para um endereço físico, pois o processador manipula apenas posições da memória principal. O mecanismo de tradução do endereço virtual para endereço físico é denominado mapeamento.

21 8. Gerenciamento de Memória
Sistemas para Internet – 2º Período - Sistemas Operacionais 8. Gerenciamento de Memória 8.8 Memória Virtual - Páginação ● A memória virtual por paginação é a técnica de gerência de memória onde o espaço de endereçamento virtual e o espaço de endereçamento real são divididos em blocos do mesmo tamanho chamados páginas. 8.8 Memória Virtual - Segmentação ● Memória virtual por segmentação é a técnica de gerência de memória onde o espaço de endereçamento virtual é dividido em blocos de tamanhos diferentes chamados segmentos. Enquanto na paginação existe o problema da fragmentação interna, na segmentação surge o problema da fragmentação externa.

22 8. Gerenciamento de Memória
Sistemas para Internet – 2º Período - Sistemas Operacionais 8. Gerenciamento de Memória Proteção da Memória ● O sistema operacional deve impedir que um processo tenha acesso ou modifique uma página do sistema sem autorização. ● Um primeiro nível de proteção é inerente ao próprio mecanismo de memória virtual por paginação. Neste esquema, cada processo tem a sua própria tabela de mapeamento e a tradução dos endereços é realizada pelo sistema. A proteção de acesso é realizada individualmente em cada página da memória principal, utilizando-se as entradas das tabelas de mapeamento, onde alguns bits especificam os acessos permitidos.

23 8. Gerenciamento de Memória
Sistemas para Internet – 2º Período - Sistemas Operacionais 8. Gerenciamento de Memória Compartilhamento de Memória ● Em sistemas que implementam memória virtual, é bastante simples a implementação da reentrância, possibilitando compartilhamento de código entre os diversos processos. Para isso, basta que as entradas das tabelas de mapeamento dos processos apontem para os mesmos frames na memória principal, evitando, assim, várias cópias de um mesmo programa na memória. Apesar de os processos compartilharem as mesmas páginas de código, cada um possui sua própria área de dados em páginas independentes.

24 8. Gerenciamento de Memória
Sistemas para Internet – 2º Período - Sistemas Operacionais 8. Gerenciamento de Memória Swapping de Memória Virtual ● A técnica de swapping também pode ser aplicada em sistemas com memória virtual, permitindo aumentar o número de processos que compartilham a memória principal e, conseqüentemente, o grau de multiprogramação do sistema. ● Quando existem novos processos para serem executados e não há memória principal livre suficiente para alocação, o sistema utiliza o swapping, selecionando um ou mais processos para saírem da memória e oferecer espaço para novos processos.

25 DESENVOLVIMENTO DE SISTEMAS PARA INTERNET
9. PLATAFORMA WINDOWS PRÓXIMA AULA


Carregar ppt "DESENVOLVIMENTO DE SISTEMAS PARA INTERNET"

Apresentações semelhantes


Anúncios Google