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

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

Memória virtual Professor Esp. Diego André Sant’Ana

Apresentações semelhantes


Apresentação em tema: "Memória virtual Professor Esp. Diego André Sant’Ana"— Transcrição da apresentação:

1 Memória virtual Professor Esp. Diego André Sant’Ana
Disciplina: Sistemas Operacionais II

2 Memória virtual Embora registradores-base e registradores- limite possam ser usados para criar a abstração de espaços de endereçamento, há outro problema a ser resolvido: gerenciar o bloatware. O tamanho das memórias está aumentando rapidamente, mas o tamanho dos softwares esta aumentando muito mais rápido.

3 Memória virtual Na década de 1980, muitas universidades executavam um sistema de tempo compartilhado com dezenas de usuários(mais ou menos satisfeitos) simultâneos em um VAX 4MB. Agora a Microsoft recomenda pelo menos 512 MB para que um único usuário do sistema Vista execute aplicações simples e 1GB se estiver fazendo algo sério. A tendência à multimídia gera ainda mais demandas sobre a memória.

4 Memória virtual Como consequência desses desenvolvimentos, há a necessidade de executar programas grandes demais para se encaixarem na memória, e certamente há a necessidade de haver sistemas que possam dar suporte a múltiplos programas em execução simultânea, cada um dos quais é comportado pela memória individualmente, mas que, coletivamente, excedam a memória.

5 Memória virtual A troca de processos não é uma opção atrativa, visto que um disco SATA típico tem uma taxa de transferência de pico de, no máximo, 100 MB/s, o que significa 10 segundos para sair de um programa de 1 GB e outros 10 segundos para inicializar um programa de 1 GB.

6 Memória virtual O problema de programas maiores que a memória está presente desde o início da computação, ainda que em áreas limitadas, com ciência e engenharia(a simulação da criação do universo ou mesmo a simulação de uma nova aeronave ocupam muita memória).

7 Memória virtual Uma solução adotada na década de foi a divisão do programa em módulos, denominados sobreposições (overlays) (módulos de sobreposição).

8 Memória virtual Quando um programa era inicializado, tudo o que era carregado na memória era o gerenciador de sobreposições, que imediatamente carregava e executava a sobreposição 0. Feito isso, ele diria ao gerenciador que a sobreposições para carregar a sobreposição 1, seja acima da sobreposição 0 na memória (se houvesse espaço para ele), seja na parte superior da sobreposição 0 (se não houvesse espaço)

9 Memória virtual Alguns sistemas de sobreposições eram altamente complexos, permitindo muitos sobreposições na memórias ao mesmo tempo. As sobreposições eram mantidos em disco e carregadas (ou removidas) dinamicamente na memória pelo gerenciador de sobreposições.

10 Memória virtual Embora o trabalho real de troca de sobreposição do disco para a memória e vice-versa fosse feito pelo sistema operacional, a divisão do programa em módulos tinha que ser feita manualmente pelo programador.

11 Memória virtual A divisão de programas grandes em módulos menores era um trabalho lento, enfadonho e propenso a erros. Poucos programadores eram bons nisso. Não demorou muito para se pensar em também atribuir essa tarefa ao computador.

12 Memória virtual Para isso, isso concebido um método (Fotheringham,1961), que ficou conhecido como memória virtual. A ideia básica por trás da memória virtual é que cada programa tem seu próprio espaço de endereçamento, que é dividido em blocos chamados páginas.

13 Memória virtual Cada página é uma série contígua de endereços. Essas páginas são mapeadas na memória física, mas nem todas precisam estar na memória física para executar o programa.

14 Memória virtual Quando o programa referencia uma parte de seu espaço de endereçamento que está na memória física, o hardware executa o mapeamento necessário dinamicamente.

15 Memória virtual Quando o programa referência uma parte de seu espaço de endereçamento que não está em sua memória física, o sistema operacional é alertado para obter a parte que falta e reexecutar a instrução que falhou.

16 Memória virtual A memoria virtual também funciona bem em um sistema com multiprogramação, com pedaços e partes de diferentes programas simultaneamente na memoria. Se um programa estiver esperando por outra parte de si próprio ser carregado, a CPU poderá ser dada a outro processo.

17 Referências Tanenbaum, Andrew S.; Tanenbaum, Andrew S. Sistemas Operacionais Modernos - 3ª Ed Prentice Hall – Br


Carregar ppt "Memória virtual Professor Esp. Diego André Sant’Ana"

Apresentações semelhantes


Anúncios Google