Memória virtual. Sistemas Segmentados

Documentos relacionados
Gestão de Memória. Espaço de Endereçamento

Memória. Gestão do espaço lógico Paginação Segmentação com paginação

Gestão de Memória. Espaço de Endereçamento

Organização e Arquitetura de Computadores I

Espaço de Endereçamento

Segmentação de Memória

Gerência de Memória. Endereçamento Virtual (1) Paginação. Endereçamento Virtual (2) Endereçamento Virtual (3)

ESTRATÉGIAS DE ALOCAÇÃO AULA 11 Sistemas Operacionais Gil Eduardo de Andrade

Gerência de Memória. Paginação

Memória. Função: armazenamento de dados e instruções h FFFF FFFE h FFFF FFFF h byte.

7 Mecanismos de gestão de memória. Prof. Ricardo Silva

Fundamentos de Sistemas Operacionais

CURSO TÉCNICO EM INFORMÁTICA SISTEMAS OPERACIONAIS II MEMÓRIA VIRTUAL

AULA 14 - Memória Virtual

Gerência de memória III

Gerência de Memória. Gerência de Memória Introdução e Particionamento. Novo capítulo. Aulas anteriores. Plano da aula. Memória lógica & física

Gerenciamento de Memória

Gestão de memória - Memory Management Unit (MMU)

Arquitetura de Sistemas Operacionais

AULA Nº 11 SISTEMAS OPERACIONAIS. Técnicas de Memória Virtual

Espaço de Endereçamento

MEMÓRIA LÓGICA E FÍSICA (1)

Gestão de memória - Memory Management Unit (MMU)

Capítulo 8: Memória Principal. Operating System Concepts 8 th Edition

Sistemas Operacionais Gerenciamento de Memória. Carlos Ferraz Jorge Cavalcanti Fonsêca

Capítulo 6 Gerência de Memória 103

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III Memória Primária. 29/04/2014 Prof. Valeria M. Bastos

Gerenciamento de Memória

Função Fundamental do SO

Gerência de Memória Memória Virtual e Paginação

Organização de um Sistema Operativo

Capítulo 9: Memória Virtual. Operating System Concepts 8 th Edition

Endereçamento e Formato de Instruções

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO

LISTA DE EXERCÍCIOS 02

Modelação de algoritmos de substituição de páginas Anomalia Belady

Sistemas Operativos Cap. VII Gestão Memória

Sistemas Operacionais

Sumário. Sistemas Operativos 1

UNIX Gerência de Memória

Sistemas Opera r cionais Gerência de Memória

SISTEMAS OPERACIONAIS. 2ª. Lista de Exercícios Parte 2

Gerência de Memória. Segmentação

Módulo 3 - Estrutura e configuração de Sistemas Operativos monoposto

Gestão de Memória. Algoritmos de Gestão de Memória

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Sistemas Operacionais

Segmentação com paginação Intel 386. Esquema de tradução de endereço Intel 386

Memória Virtual. MAC Arquitetura de Computadores Prof. Siang Wun Song. Baseado em W. Stallings Computer Organization and Architecture

Gestão de Memória algoritmos e políticas

Sistemas Operacionais. - Gerência de Memória -

CPU. CPU Unidade Central de Processamento. Função: leitura, escrita e processamento de dados

Aula 06. Slots para Memórias

Arquitetura e Organização de Computadores

Memória. Espaço de endereçamento de um programa Endereços reais e virtuais Recolocação dinâmica Segmentação

X86 - Modo Protegido (32bits) Introdução (parte 1)

SISTEMAS OPERACIONAIS

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III Memória Virtual. 26/05/2014 Prof. Valeria M. Bastos

Sistemas Operacionais Memória Virtual

Gerência de Memória. Execução de um Programa (1) Introdução. Introdução

Paginação e Segmentação. Memória Principal


PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca

Transcrição:

Memória virtual Sistema de memória virtual - aquele onde os endereços usados pelos programas podem ser distintos dos endereços físicos da memória central Os endereços que os programas usam são endereços virtuais Os endereços que são usados para aceder às células de memória são endereços reais (físicos) Sempre que o programa refere um endereço (virtual) este é convertido para um endereço físico e é este que é usado para garantir acesso a uma célula de memória específica Para este processo ser eficiente é preciso recorrer a hardware específico Sistemas Segmentados Segmento lógico maior que segmento físico livre menor que segmento físico livre igual ao segmento físico livre Conversão de endereços Endereço lógico = (segmento, deslocamento) Endereço físico = (registo base + segmento, deslocamento) Verificar se resultado está dentro do segmento Necessário recompactar a memória Exemplo: 80286 (code, data, stack, extra - segmentos) Sistema operativo gere os registos relevantes Page 1 1

Segmentação no 8086 Há 4 registos de segmento CS, DS, SS, ES CS - usado para guardar código do processo DS - usado para guardar os dados estáticos SS - usado para guardar a pilha (dados das funções, passagem de argumentos, ) ES usado para guardar os dados dinâmicos (alloc, free, ) Quando um novo processo vai ser executado o sistema operativo coloca os segmentos do novo processo na memória e actualiza os valores dos 4 registos de segmento Memória Virtual Paginada Page 2 2

Objectivos Gerais Programas não estarem limitados pela memória física do computador Poderem ser transportados de computador para computador Não necessitarem de ser alterados quando o hardware (de memória primária ou secundária) do computador muda Poderem usar mais memória (virtual) que a memória física existente Poderem adaptar-se, o mais possível, ao ambiente de execução de um dado momento Se houverem muitos processos ou poucos em execução sob supervisão do sistema operativo Memória virtual Memória usada pelos programas e vista pelos programadores Espaço de endereçamento virtual dos processos visto como conjunto de endereços virtuais contíguo ou não Zonas de endereçamento virtual podem ser partilhados entre processos, por exemplo: Mesmo programa ser executado em vários processos Bibliotecas comuns partilhadas por vários programas Quando um programa está bloqueado (por intervalos de tempo mais ou menos longos) não precisam de estar a ocupar espaço na memória principal (recurso escasso e caro) Page 3 3

Memória Virtual Paginada Espaço de endereçamento virtual está dividido em segmentos iguais chamados páginas Memória física está dividida em páginas (de igual dimensão) Valores típicos entre 512bytes e 8kbytes Endereço = (nº página + deslocamento) nº página deslocamento Memória Virtual Paginada Exemplo Computador com 28 bits de endereçamento da memória física (256 Mbytes) Programa que usa 8 Mbytes de memória Páginas de 1 kbyte 256 k páginas na memória central 8k páginas em uso pelo programa Processo precisa de uma tabela de páginas com 8k entradas Page 4 4

Sobre a Dimensão das Páginas (aspectos a considerar) Páginas Grandes Espaço desaproveitado Pouco eficiente trazer páginas de disco Pouco eficiente levar páginas para disco Tabelas de páginas curtas Páginas Pequenas Menos espaço desaproveitado Trocas com disco eficientes Tabelas de páginas grandes Paginação nº página deslocamento nº página deslocamento Tabela de páginas (1 por processo) Page 5 5

Hardware de Tradução de Endereços A necessidade de pesquisar a tabela de páginas para todos os endereços obriga a que deva ser uma operação muito eficiente Dimensão da tabela de páginas inviabiliza que todas estejam no hardware de tradução As entradas mais usadas ficam numa cache MMU - Memory Management Unit Faltas de Página Um dos objectivos da memória virtual é dar ao programador um espaço de endereçamento maior que a memória física, mas Nem todas as páginas cabem na memória Nem todas as páginas fazem falta na memória Tabela de páginas contêm: Endereço em memória física de uma página; ou Local onde esta se encontra em disco Se o sistema precisa de uma página que não está em memória física dá-se uma falta de página (pagefault) O hardware gera uma interrupção que é tratada pelo sistema operativo Page 6 6

Tabela de Páginas de um processo (exemplo) 1 2 3 4 5 6 7 423 424 546 23 54 100 D (234,12,2) 6 D (234,12,3) D (234,13,7) 22 MMU Como a tabela de páginas pode ser muito grande só parte da tabela de páginas está contida na MMU Assim, quando a MMU é consultada pode haver uma Page fault Interrupção de indicação de que um endereço de página não está contido no hardware de cache Interrupção é tratada pelo Gestor das Interrupções e o respectivo interrupt handler (do sistema operativo) traz a página em falta Pode ser muito penalizador para a execução eficiente de um processo se existirem muitas faltas de página Page 7 7