Sistemas Operacionais Turmas MBI1 e NBI2. Prof: Marcelo Mendes.

Slides:



Advertisements
Apresentações semelhantes
INTRODUÇÃO À COMPUTAÇÃO Sistemas Operacionais
Advertisements

Sistemas Operacionais
Sistemas Operacionais
Sistemas Operacionais
Arquitetura de Sistemas Operacionais
DESENVOLVIMENTO DE SISTEMAS PARA INTERNET
Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 10 – Gerência de Memória Virtual1 Arquitetura de Sistemas Operacionais Francis Berenger Machado.
Gerenciamento de memória
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais Francis Berenger Machado
SSC SISTEMAS OPERACIONAIS I Aula 15 – Gerenciamento de Memória
SSC541 - SISTEMAS OPERACIONAIS I Aula 13 – Gerenciamento de Memória
Memória.
Gerência de Memória.
Arquitetura de Computadores
Debian Gerência de Memória.
Threads.
Sistemas Operacionais I
Sistemas Operacionais I
Gerência de Memória.
Sistemas Operacionais I
Resumindo Na arquitetura x86 (32 e 64 bits), são usadas a segmentação e a paginação. O espaço de endereçamento de uma aplicação é dividido em segmentos,
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
Proteção de Memória O sistema operacional deve impedir que um processo tenha acesso ou modifique uma página do sistema sem autorização. Proteção para páginas.
Sistemas Operacionais Gerenciamento de Memória
Fundamentos da Arquitetura de Computadores
Sistemas Operacionais
Sistemas Operacionais
Sistemas Operacionais
Sistemas Operacionais
Gerência de Memória Fundamentos Swapping Alocação Contígua de memória
SISTEMAS OPERACIONAIS
Gerência de Memória Virtual
Memória virtual Professor Esp. Diego André Sant’Ana
SISTEMAS OPERACIONAIS I
Sistemas Operacionais
SISTEMAS OPERACIONAIS I
Sistemas Operacionais
SISTEMAS OPERACIONAIS I Memória Virtual e Paginação
SISTEMAS OPERACIONAIS I
Sistemas Operacionais
Sistemas Operacionais
Capítulo 8: Memória principal
SISTEMAS OPERACIONAIS I
ARQUITETURAS DE COMPUTADORES II
DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória.
Sistemas Operacionais
Capítulo 8: Memória Principal
Infra-Estrutura de Software Gerenciamento de Memória.
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.
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 Sistemas Operacionais Profa. Priscila Facciolli
Sistemas Operacionais IV – Gerenciamento de E/S
Memória Virtual.
MEMÓRIAS.
Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.
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.
Sistemas Operacionais Gerência de Memória Funções básicas (número, tamanho e segurança) Alocação contígua simples Técnica de overlay Alocação particionada.
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
SISTEMAS OPERACIONAIS MEMÓRIA VIRTUAL. INTRODUÇÃO Memória Virtual é um técnica sofisticada e poderosa de gerenciamento de memória, onde a MP e a MS são.
Transcrição da apresentação:

Sistemas Operacionais Turmas MBI1 e NBI2. Prof: Marcelo Mendes. Memória Virtual

Memória Virtual Memória virtual (virtual memory) é uma técnica sofisticada e poderosa de gerência de memória, onde as memórias principal e secundária são combinadas, dando ao usuário a ilusão de existir uma memória muito maior que a memória principal. O conceito de memória virtual está baseado em desvincular o endereçamento feito pelos programas dos endereços físicos da memória principal. Assim, os programas e suas estruturas de dados deixam de estar limitados ao tamanho da memória física disponível. A memória virtual também veio minimizar o sério problema da fragmentação da memória.

Espaço de Endereçamento Virtual O conceito de memória virtual se aproxima muito da idéia de um vetor, existente nas linguagens de alto nível. Quando fazemos referência a um componente do vetor, não nos preocupemos em que posição de memória aquele dado está. O compilador se encarrega de gerar instruções que implementam esse mecanismo, tornando-se totalmente transparente para nós.

Espaço de Endereçamento Virtual

Espaço de Endereçamento Virtual Um programa no ambiente de memória virtual não faz referências a endereços físicos de memória(endereços reais), mas a apenas endereços virtuais. No momento da execução de uma instrução, o endereço virtual é traduzido para um endereço físico, pois o processador acessa apenas posições da memória principal. O mecanismo de tradução virtual para endereço físico é denominado mapeamento. O conjunto de endereços virtuais que os processos podem endereçar é chamado espaço de endereçamento virtual.

Mapeamento Toda a estrutura do processo ou o programa executado em seu contexto precisa estar no espaço de endereçamento real para poder ser referenciado ou executado; portanto, deve existir um mecanismo que transforme os endereços virtuais em endereços reais. Esse mecanismo, conhecido por mapeamento, permite ao sistema operacional traduzir um endereço localizado no espaço virtual para um no espaço real. Como conseqüência do mapeamento, um programa não precisa estar necessariamente contíguo na memória real para ser executado.

Mapeamento

Mapeamento Nos sistemas atuais, a tarefa de tradução é realizada por hardware, juntamente com o sistema operacional, de forma a não comprometer seu desempenho. Como a maioria das aplicações tende a fazer referência a um reduzido número de páginas somente uma pequena fração da tabela de páginas é necessária. Com base nesta realidade, foi introduzido um hardware especial para mapear endereços virtuais para endereços físicos sem a necessidade de acesso à tabela de páginas, chamado memória associativa

Mapeamento Cada processo tem o mesmo espaço de endereçamento virtual, como se possuísse sua própria memória virtual. O mecanismo de tradução se encarrega, então, de manter tabelas de mapeamento exclusivas para cada processo, relacionando os endereços virtuais do processo às suas posições na memória física.

Mapeamento – Memória associativa

Paginação Paginação (paging) é a técnica de gerência de memória onde o espaço de endereçamento virtual e o espaço de endereçamento real são divididos em blocos do mesmo tamanho, chamados páginas. As páginas no espaço virtual são denominadas páginas virtuais, enquanto as páginas no espaço real são chamadas de páginas reais ou frames (molduras). Todo mapeamento é realizado em nível de página, através de tabelas de páginas. Cada página virtual do processo possui uma entrada na tabela (entrada na tabela de páginas - ETP), com informações de mapeamento que permitem ao sistema localizar a página real correspondente.

Segmentação Segmentação é a técnica de gerência de memória, onde os programas são divididos em sub-rotinas e estruturas de dados e colocados em blocos de informação de memória. Os blocos tem tamanhos diferentes e são chamados de segmentos, cada um com seu próprio espaço de endereçamento.

Segmentação

Segmentação A grande diferença entre a paginação e a segmentação é que, enquanto a primeira divide o programa em partes de tamanho fixo, sem qualquer ligação com a estrutura do programa, a segmentação permite uma relação entre a lógica do programa e sua divisão na memória.

Proteção Em qualquer sistema multiprogramável, onde vários processos compartilham a memória principal, deve existir um mecanismo que proteja o espaço de memória de cada processo e, principalmente, a área do sistema operacional. No esquema de memória virtual, cada processo tem a sua própria tabela de mapeamento, e a tradução dos endereços é realizada pelo sistema. Assim, é impossível que um processo tenha acesso a áreas de memória de outros processos, a menos que haja compartilhamento explícito de páginas/segmentos.

Swapping Mesmo com o aumento da eficiência da multiprogramação, muitas vezes um programa não podia ser executado por falta de uma partição livre disponível. A técnica de swapping veio tentar resolver o problema da insuficiência de memória para todos os usuários. O swapping é uma técnica aplicada à gerência de memória, para programas que esperam por memória livre para serem processados. Nesta situação, o sistema escolhe um programa residente, que levado da memória para o disco (swap out), retornando posteriormente para a memória principal (swap in), como se nada tivesse ocorrido.

Thrashing Thrashing pode ser definido como sendo a excessiva transferência de páginas/segmentos entre a memória principal e a memória secundária. Esse problema se aplica tanto a sistemas que implementam paginação como segmentação.