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

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

Sistemas Operacionais Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas - 2013 IFSP – Campus Capivari.

Apresentações semelhantes


Apresentação em tema: "Sistemas Operacionais Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas - 2013 IFSP – Campus Capivari."— Transcrição da apresentação:

1 Sistemas Operacionais Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas IFSP – Campus Capivari

2 Gerência de recursos Memória Virtual 08/10/2013

3 Introdução As soluções para garantir o maior número possível de processos na memória nem sempre são eficazes; O tamanho dos programas é limitado pela quantidade de memória disponível; Memória virtual é uma técnica que combina memória principal e memória secundária para abrigar programas maiores; Programas são associados a endereços virtuais e não apenas a endereços físicos da memória. Prof. Edivaldo Serafim Sistemas Operacionais IFSP

4 Introdução Memória virtual possibilita um maior número de processos compartilhando a memória virtual; Possibilita diminuir a fragmentação da memória; Por questões de desempenho, algumas funções da gerência de memória são implementadas em hardware; O SO deve levar em conta vários elementos para implementação, como o esquema de endereçamento do processador; Prof. Edivaldo Serafim Sistemas Operacionais IFSP

5 Espaço de endereçamento virtual O conceito de memória virtual é parecido com um vetor: Quando o programa faz referência a um elemento do vetor, não se preocupa com os endereços físicos do vetor; O compilador se encarrega de gerar as instruções de forma transparente para o usuário. A memória virtual é semelhante, porém com os endereços do programa. Prof. Edivaldo Serafim Sistemas Operacionais IFSP

6 Espaço de endereçamento virtual Prof. Edivaldo Serafim Sistemas Operacionais IFSP

7 Espaço de endereçamento virtual Programas no ambiente de memória virtual não referenciam endereços físicos, mas sim endereços virtuais; Na execução, o endereço virtual é convertido em endereço físico; Esse mecanismo de conversão é denominado mapeamento. Nesse contexto, o espaço de endereçamento do processo é composto pelo espaço de endereçamento virtual; Prof. Edivaldo Serafim Sistemas Operacionais IFSP

8 Espaço de endereçamento virtual Prof. Edivaldo Serafim Sistemas Operacionais IFSP

9 Espaço de endereçamento virtual Como os programas fazem referência a endereços virtuais, o espaço de endereçamento virtual pode referenciar endereços fora da memória principal; Quando um programa é executado, apenas parte dele fica residente na memória principal, o restante fica na memória secundária até o momento de ser referenciado; Quando um programa é desenvolvido, o programador desconhece o endereçamento virtual, ficando a cargo dos compiladores e linkers defini-los, e o SO encarrega de sua correta execução. Prof. Edivaldo Serafim Sistemas Operacionais IFSP

10 Espaço de endereçamento virtual Prof. Edivaldo Serafim Sistemas Operacionais IFSP

11 Mapeamento O processador apenas executa instruções presentes em endereços reais; Deve existir mecanismo de conversão de endereços virtuais para reais, chamado de mapeamento; Como consequência, programas não precisam estar em endereços reais contíguos de memória principal; Prof. Edivaldo Serafim Sistemas Operacionais IFSP

12 Mapeamento Prof. Edivaldo Serafim Sistemas Operacionais IFSP

13 Mapeamento Em sistemas atuais, a conversão de endereços é feita pelo hardware em conjunto com o SO; Transparente ao usuário e sem comprometer o desempenho; O dispositivo de hardware que converte endereços é o MMU (memory management unit); O mecanismo de tradução se encarrega de manter as tabelas de mapeamento que contém endereços virtuais e endereços reais de cada processo; As tabelas de mapeamento referenciam blocos de memória, e não células de memória, podendo ser: Blocos fixos (paginação) ou blocos variáveis (segmentação) Prof. Edivaldo Serafim Sistemas Operacionais IFSP

14 Mapeamento Prof. Edivaldo Serafim Sistemas Operacionais IFSP

15 MEMÓRIA VIRTUAL POR PAGINAÇÃO Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

16 Memória virtual por paginação Nesse esquema, tanto o espaço de endereçamento real quanto o virtual são divididos em blocos fixos de mesmo tamanho, chamados páginas; Páginas do espaço virtual são chamadas páginas virtuais; Páginas do espaço real são chamadas páginas reais ou frames; O mapeamento ocorre através da tabela de páginas: Cada processo possui a sua tabela de páginas; Cada página do processo possui uma entrada na tabela (EPT); Prof. Edivaldo Serafim Sistemas Operacionais IFSP

17 Memória virtual por paginação Prof. Edivaldo Serafim Sistemas Operacionais IFSP

18 Memória virtual por paginação Quando um processo é executado, as páginas são trazidas da memória secundária pra a memória principal, e colocada nos frames; Sempre que necessário, o mecanismo de mapeamento consulta a tabela: Verifica qual endereço real corresponde o endereço virtual; Prof. Edivaldo Serafim Sistemas Operacionais IFSP

19 Memória virtual por paginação O endereço virtual é composto por: Número de pagina virtual (NPV): Identifica a página virtual, como um índice na tabela de páginas. Deslocamento: Indica a posição do endereço virtual na página; O endereço real é obtido com a combinação do endereço do frame, contido na tabela de páginas com o deslocamento, contido no endereço virtual. A EPT possui também um bit de validade: 0 a página virtual não está na memória principal; 1 a página virtual está a memória principal. Prof. Edivaldo Serafim Sistemas Operacionais IFSP

20 Memória virtual por paginação Quando o programa referencia um endereço, o gerenciador de memória verifica se este está na memória principal, através do bit de validade: Se não estiver na memória principal, ocorre um Page Fault; O gerenciador transfere a posição da memória secundária para a memória principal, que é chamado de Page In; A quantidade de page fault de um programa depende de como foi escrito e do gerenciador de memória. Prof. Edivaldo Serafim Sistemas Operacionais IFSP

21 Memória virtual por paginação Prof. Edivaldo Serafim Sistemas Operacionais IFSP

22 Memória virtual por paginação O número de Page Fault gerados por cada processo em determinado intervalo de tempo é definido como taxa de paginação; Quando ocorre um page fault, o processo passa para o estado de espera; A página é buscada na memória secundária; Quando a página é trazida da memória secundária para a memória principal, o processo entra na fila de processos prontos. Prof. Edivaldo Serafim Sistemas Operacionais IFSP

23 Política de busca de páginas A política de busca de páginas determina quando uma página deve ser carregada na memória; Basicamente existem duas políticas: Busca por demanda; Busca antecipada. Prof. Edivaldo Serafim Sistemas Operacionais IFSP

24 Busca por demanda Na Busca por demanda, as páginas são carregadas apenas quando referenciadas: Leva para a memória apenas páginas necessárias; Partes não executadas do programa nunca são carregadas para a memória: Tratamento de erros por exemplo. Prof. Edivaldo Serafim Sistemas Operacionais IFSP

25 Busca antecipada Na Busca antecipada, são carregadas páginas necessárias ou não para a execução do programa: Considerando que programas são sequenciais, pode existir economia de I/O trazendo um conjunto de páginas próximas de endereços referenciados; Porém se o programa não for utilizar todas as páginas, ocorrerá desperdício de tempo com I/O desnecessário e espaço de armazenamento na memória principal. Prof. Edivaldo Serafim Sistemas Operacionais IFSP

26 Política de alocação de páginas A política de alocação de páginas determina quantos frames cada processo pode manter na memória principal; Existem duas políticas: Alocação Fixa; Alocação Variável; Prof. Edivaldo Serafim Sistemas Operacionais IFSP

27 Alocação Fixa A política de alocação fixa, cada processo tem um número máximo de frames que pode ser utilizado; Caso não haja mais frames disponíveis, algum deve ser descartado para que outro seja carregado; O limite de páginas reais pode ser igual para todos os processos ou definidos individualmente: Igual para todos é mais justo, porém pode ocorrer desperdício; O limite é determinado na criação do processo com base no contexto de software. Prof. Edivaldo Serafim Sistemas Operacionais IFSP

28 Alocação Fixa A política de alocação fixa apresenta dois problemas: Se a quantidade de páginas for pequena, ocorrerá excesso de I/O; Se a quantidade for muito elevada, ocorrerá desperdício de memória principal, reduzindo o número de processos na memória: Pode-se implementar swapping para melhorar essa situação. Prof. Edivaldo Serafim Sistemas Operacionais IFSP

29 Alocação Variável A política de alocação variável, o número máximo de páginas varia em função da taxa de paginação; Processos com elevada taxa podem elevar o número de frames; Processos com baixa taxa podem ceder frames para outros processos; Exige que o SO monitore os processos para ajustar os frames, Prof. Edivaldo Serafim Sistemas Operacionais IFSP

30 Política de substituição de páginas Páginas reais podem dar lugar a qualquer outro processo; Quando uma página real for substituída, o seu conteúdo deve ser verificado para determinar se deve ser guardado ou pode simplesmente ser excluído: Trechos de códigos podem ser excluídos e carregados novamente; Variáveis e estrutura de dados devem ser armazenados para uso posterior; Prof. Edivaldo Serafim Sistemas Operacionais IFSP

31 Política de substituição de páginas Para verificar se o dado da página real foi alterado, a tabela de páginas utiliza um bit de verificação, chamado de bit de modificação: Se foi alterado, o bit é 1; Se não foi alterado o bit é 0. Prof. Edivaldo Serafim Sistemas Operacionais IFSP

32 Thrashing Thrashing é a excessiva troca de páginas ou segmentos entre a memória principal e a memória secundária; Aumenta a taxa de I/O; Reduz o desempenho do computador. Prof. Edivaldo Serafim Sistemas Operacionais IFSP

33 Working set Visa eliminar o excesso de I/O provocado pela falta de páginas na memória (Thrashing); Introduz o conceito de localidades: Espacial: Quando páginas próximas podem ser referenciada; Temporal: Páginas que são referenciadas constantemente. Prof. Edivaldo Serafim Sistemas Operacionais IFSP

34 MEMÓRIA VIRTUAL POR SEGMENTAÇÃO Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

35 Memória virtual por segmentação Na Memória virtual por segmentação o espaço de endereçamento virtual é dividido em blocos de tamanhos diferentes, chamados de segmentos; O compilador analisa o tipo de dado a ser gravado no segmento e então o sistema define o tamanho do segmento; O espaço virtual de um processo possui limite máximo de segmentos; O tamanho do segmento pode ser alterado em tempo de execução; Prof. Edivaldo Serafim Sistemas Operacionais IFSP

36 Memória virtual por segmentação O mecanismo de mapeamento é semelhante ao de paginação, e existe uma tabela para mapear os segmentos, chamada de tabela de mapeamento de segmentos; Possui o mesmo esquema de endereçamento da paginação, com índice que é o número de segmento virtual e deslocamento; Prof. Edivaldo Serafim Sistemas Operacionais IFSP

37 Memória virtual por segmentação O sistema de segmentação leva vantagem sobre a paginação pela flexibilidade do segmento, por ser de tamanho variável; Por exemplo: um vetor grande pode exigir a criação de mais páginas para o processo; Já com segmentação; basta aumentar o segmento. Possui desvantagem pois apenas segmentos referenciados podem estar na memória: Aplicações devem ser desenvolvidas em módulos para diminuir o tamanho do segmento; Prof. Edivaldo Serafim Sistemas Operacionais IFSP

38 Memória virtual por segmentação Segmentação utiliza a política de alocação de páginas dinâmicas; Na paginação existe problema de fragmentação interna; Na segmentação existe problema de fragmentação externa; Deve existir mecanismos para realocar segmentos de memória; Prof. Edivaldo Serafim Sistemas Operacionais IFSP

39 Paginação x segmentação Prof. Edivaldo Serafim Sistemas Operacionais IFSP

40 Memória virtual por segmentação com paginação O espaço de endereçamento é dividido em segmentos e os segmentos em páginas; Objetiva juntar as duas técnicas para tirar proveito de suas vantagens; Prof. Edivaldo Serafim Sistemas Operacionais IFSP

41 Swapping de memória virtual É possível utilizar swapping com memória virtual para aumentar o número de processos em execução; Prof. Edivaldo Serafim Sistemas Operacionais IFSP

42 Atividades 1 até a 8 Prof. Edivaldo Serafim Sistemas Operacionais IFSP


Carregar ppt "Sistemas Operacionais Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas - 2013 IFSP – Campus Capivari."

Apresentações semelhantes


Anúncios Google