Memória virtual. Sistemas de Computação
|
|
|
- Angélica Henriques Casqueira
- 9 Há anos
- Visualizações:
Transcrição
1 Memória virtual
2 Fundamentos 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 pode ser implementada por: Paginação sob demanda Segmentação sob demanda
3 Memória virtual maior que memória física
4 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 para os processos Resposta mais rápida Maior número de usuários Se necessita de uma página quando uma referência é feita a ela referência inválida aborta não-está-na-memória traz para memória
5 Transferência de memória paginada para espaço de disco contínuo
6 Bit válido-inválido Cada entrada da tabela de páginas possui um bit válido-inválido associado (1 está na memória, 0 não está na memória) Inicialmente bit válido inválido é colocado em 0 em todas as entradas da tabela
7 Bit válido-inválido Exemplo: Frame # valid-invalid bit page table Bit válido-inválido igual a 0 quando estiver sendo realizada uma tradução de endereços falta de página (page fault) 0 0
8 Tabela de páginas quando algumas páginas não estão na memória principal
9 Falta de página A primeira referência a uma página sempre irá gerar uma exceção ao sistema operacional indicando uma falta de página S.O consulta uma tabela interna para verificar se a referência é inválida (processo será abortado) ou se a página não está na memória Obtém um frame livre Traz a página do disco para o frame Atualiza bit válido nas entradas das tabelas
10 Tratando uma falta de página
11 O que acontece se não existir frame livre? 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
12 Desempenho de paginação sob demanda Taxa de falta de páginas 0 p 1.0 se p = 0 não ocorrem faltas de páginas se p = 1, toda referência é uma falta Tempo efetivo de acesso (EAT) EAT = (1 p) x acesso à memória + p x (overhead por falta + [escrita no disco] + leitura do disco + overhead de reinício)
13 Exemplo Tempo de acesso à memória = 1 microsegundo 50% do tempo a página na memória que vai ser substituída foi modificada e precisa ser escrita no disco Tempo de swap da página = 10 mseg = 10,000 microseg EAT = (1 p) x 1 + p (15000) = P (em mseg)
14 Criação de processos - Copy-on-write -Mapeamento de arquivos em memória
15 Copy-on-Write Copy-on-Write (COW) permite que processos pai e filho inicialmente compartilhem as mesmas páginas na memória Se um dos processos modifica a página compartilhada, é feita uma cópia da página para o processo Possibilita uma criação mais eficiente de processos porque somente as páginas modificadas são copiadas para o novo processo Páginas livres são alocadas de um pool de páginas cujo conteúdo foi apagado
16 Mapeamento de arquivos em memória Permite que as operações em arquivos sejam tratadas com rotinas de acesso à memória mapeando um bloco de disco em uma página na memória Um arquivo é inicialmente lido utilizando-se paginação sob demanda Uma porção do arquivo do tamanho de uma página é colocada em uma página física pelo sistema de arquivos Operações subseqüentes de escrita e leitura de/para arquivo são tratadas como acessos à memória
17 Mapeamento de arquivos em memória Simplifica o acesso a arquivos tratando as operações de E/S através de operações de acesso à memória ao invés das rotinas do sistema read() e write() Permite que vários processos utilizem o mesmo arquivo permitindo que as páginas de memória a ele associadas sejam compartilhadas
18 Mapeamento de arquivos em memória
19 Substituição de páginas Quando um processo precisa de frame e não existe frame livre Utiliza bit dirty para reduzir o overhead de transferência de páginas somente páginas modificadas são escritas no disco Possibilita a existência de um espaço de memória virtual maior que o espaço físico real de memória
20 Exemplo de substituição de páginas
21 Substituição básica de páginas Encontra a localização da página desejada no disco Procura um frame livre: Se existe, aloca o frame Se não existe, utiliza um algoritmo de substituição para selecionar o frame a ser liberado Lê a página desejada no frame escolhido e atualiza a tabela de frames e páginas Reinicia o processo
22 Substituição de páginas
23 Algoritmos de substituição de páginas Deseja-se a menor taxa de falta de páginas Avalia-se o algoritmo executando-o para uma seqüência particular de referências à memória e calculando o número de faltas de página que ocorrem
24 Gráfico da falta de páginas versus número de frames
25 Algoritmo FIFO para substituição de páginas
26 Algoritmo First-In-First-Out (FIFO) Referências: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 3 frames faltas de página
27 Algoritmo First-In-First-Out (FIFO) 4 frames faltas de página Substituição FIFO Anomalia de Belady mais frames mais falta de páginas
28 Anomalia de Belady para algoritmo FIFO
29 Algoritmo ótimo Substitui a página que não será utilizada pelo maior período de tempo futuro Difícil de implementar porque não sabemos quais serão as referências futuras (como algoritmo SJF para escalonamento de processos) Utilizada para comparar desempenho de outros algoritmos
30 Algoritmo ótimo
31 Algoritmo ótimo Exemplo com 4 frames 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, faltas de página 3 4 5
32 Algoritmo Least Recently Used (LRU)
33 Algoritmo Least Recently Used (LRU) Referências: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, faltas de página 4 3 Implementação com contador Cada página possui um campo para armazenar valor do contador e cada vez que ela é referenciada uma cópia do contador é colocada neste campo Quando é necessária a substituição de uma página, verificam-se os campos de cada página para escolher uma delas
34 Algoritmo LRU (Cont.) Implementação com stack mantém uma pilha de números de páginas implementada como uma lista duplamente encadeada: Página referenciada: move para o topo requer no pior caso modificação de 6 ponteiros Não realiza procura para substituição
35 Utilização de stack para LRU
36 Algoritmos LRU aproximados Bit de referência Associa-se um bit a cada página inicialmente com o valor 0 Quando uma página é referenciada, coloca-se seu bit em 1 Substitui a página que possui bit igual a 0, se existir, mas não se sabe a ordem de acesso das páginas com bit em 1 Algoritmo da segunda chance Necessita de bit de referência Caso a página a ser substituída (no sentido do relógio) tenha bit de referência=1, então: atualiza bit de referência para 0. deixa a página na memória substitui a próxima página (no sentido do relógio ), utilizando as mesmas regras
37 Algoritmo da segunda chance
38 Algoritmos que utilizam contadores Mantém um contador do número de referências que foram feitas para cada página Algoritmo LFU: substitui a página com menor valor de contador Algoritmo MFU: baseado no argumento de que a página com menor valor de contador foi provavelmente colocada mais recentemente na memória e tem grande chance de ser utilizada em um futuro próximo
39 Alocação de frames Cada processo necessita de um número mínimo de páginas definido pelo conjunto de instruções do processador Uma instrução load precisa de um frame para a instrução e um outro para a referência de memória Instruções podem necessitar de mais de um frame porque seu tamanho é maior que uma palavra e referências indiretas são realizadas à memória
40 Alocação de frames Exemplo: IBM páginas para tratar instrução: instrução possui 6 bytes, pode necessitar de 2 páginas (palavra de 3 bytes) bloco de caracteres origem pode necessitar de 2 páginas área para onde os caracteres serão movidos pode necessitar de2 páginas Dois esquemas de alocação: alocação fixa alocação com prioridade
41 Alocação fixa Alocação igual se existem 100 frames e 5 processos, aloca 20 páginas a cada um Alocação proporcional Aloca de acordo com o tamanho do processo s S s m total number of a i i size of i process p allocation for p i i frames si m S m s s a a i
42 Alocação com prioridades Esquema de alocação proporcional que utiliza prioridades ao invés do tamanho do processo Se processo P i gera uma falta de página, seleciona para substituição um dos seus frames seleciona para substituição um frame de um processo de menor prioridade
43 Alocação global versus local Substituição global cada processo seleciona uma frame para ser substituída de um conjunto que possui todas as frames; um processo pode pegar uma frame de um outro processo Substituição local cada processo seleciona uma frame de um conjunto de frames restrito a ele
Capítulo 9: Memória Virtual. Operating System Concepts 8th Edition
Capítulo 9: Memória Virtual Sobre a apresentação (About the slides) Os slides e figuras dessa apresentação foram criados por Silberschatz, Galvin e Gagne em 2009. Esse apresentação foi modificada por Cristiano
Capítulo 9: Memória Virtual. Operating System Concepts 8 th Edition
Capítulo 9: Memória Virtual Silberschatz, Galvin and Gagne 2009 Objetivos Descrever os benefícios de um sistema de memória virtual Explicar os conceitos de paginação sob demanda, algoritmo de substituição
Capítulo 9: Memória Virtual. Operating System Concepts 8th Edition
Capítulo 9: Memória Virtual Sobre a apresentação (About the slides) Os slides e figuras dessa apresentação foram criados por Silberschatz, Galvin e Gagne em 2009. Esse apresentação foi modificada por Cristiano
SISTEMAS OPERACIONAIS. 2ª. Lista de Exercícios Parte 2
SISTEMAS OPERACIONAIS INF09344 - Sistemas Operacionais / INF02780 - Sistemas Operacionais / INF02828 - Sistemas de Programação II Prof a. Roberta Lima Gomes ([email protected]) 2ª. Lista de Exercícios Parte
Sistemas Operacionais: Memória Virtual
Sistemas Operacionais: Memória Virtual Memória virtual Memória virtual: separação entre a visão lógica do usuário e a memória física Somente uma parte do programa necessita estar na memória para executar
Capítulo 9: Memória Virtual
Capítulo 9: Memória Virtual Sobre a apresentação (About( the slides) Os slides e figuras dessa apresentação foram criados por Silberschatz, Galvin e Gagne em 2005. Esse apresentação foi modificada por
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 10 Gerência de Memória Virtual Cap 10 Gerência de Memória Virtual 1 Sumário Introdução Espaço de Endereçamento Virtual
SSC0640 Sistemas Operacionais I
SSC0640 Sistemas Operacionais I 15ª Aula Gerenciamento de Memória Profa. Sarita Mazzini Bruschi [email protected] Slides adaptados de Marcos José Santana / Regina H. C. Santana / Luciana A. F. Martimiano
Memória Virtual. Adriano J. Holanda 1/3/2016
Memória Virtual Adriano J. Holanda 1/3/2016 Paginação Páginas O SO lida com páginas de memória física ao invés de bytes ou palavras. As páginas são gerenciadas pela MMU (Memory Management Unit Unidade
Sistemas Operacionais Gerenciamento de Memória. Carlos Ferraz Jorge Cavalcanti Fonsêca
Sistemas Operacionais Gerenciamento de Memória Carlos Ferraz ([email protected]) Jorge Cavalcanti Fonsêca ([email protected]) Memória Física vs. Memória do Programa Memória P Física Tamanho dos softwares
CURSO TÉCNICO EM INFORMÁTICA SISTEMAS OPERACIONAIS II MEMÓRIA VIRTUAL
CURSO TÉCNICO EM INFORMÁTICA SISTEMAS OPERACIONAIS II MEMÓRIA VIRTUAL O Processo passa a possuir um espaço de endereçamento virtual. Este espaço de endereçamento pode ser maior que a memória física. S.O.
Gerenciamento de Memória
Gerenciamento de Memória Prof. Alexandre Beletti Ferreira Gerência de Memória Sistemas Monoprogramáveis = gerenciamento simplificado Sistemas Multiprogramáveis = gerenciamento crítico (muitos usuários
Sistemas Operacionais Memória Virtual
Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Memória Virtual Prof. José Gonçalves Dias Neto [email protected] Introdução Memória virtual
Infra-Estrutura de Software
Infra-Estrutura de Software Gerência de Memória Tópicos Gerenciamento básico de memória Troca de processos na memória (swapping) Memória virtual Troca de páginas/paginação (paging) Segmentação Gerenciador
AULA Nº 11 SISTEMAS OPERACIONAIS. Técnicas de Memória Virtual
AULA Nº 11 SISTEMAS OPERACIONAIS Técnicas de Memória Virtual 1 Contextualizando Vimos Introdução ao Gerenciamento de Memória Agora Técnicas de Memória Virtual 2 O que é Memória Virtual (MV)? É uma técnica
SISTEMAS OPERACIONAIS. 3ª. Lista de Exercícios
SISTEMAS OPERACIONAIS INF09344 - Sistemas Operacionais / INF02780 - Sistemas Operacionais / INF02828 - Sistemas de Programação II Prof a. Roberta Lima Gomes ([email protected]) 3ª. Lista de Exercícios Data
Aula 15. Memória Virtual - Desempenho. 1.1 Contexto 1.2 Políticas de Reposição de Páginas 1.3 Working-Set 1.4 Trashing
Aula 5 Memória Virtual - Desempenho. Contexto. Políticas de Reposição de Páginas. Working-Set.4 Trashing E se encher a memória? Usamos a memória toda, mas acessos às página que não estão na memória comtinuam:
Capítulo 8: Memória Principal. Operating System Concepts 8 th Edition
Capítulo 8: Memória Principal Silberschatz, Galvin and Gagne 2009 Objetivos Fornecer uma descrição detalhada das várias formas de organizar a memória do computador Discutir várias técnicas de gerenciamento
Sistemas Operacionais
Motivação 2 a edição Revisão: Fev/23 Sistemas Operacionais Memória virtual Capítulo 7 Problemas da gerência de memória (modelo visto até o momento) Todo o espaço lógico mapeado no espaço físico O tamanho
Capítulo 4 Gerenciamento de Memória
Capítulo 4 Gerenciamento de Memória 4.1 Gerenciamento básico de memória 4.2 Troca de processos 4.3 Memória virtual 4.4 Algoritmos de substituição de páginas 4.5 Modelagem de algoritmos de substituição
Durante a evolução das arquiteturas de computadores e principalmente dos Sistemas Operacionais, muitas tecnologias tiveram que ser aprimoradas para
UM ESTUDO SOBRE O MECANISMO DE PAGINAÇÃO DE MEMÓRIA E OS ALGORITMOS DE SUBSTITUIÇÃO DE PÁGINAS FIFO E LRU Fernando Sales Ferreira, [email protected] William Antônio Faria Da Silva, [email protected]
Sistemas Operacionais
Introdução Memória virtual Trabalho sob a Licença Atribuição-SemDerivações-SemDerivados 3.0 Brasil Creative Commons. Para visualizar uma cópia desta licença, visite http://creativecommons.org/licenses/by-nc-nd/3.0/br/
Sistemas Operacionais. - Gerência de Memória -
Sistemas Operacionais - Gerência de Memória - Memória Virtual É uma técnica sofisticada de gerência de memória As memórias principal e secundária são combinadas, dando ao usuário a impressão de existir
Gerenciamento de memória Memória Virtual
Sistemas Operacionais Gerenciamento de memória Memória Virtual Capítulos 8 Operating Systems: Internals and Design Principles W. Stallings Requisitos Memória Virtual e Paginação referências em um processo
UFRJ IM - DCC. Sistemas Operacionais I. Unidade III Memória Primária. 29/04/2014 Prof. Valeria M. Bastos
UFRJ IM - DCC Sistemas Operacionais I Unidade III Memória Primária 29/04/204 Prof. Valeria M. Bastos ORGANIZAÇÃO DA UNIDADE Processador - Escalonamento Memória Primária Fundamentos Formas de Particionamento
Sistemas Operacionais
Sistemas Operacionais Gerência de Memória Memória virtual Edson Moreno [email protected] http://www.inf.pucrs.br/~emoreno Slides baseados nas apresentações dos prof. Tiago Ferreto e Alexandra Aguiar
Gerência da Memória. Adão de Melo Neto
Gerência da Memória Adão de Melo Neto 1 Memória Principal Antigamente Recurso escasso Desenvolvimento de um sistema operacional (SO) que não ocupassem muito espaço de memória principal (MP) Atualmente
Administração de Memória
Administração de Memória 4.1 Administração básica de memória 4.2 Swapping 4.3 Memória Virtual 4.4 Algoritmos de substituição de páginas 4.5 Modelando algoritmos de substituição de páginas 4.6 Tópicos de
Gerência de memória III
Gerência de memória III Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2016 1 / 45 Sumário 1 Memória Virtual Segmentação Paginação 2 Alocação de páginas
Segmentação com paginação Intel 386. Esquema de tradução de endereço Intel 386
Segmentação com paginação Intel 386 O processador Intel 386 usava segmentação com paginação para gerenciamento de memória com um esquema de paginação em dois níveis. Esquema de tradução de endereço Intel
Capítulo 7 Gerência de Memória
Universidade Federal de Itajubá UNIFEI Instituto de Engenharia de Sistemas e Tecnologias da Informação IESTI CCO 004 Sistemas Operacionais Prof Edmilson Marmo Moreira 51 Introdução Capítulo 7 Gerência
Memoria Virtual (parte 2) Algoritmos de substituicao (cont)
Memoria Virtual (parte 2) Algoritmos de substituicao (cont) Algoritmo Optimal Trocar as paginas que nao serao usadas por maiores periodos de tempo Exemplo com 4 quadros 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4,
Fundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 19: Memória Virtual: Introdução Diego Passos Última Aula Paginação Método de gerenciamento de memória mais usado hoje. Espaço de endereçamento de um processo é
Algoritmos de Substituição de Páginas. Igor Gustavo Hoelscher Renan Arend Rogério Corrêa Medeiros
Algoritmos de Substituição de Páginas Igor Gustavo Hoelscher Renan Arend Rogério Corrêa Medeiros 2 Introdução No momento em que ocorre uma page fault o sistema operacional precisa escolher uma página a
LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO
LABORATÓRIO DE SISTEMAS OPERACIONAIS PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO Gerência de Memória Virtual Conteúdo retirado do livro Arquitetura de Sistemas Operacionais Francis Berenger Machado
Swapping. Desvantagem:
Swapping Visa dar uma maior taxa de utilização à memória principal, melhorando seu compartilhamento Visa também resolver o problema da falta da memória principal (MP) em um sistema Funcionamento Programa
Organização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Slide 1 Memória Virtual os primeiros computadores (início dos anos 60) tinham memória principal muito reduzida O PDP-1 funcionava com uma memória de 4096 palavras
Sistemas de Informação. Sistemas Operacionais
Sistemas de Informação Sistemas Operacionais GERÊNCIA DE MEMÓRIA VIRTUAL SUMÁRIO 6 GERÊNCIA DE MEMÓRIA VIRTUAL: 61 Introdução; 62 Espaço de Endereçamento Virtual; 63 Mapeamento; 64 Memória Virtual por
SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar
- Módulo 3 - MEMÓRIA VIRTUAL A maioria dos computadores possui uma grande quantidade de memória disponível para uso da CPU. Infelizmente, nem sempre essa quantidade de memória é suficiente para rodar de
UFRJ IM - DCC. Sistemas Operacionais I. Unidade III Memória Virtual. 26/05/2014 Prof. Valeria M. Bastos
UFRJ IM - DCC Sistemas Operacionais I Unidade III Memória Virtual 26/05/2014 Prof. Valeria M. Bastos 1 Processador Memória Primária Memória Virtual Fundamentos Organização Lógica Gerenciamento de Recursos
Gerência de Memória Algoritmos de Substituição de Páginas
Gerência de Memória Algoritmos de Substituição de Páginas Carlos Gustavo A. da Rocha Memória Virtual Processo A 60-64kb 56-60kb 52-56kb 48-52kb 44-48kb 40-44kb 36-40kb 32-36kb - A executa: ADD REG, 37000
Gerenciamento de Memória
Gerenciamento de Memória Conceitos básicos Swapping Alocação contígua Paginação Segmentação Segmentação com paginação Atribuição de endereços (ligação) de código e dados na memória A atribuição de endereços
Gestão de Memória algoritmos e políticas
Gestão de Memória algoritmos e políticas Criação de espaços de endereçamento virtual com gestão eficiente (gasto mínimo) da memória física disponível O que carregar(colocar em memória física) e quando?
UFRJ IM - DCC. Sistemas Operacionais I. Unidade III Memória Virtual. Prof. Antonio Carlos Gay Thomé Prof. Aux. Simone Markenson Pech 1
18/9/009 UFRJ IM - DCC Sistemas Operacionais I Unidade III Memória Virtual 18/9/009 Prof. Antonio Carlos Gay Thomé Prof. Aux. Simone Markenson Pech 1 ORGANIZAÇÃO DA UNIDADE Processador Memória Primária
Organização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Memória Cache Slide 1 Introdução Tamanho Função de Mapeamento Política de Escrita Tamanho da Linha Número de Memórias Cache Cache em Níveis Slide 2 Introdução
Memória cache (cont.) Sistemas de Computação
Memória cache (cont.) Sistemas de Computação Memórias cache CPU procura por dados em L, depois em L2 e finalmente na memória principal CPU registradores barramento de cache L cache ALU barramento de sistema
Sistemas Opera r cionais Gerência de Memória
Sistemas Operacionais Gerência de Memória Gerência de Memória Idealmente, o que todo programador deseja é dispor de uma memória que seja grande rápida não volátil Hierarquia de memórias pequena quantidade
William Stallings Arquitetura e Organização de Computadores 8 a Edição
William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 8 Suporte do sistema operacional slide 1 Objetivos e funções Conveniência: Tornar o computador mais fácil de usar. Eficiência:
Sistemas Operacionais. - Gerência de Memória -
Sistemas Operacionais - Gerência de Memória - Gerenciamento de Memória A organização e a gerência de memória são fatores importantes no projeto de sistemas operacionais Um dos objetivos é desenvolver um
Capítulo 11 Sistemas de Arquivos
Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Capítulo Sistemas de s Introdução O armazenamento e a recuperação de informações
Gerência de Memória. Endereçamento Virtual (1) Paginação. Endereçamento Virtual (2) Endereçamento Virtual (3)
Endereçamento Virtual (1) Gerência de Memória Paginação Espaço de endereçamento dos processos não linearmente relacionado com a física Cada vez que são usados, os endereços virtuais são convertidos pela
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ACESSO, ATRIBUTOS E OPERAÇÕES COM ARQUIVOS PROFESSOR CARLOS MUNIZ
INTRODUÇÃO À TECNOLOGIA DA OPERAÇÕES COM ARQUIVOS PROFESSOR CARLOS MUNIZ INTRODUÇÃO O Sistema de Arquivos é o modo como as informações são armazenadas nos dispositivos físicos de armazenamento, exemplo
Capítulo 5 Livro do Mário Monteiro Conceituação. Elementos de projeto de memória cache
Capítulo 5 Livro do Mário Monteiro Conceituação Princípio da localidade Funcionamento da memória cache Elementos de projeto de memória cache Mapeamento de dados MP/cache Algoritmos de substituição de dados
Modelação de algoritmos de substituição de páginas Anomalia Belady
Gestão de Memória 1. Conceitos Básicos 2. Swapping 3. Memória Virtual 4. Algoritmos de substituição de páginas 5. Modelação de algoritmos de substituição de páginas 6. Questões no desenho de sistemas de
