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

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

Sistemas Operacionais

Apresentações semelhantes


Apresentação em tema: "Sistemas Operacionais"— 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 2013

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 2013

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 2013

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

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 2013

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

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 2013

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

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 2013

12 Mapeamento Prof. Edivaldo Serafim Sistemas Operacionais IFSP 2013

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 2013

14 Mapeamento Prof. Edivaldo Serafim Sistemas Operacionais IFSP 2013

15 Memória virtual por paginação
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Memória virtual por paginação

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 2013

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

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 2013

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 2013

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 2013

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

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 2013

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 2013

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 2013

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 2013

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 2013

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 2013

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 2013

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 2013

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 2013

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 2013

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 2013

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 2013

34 Memória virtual por segmentação
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Memória virtual por segmentação

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 2013

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 2013

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 2013

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 2013

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

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 2013

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 2013

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


Carregar ppt "Sistemas Operacionais"

Apresentações semelhantes


Anúncios Google