SISTEMAS OPERACIONAIS I Memória Virtual e Paginação

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais
Advertisements

INTRODUÇÃO À COMPUTAÇÃO Sistemas Operacionais
DESENVOLVIMENTO DE SISTEMAS PARA INTERNET
Linguagem de Montagem Visão geral.
ARQUITETURAS DE COMPUTADORES II
Gerenciamento de memória
Gerenciamento de Memória
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais Francis Berenger Machado
Daniel M. Aquino, Marcelo C. Perez, Thais A. B. Fernandes
SSC SISTEMAS OPERACIONAIS I Aula 15 – Gerenciamento de Memória
SSC541 - SISTEMAS OPERACIONAIS I Aula 13 – Gerenciamento de Memória
Memória.
Estruturas de Controle
Gerência de Memória Paginação
Sistemas Operacionais Turmas MBI1 e NBI2. Prof: Marcelo Mendes.
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,
Gerenciamento de Memória
Capítulo 9: Memória Virtual
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
Representação de Instruções
SISTEMAS OPERACIONAIS
Sistemas Operacionais
Sistemas Operacionais
Sistemas Operacionais
Sistemas Operacionais
SISTEMAS OPERACIONAIS
Conteúdo Processos e threads Partes do processo
Memória virtual Professor Esp. Diego André Sant’Ana
SISTEMAS OPERACIONAIS I
Sistemas Operacionais
SISTEMAS OPERACIONAIS I
Sistemas Operacionais
ARQUITETURA DE COMPUTADORES II
SISTEMAS OPERACIONAIS I
Sistemas Operacionais
Capítulo VIII Ambientes de Execução
Sistemas Operacionais
SISTEMAS OPERACIONAIS I Gerenciamento de Arquivos
SO Paginação de Memória Algoritmos de Substituição de Página
Gerenciamento de Memória Conceitos Básicos
SISTEMAS OPERACIONAIS I
Sistemas Operacionais
Subsistema de Entrada e Saída do Kernel
Registradores.
Infra-Estrutura de Software Gerenciamento de Memória.
Gerenciamento de Memória
SISTEMAS OPERACIONAIS
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.
Faculdade Pernambucana - FAPE
Bruno Iran Ferreira Maciel
Sistemas de Arquivos- Cap4
Sistemas de Arquivos Sistemas Operacionais Profa. Priscila Facciolli
Administração de Sistemas Operacionais 1 -Windows
Memória Virtual.
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
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.
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 I Memória Virtual e Paginação Embora registradores-base e registradores-limite possam ser usados para criar a abstração de espaços de endereçamento, há um outro problema a ser resolvido: gerenciar o bloatware. O problema de programas maiores que a memória está presente desde o início da computação.

SISTEMAS OPERACIONAIS I Memória Virtual e Paginação Uma solução adotada na década de 1960 foi a divisão do programa em módulos, denominados sobreposições (overlays) ou módulos de sobreposição. A divisão de programas grandes em módulos menores era um trabalho lento e propenso a erros. Poucos programadores eram bons nisso. Não demorou muito para se pensar em também atribuir essa tarefa ao computador.

SISTEMAS OPERACIONAIS I Memória Virtual e Paginação Para isso, foi concebido um método, que ficou conhecido como memória virtual. A ideia básica por trás da memória virtual é que cada programa tenha seu próprio espaço de endereçamento, que é dividido em blocos chamados de páginas. Cada página é uma série contígua de endereços.

SISTEMAS OPERACIONAIS I Memória Virtual e Paginação 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. 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.

SISTEMAS OPERACIONAIS I Memória Virtual e Paginação Quando o programa referencia 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. Se um programa estiver esperando por outra parte de si próprio ser carregada na memória, a CPU poderá ser dada a outro processo.

SISTEMAS OPERACIONAIS I Memória Virtual e Paginação A maioria dos sistemas com memória virtual utiliza uma técnica denominada paginação. Em qualquer computador existe um conjunto de endereços de memória que os programas podem gerar ao serem executados. Quando um programa usa uma instrução do tipo MOV REG, 1000, ele deseja copiar o conteúdo do endereço 1000 para o registrador REG.

SISTEMAS OPERACIONAIS I Memória Virtual e Paginação Esses endereços gerados pelo programa são denominados endereços virtuais e constituem o espaço de endereçamento virtual. Em computadores sem memória virtual, o endereço virtual é idêntico ao endereço físico. Quando a memória virtual é usada, o endereço virtual não é colocado diretamente no barramento de memória.

SISTEMAS OPERACIONAIS I Memória Virtual e Paginação Em vez disso, ele vai a uma MMU (memory management unit), que mapeia endereços virtuais e endereços físicos.

SISTEMAS OPERACIONAIS I Memória Virtual e Paginação Um exemplo de computador que pode gerar endereços virtuais de 16 bits, de 0 a 64k, esse computador tem somente 32 KB de memória física. Assim, embora seja possível escrever programas de 64 KB, eles não podem ser totalmente carregados na memória para serem executados e sim partes carregadas dinamicamente na memória quando necessário.

SISTEMAS OPERACIONAIS I Memória Virtual e Paginação

SISTEMAS OPERACIONAIS I Memória Virtual e Paginação O que acontece se um programa tenta usar uma página virtual não mapeada? A MMU constata que essa página virtual não está mapeada ( o que é indicado pelo X na figura) e força o desvio da CPU para o sistema operacional. Essa interrupção é denominada falta de página (page fault). O sistema operacional, então, escolhe uma moldura de página pouco usada e a salva em disco, ou seja, escreve seu conteúdo de volta no disco.

SISTEMAS OPERACIONAIS I Memória Virtual e Paginação Em seguida, ele carrega a página virtual referenciada pela instrução na moldura de página recém liberada, atualiza o mapeamento da tabela de páginas e reinicia a instrução causadora da interrupção.

SISTEMAS OPERACIONAIS I Memória Virtual e Paginação Tabelas de páginas No caso mais simples, o mapeamento dos endereços virtuais em endereços físicos pode ser resumido da seguinte forma: o endereço virtual é dividido em números de página virtual (bits mais significativos) e um deslocamento (bits menos significativos). Por exemplo, com um endereço de 16 bits e um tamanho de página de 4 KB os 4 bits superiores poderiam especificar uma dentre as 16 páginas virtuais e os 12 bits inferiores especificariam, então, o deslocamento do byte (de 0 a 4095) dentro da página selecionada.

SISTEMAS OPERACIONAIS I Memória Virtual e Paginação Tabelas de páginas O objetivo da tabela de páginas é mapear páginas virtuais em molduras de página física. Matematicamente falando, a tabela de páginas é uma função que usa o número da página virtual como argumento e tem o numero da moldura de página física correspondente como resultado. Usando o resultado dessa função, o campo que endereça a página virtual em um endereço virtual pode ser substituído pelo campo que endereça a moldura de uma página física, formando, assim, um endereço da memória física.

SISTEMAS OPERACIONAIS I Memória Virtual e Paginação Segmentação A memória virtual discutida até agora é unidimensional porque o endereçamento virtual vai de 0 a algum endereço máximo, um após o outro. Para muitos problemas, ter dois ou mais espaços de endereçamentos separados pode ser muito melhor do que ter somente um.

SISTEMAS OPERACIONAIS I Memória Virtual e Paginação Segmentação Imagine o que ocorre se um programa tem um número excepcionalmente grande de variáveis, mas uma quantidade normal do restante. A região do espaço de endereçamento alocada para a tabela de símbolos pode se esgotar, mas talvez existam várias entradas livres nas outras tabelas.

SISTEMAS OPERACIONAIS I Memória Virtual e Paginação Segmentação Uma solução extremamente abrangente e direta é prover a máquina com muitos espaços de endereçamento completamente independentes, chamados de segmentos. Cada segmento é constituído de uma sequencia linear de endereços, de 0 a algum máximo. Segmentos diferentes podem ter tamanhos diferentes.

SISTEMAS OPERACIONAIS I Memória Virtual e Paginação Linux No Linux, a idéia básica por trás da paginação é simples: um processo não precisa estar inteiro na memória para que seja executado. É necessário simplesmente que a estrutura do usuário e as tabelas de páginas estejam lá. Se isso acontecer, o processo é considerado ‘na memória’ e pode ser escalonado para a execução.

SISTEMAS OPERACIONAIS I Memória Virtual e Paginação Linux As páginas de código dados e segmentos de pilhas são levadas para a memória dinamicamente, uma a uma conforme são referenciadas. Se a estrutura do usuário e as tabelas de páginas não estiverem na memória, o processo não pode ser executado até que o trocador as traga.

SISTEMAS OPERACIONAIS I Memória Virtual e Paginação Linux Uma parte da paginação é implementada pelo núcleo e a outra, pelo novo processo denominado daemon de paginação.

SISTEMAS OPERACIONAIS I Memória Virtual e Paginação Exercícios: Conceitue memória virtual Descreva como funciona o processo de paginação Resuma a paginação no Linux.