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

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

Professor: Felipe Lopes M. Faria Disciplina: Sistemas Operacionais 1.

Apresentações semelhantes


Apresentação em tema: "Professor: Felipe Lopes M. Faria Disciplina: Sistemas Operacionais 1."— Transcrição da apresentação:

1 Professor: Felipe Lopes M. Faria Disciplina: Sistemas Operacionais 1

2 2 Situação atual das Memórias  Pequena quantidade de memória cache;  Memória RAM;  Memória Secundária.  SO coordena a utilização dessas memórias  Função: ◦ manter o controle de quais partes da memória estão em uso e quais não estão, alocando memória aos processos quando eles precisam e liberando a memória quando eles terminam ◦ gerenciar a troca de processos entre memória e disco

3 3 Gerenciamento básico de memória  Sistemas Operacionais que durante a execução levam e trazem processos entre a Memória Principal e o Disco  Sistemas Operacionais mais simples que não fazem essas trocas  Gerenciamento de memória: ainda será necessário para os próximos anos?  R= Crescimento de programa e memória é desproporcional!

4 4 Monoprogramação sem troca de processos  Execução de uma tarefa por vez  Memória compartilhada entre o programa do usuário e o SO  Somente um programa é executado por vez  Praticamente não é mais utilizado, a não ser em sistemas menores como para palmtops...  Overlay: partes do programa disputando mesmo espaço de memória

5 5 Multiprogramação com partições fixas  Vários programas ativos ao mesmo tempo  Técnica utilizada para melhorar a ocupação da CPU (quanto mais programas na memória, melhor!)  Maneira mais comum para se implementar o uso de multiprogramação na memória => Divisão da memória em diversas partes  2 formas: Múltiplas filas e Fila única

6 6 Múltiplas Filas: podem fazer com que um programa tenha que esperar por deslocação de memória mesmo havendo memória disponível. Endereço da memória no programa.

7 7 Fila Única: resolve o problema anterior, mas gera outros. Nem sempre faz a melhor escolha da partição, pois escolhe de acordo com a ordem. A primeira que couber. Endereço do programa na memória a partir do endereço inicial onde se encontra.

8 8 Realocação e Proteção: problemas de multiprogramação  Realocação: não se sabe de antemão em qual região de memória o processo vai ser executado  (Não se sabe onde um programa é carregado em RAM)  – Endereço de variáveis e do código não podem ser absolutos

9 9 Realocação e Proteção: problemas de multiprogramação  Proteção: A priori nada impede um programa mal intencionado de ler/escrever em uma área de memória que não lhe “pertence”. A proteção visa que cada processo acesse somente sua área de alocação;

10 10 Realocação e Proteção: problemas de multiprogramação  Possível solução para Proteção: uso de Registradores  Registrador base delimitam limite inferior e superior da área de memória alocada ao processo  Registrador limite  Nessa abordagem, todas as referências à memória são referentes a esses registradores  Assim, a todo endereço é somado o valor do Registrador da base e o Registrador limite é verificado  Ex.: Se a referência é ao endereço 100 e o Registrador Base é 100k, então o endereço será 100 + 100.

11 11 Multiprogramação com Partições Variáveis - Troca de processos  Necessidade de manter alguns processos em disco e trazê-los dinamicamente para a memória no momento da execução.

12 12 Formas de gerenciamento de memória  Troca de processos: os processos são movimentados como um todo entre memória e disco;  A principal diferença entre partições fixas e partições variáveis é que o número, a localização e o tamanho das partições variam dinamicamente ao longo do tempo.

13 13 Formas de gerenciamento de memória - Troca de processos  Duas maneiras: ◦ Mapa de Bits ◦ Lista de Disponíveis

14 14 Gerenciamento de memória com Mapa de Bits  Memória é dividida em unidades de alocação  Associado a cada unidade de alocação existe um bit no Mapa de Bits, o qual vale 0 se a respectiva unidade de alocação estiver disponível e 1 se estiver ocupada (ou vice-versa).  Tamanho da unidade de alocação: ◦ Quanto menor a unidade de alocação para o bit, maior será o Mapa de Bits (menor o desperdício) ◦ Se a unidade de alocação for muito grande, o Mapa de Bits será menor, mas pode ser que desperdice muita memória ◦ Vantagem: simples de implementar

15 15 Gerenciamento de memória com Mapa de Bits  Problema: quando se decide carregar na memória um processo com tamanho K unidades, o gerenciador de memória precisa encontrar espaço disponível na memória procurando no Mapa de Bits uma sequência de K Bits consecutivos em 0.  Essa busca é muito lenta => Fator contra o Mapa de Bits

16 16 Gerenciamento de memória com Mapa de Bits

17 17 Gerenciamento de memória com Listas de Disponíveis ou Listas Encadeadas  Manter a lista ordenada de segmentos de memória alocados e segmentos de memória disponíveis  Lista de segmentos é mantida ordenada por endereços  Permite atualização rápida e simples

18 18 Gerenciamento de memória com Listas de Disponíveis ou Listas Encadeadas

19 19 Fragmentação  Desperdício de páginas de memória alocadas.  Pode ser de dois tipos: interna e externa.  Interna: Ocorre quando o processo não ocupa inteiramente os blocos de memória (páginas) reservados para ele. Geralmente acontece pois o tamanho do processo não é um múltiplo do tamanho da página de memória, o que acarreta sobra de espaço na última página alocada.  Externa: Ocorre à medida que os programas vão terminando e deixando lacunas cada vez menores de espaços entre as páginas. Dependendo do tamanho que precisa ser escrito em memória, estes espaços podem ser pequenos demais para serem úteis, e assim ficam inutilizados.  Estratégias para "atacar" o problema com os algoritmos First-fit, Best-fit, Worst-fit e Next-fitFirst-fitBest-fitWorst-fitNext-fit

20 20 First-fit  Aloca o processo no primeiro espaço de memória que couber Next-fit  Aloca o processo no próximo espaço que couber a partir da última alocação Best-fit  Aloca o processo no espaço que melhor couber Worst-fit  Aloca o processo no pior espaço que couber  Está técnica, apesar de aproveitar primeiro as partições maiores, acaba deixando espaços livres grandes o suficiente para que outros programas utilizem da memória, diminuindo ou retardando a fragmentação.

21 21 Memória Virtual  Espaço em disco que é alternado com a memória principal.  Solução para programas maiores do que a memória disponível  O SO mantém partes ativas do programa na memória e o restante no disco  Divide um único programa em partes  Permanece na memória apenas a parte necessária

22 22 Memória Virtual  A maioria dos SOs que implementam memória virtual, utiliza o conceito de paginação  Neste esquema o espaço virtual da memória é dividido em páginas e o espaço real é divido em molduras de páginas  As páginas e as molduras são divididas sempre do mesmo tamanho de forma que uma seja colocada na outra  Programas (processos): páginas de mesmo tamanho  Memória: moldura do tamanho das páginas  Tamanho das Páginas = tamanho das Molduras

23 23 Memória Virtual Aumento do grau de multiprogramação Capacidade de executar programas maiores que a capacidade disponível de memória

24 24 Memória Virtual - Formas de Implementá-la 1) Página por Demanda: 2) Página por Demanda:

25 25 Memória Virtual - Formas de Implementá-la Substituição de páginas de Web

26 26 Memória Virtual - Formas de Implementá-la Substituição de páginas de Web Primeiro a chegar primeiro a ser atendido

27 27 Memória Virtual - Formas de Implementá-la Bits auxiliares

28  Transparências: Profa. Roberta N. S. Carvalho  Sistemas Operacionais Modernos Andrew S. Tanenbaum Andrew S. Tanenbaum  Arquitetura de Sistemas Operacionais Francis Berenger Machado/ Luiz Paulo Maia Francis Berenger Machado/ Luiz Paulo Maia 28

29  E-mail para contato: felipelopesmelofariasi@gmail.com 29


Carregar ppt "Professor: Felipe Lopes M. Faria Disciplina: Sistemas Operacionais 1."

Apresentações semelhantes


Anúncios Google