Fundamentos da Arquitetura de Computadores

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais
Advertisements

INTRODUÇÃO À COMPUTAÇÃO Sistemas Operacionais
Sistemas Operacionais
Sistemas Operacionais
Introdução à Hierarquia de Memória
DESENVOLVIMENTO DE SISTEMAS PARA INTERNET
Arquitetura e organização de computadores
Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 10 – Gerência de Memória Virtual1 Arquitetura de Sistemas Operacionais Francis Berenger Machado.
ARQUITETURAS DE COMPUTADORES II
Gerenciamento de memória
Arquitetura de Sistemas Operacionais
SSC SISTEMAS OPERACIONAIS I Aula 15 – Gerenciamento de Memória
SSC541 - SISTEMAS OPERACIONAIS I Aula 13 – Gerenciamento de Memória
Memória.
Arquitetura de Computadores
Sistemas Operacionais Turmas MBI1 e NBI2. Prof: Marcelo Mendes.
Debian Gerência de Memória.
Threads.
Sistemas Operacionais I
Sistemas Operacionais I
Sistemas Operacionais I
Capítulo 9: Memória Virtual
Arquitetura de Sistemas Operacionais – Machado/Maia 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 10 Gerência.
Arquitectura de Computadores II
Sistemas Operacionais Gerenciamento de Memória
Fundamentos da Arquitetura de Computadores
Sistemas Operacionais
Sistemas Operacionais
Sistemas Operacionais
SISTEMAS OPERACIONAIS
Sistema Operacional Processos
Sistemas Operacionais I
Gerência de Memória Virtual
Conteúdo Processos e threads Partes do processo
Arquitetura de Computadores
Memória virtual Professor Esp. Diego André Sant’Ana
Processos.
Sistemas Operacionais
SISTEMAS OPERACIONAIS I
Sistemas Operacionais
SISTEMAS OPERACIONAIS I Memória Virtual e Paginação
ARQUITETURA DE COMPUTADORES II
SISTEMAS OPERACIONAIS I
Sistemas Operacionais
Capítulo VIII Ambientes de Execução
Sistemas Operacionais
SISTEMAS OPERACIONAIS I Gerenciamento de Arquivos
SISTEMAS OPERACIONAIS I
ARQUITETURAS DE COMPUTADORES II
DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória.
Sistemas Operacionais
Subsistema de Entrada e Saída do Kernel
Ch7b-1 Capítulo Sistemas de Memória - Memória Virtual.
ARQUITETURAS E ORGANIZAÇÃO DE COMPUTADORES
Infra-Estrutura de Software Gerenciamento de Memória.
Memória Virtual O problema é que temos um espaço limitado de memória RAM e, cada vez mais, os aplicativos consomem partes maiores dela. E o que o processador.
Prof. André Luis M. Silva Hierarquia de Memória Prof. André Luis M. Silva
Gerenciamento de Memória - Capítulo 7 - Sistemas Operacionais Prof. Dr. José Carlos Becceneri Luciana Sêda Cardoso.
Gerenciamento de Memória Sistemas Recentes
Bruno Iran Ferreira Maciel
Sistemas de Arquivos- Cap4
Sistemas de Arquivos Sistemas Operacionais Profa. Priscila Facciolli
Memória Virtual.
MEMÓRIAS.
Gerência de Memória Sidney Cunha de Lucena Baseado no livro
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Gerenciamento de Memória Capítulo Gerenciamento básico de memória 3.2 Troca de processos.
Gerência de Memória. Memória Considerações: Recurso caro e escasso; Programas só executam se estiverem na memória principal; Quanto mais processos residentes.
Memória Virtual ARQUITETURAS DE COMPUTADORES II Prof. César Augusto M. Marcon.
Hierarquia de Memória – Parte 2 Prof. André Luis M. Silva
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais FATEC-PB Professor: Gustavo Wagner
Transcrição da apresentação:

Fundamentos da Arquitetura de Computadores Memória Virtual Prof. André Renato 1º Semestre / 2012

Memória Virtual Como vimos, nem sempre a quantidade total de memória que um computador consegue endereçar é efetivamente instalada e utilizada; A memória virtual foi desenvolvida para que os programas possam utilizar mais memória principal do que de fato existe;

Memória Virtual Memória virtual – separação da memória lógica do usuário da memória física somente uma parte do programa precisa estar na memória para execução; espaço de endereçamento lógico pode ser muito maior que espaço de endereçamento físico; permite o compartilhamento de espaços de endereços por vários processos; compartilhamento possibilita criação mais eficiente de processos.

Memória Virtual Em um sistema de memória virtual, o endereço de memória gerado pelo programa para acessar uma variável, por exemplo, é um endereço virtual, sendo diferente do endereço real usado para o acesso a memória principal. Os possíveis endereços virtuais que podem ser gerados pelo programa formam o espaço de endereçamento virtual, enquanto a faixa de endereços na memória principal constitui o espaço de endereçamento real.

Memória Virtual Embora sob o ponto de vista do programa as instruções e dados estejam armazenados no espaço de endereçamento virtual, na realidade eles continuam armazenados na memória principal, representada pelo espaço de endereçamento real. Esta diferença entre endereçamento virtual e real utiliza um mecanismo que faz a correspondência entre o endereço virtual gerado pelo programa e o endereço real que será usado para acessar a memória principal, o gerenciador de memória virtual, ou DAT (Dynamic Address Translator).

Memória Virtual

Memória Virtual Como o espaço de endereçamento virtual é bem maior que o espaço de endereçamento real, pode acontecer de um bloco de dados pedido pelo programa não estar posicionado na MP; Neste caso, o bloco de dados ainda está na MS e será preciso trazê-lo para a MP; A operação de movimentação dos blocos é chamada de swapping e consiste em uma leitura ao disco (lenta);

Memória Virtual

Memória Virtual Blocos de memória podem ser organizados de duas formas: em segmentos ou páginas. O segmento pode ser formado por um bloco de informações logicamente relacionadas (por exemplo, os dados armazenados em uma matriz); os segmentos podem ter tamanho variável. Uma página é um bloco de dados de tamanho fixo e não segue nenhuma coesão lógica, isto é, os dados podem não ter relação entre si.

Memória Virtual O DAT possui uma pequena memória interna chamada TLB (Translation Lookaside Buffer), que armazena os pares de endereços virtual/principal acessados recentemente, como uma memória cache. No acesso a uma posição de memória virtual, se o dado requerido não possui um registro relacionando com a memória principal, o bloco de dados também não se encontra na memória principal. Essa ausência de bloco é denominada falha de página ou falha de segmento.

Memória Virtual Ao ocorrer uma falha o DAT gera uma interrupção, transferindo o controle do processador para o sistema operacional, para que este transfira o bloco de dados referenciado da memória secundária para a memória principal. Após a transferência do bloco de dados ser concluída, o controle do processador retorna ao programa em execução, exatamente para o ponto onde foi interrompido, agora com os dados referenciados presentes na memória principal.

Memória Virtual

Memória Virtual Com a utilização da memória principal, não é necessário que todas as instruções e dados de um programa permaneçam na memória principal durante a execução do programa, blocos são transferidos da memória secundária para a principal a medida que forem referenciados. É importante ressaltar que todo o mecanismo de memória virtual funciona de forma totalmente transparente para o programa, e mais importante, para o programador que o desenvolveu.

Memória Virtual Paginação sob demanda: Uma página é colocada na memória somente quando se necessita dela; Menos E/S para carregamento e swap de programas; Menos memória gasta com cada processo; Resposta mais rápida; Maior número de usuários.

Memória Virtual O que acontece se não existir espaço livre para a página? Substituição de página– encontra uma página que está na memória mas não está sendo utilizada e a coloca no disco. algoritmo utilizado deve fornecer menor número de faltas de páginas. A mesma página pode ser trazida para a memória várias vezes.

Memória Virtual O que pode correr se o algoritmo escolhido for ruim, ou se houver pouco espaço para a memória virtual? Se um processo não possui páginas suficientes para ser executado na memória, a taxa de falta de páginas pode se tornar muito alta. baixa utilização de CPU sistema operacional acha que precisa aumentar o nível de multiprogramação permite que outro processo entre para ser executado causando mais faltas de página

Memória Virtual Thrashing: um processo está ocupado realizando a troca de páginas entre a memória e o disco. A utilização da MV deve portanto ser feita com moderação. Uma MV muito grande, pode fazer com que muitos blocos fiquem em disco, além de ocupar muito espaço no HD; Uma MV muito pequena pode fazer com que o desempenho da máquina seja bem menor (principalmente com muitos programas);