Sistemas operacionais
This presentation is the property of its rightful owner.
Sponsored Links
1 / 42

Sistemas Operacionais PowerPoint PPT Presentation


  • 62 Views
  • Uploaded on
  • Presentation posted in: General

Sistemas Operacionais. Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas - 2013 IFSP – Campus Capivari. Gerência de recursos Memória Virtual. 08/10/2013. Introdução.

Download Presentation

Sistemas Operacionais

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Sistemas Operacionais

Prof. Edivaldo Serafim

Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas - 2013

IFSP – Campus Capivari


Gerência de recursosMemória Virtual

08/10/2013


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 OperacionaisIFSP 2013


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 OperacionaisIFSP 2013


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 OperacionaisIFSP 2013


Espaço de endereçamento virtual

Prof. Edivaldo Serafim

Sistemas OperacionaisIFSP 2013


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 OperacionaisIFSP 2013


Espaço de endereçamento virtual

Prof. Edivaldo Serafim

Sistemas OperacionaisIFSP 2013


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 OperacionaisIFSP 2013


Espaço de endereçamento virtual

Prof. Edivaldo Serafim

Sistemas OperacionaisIFSP 2013


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 OperacionaisIFSP 2013


Mapeamento

Prof. Edivaldo Serafim

Sistemas OperacionaisIFSP 2013


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 OperacionaisIFSP 2013


Mapeamento

Prof. Edivaldo Serafim

Sistemas OperacionaisIFSP 2013


Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

Memória virtual por paginação


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áginasvirtuais;

    • Páginas do espaço real são chamadas páginasreais ouframes;

  • 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 OperacionaisIFSP 2013


Memória virtual por paginação

Prof. Edivaldo Serafim

Sistemas OperacionaisIFSP 2013


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 OperacionaisIFSP 2013


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 OperacionaisIFSP 2013


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 PageIn;

  • A quantidade de pagefaultde um programa depende de como foi escrito e do gerenciador de memória.

Prof. Edivaldo Serafim

Sistemas OperacionaisIFSP 2013


Memória virtual por paginação

Prof. Edivaldo Serafim

Sistemas OperacionaisIFSP 2013


Memória virtual por paginação

  • O número de Page Faultgerados por cada processo em determinado intervalo de tempo é definido como taxa de paginação;

  • Quando ocorre um pagefault, 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 OperacionaisIFSP 2013


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 OperacionaisIFSP 2013


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 OperacionaisIFSP 2013


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 OperacionaisIFSP 2013


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 OperacionaisIFSP 2013


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 OperacionaisIFSP 2013


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 OperacionaisIFSP 2013


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 OperacionaisIFSP 2013


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 OperacionaisIFSP 2013


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 OperacionaisIFSP 2013


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 OperacionaisIFSP 2013


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 OperacionaisIFSP 2013


Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

Memória virtual por segmentação


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 OperacionaisIFSP 2013


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 OperacionaisIFSP 2013


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 OperacionaisIFSP 2013


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 OperacionaisIFSP 2013


Paginação x segmentação

Prof. Edivaldo Serafim

Sistemas OperacionaisIFSP 2013


Memória virtual por segmentaçãocom 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 OperacionaisIFSP 2013


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 OperacionaisIFSP 2013


Atividades

  • 1 até a 8

Prof. Edivaldo Serafim

Sistemas OperacionaisIFSP 2013


  • Login