Sistemas Operacionais Memória Virtual
|
|
- Amália Tavares Gorjão
- 7 Há anos
- Visualizações:
Transcrição
1 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
2 Introdução Memória virtual é uma técnica que combina-se as memórias principal e secundária para dar a impressão ao usuário de existir uma memória principal muito maior do que a real existente. Não vincula o endereço feito no programa aos endereços físicos da memória principal. Os programas deixam de estar limitados ao tamanho da memória principal, pois podem estar associados à memoria secundária. Visa diminuir a fragmentação da memória principal e aumentar seu compartilhamento. Primeira implementação da memória virtual foi feita em 1960 no sistema operacional Atlas. Algumas funções da Gerência de Memória Virtual são desenvolvidas em Hardware. (Desempenho) O SO deve implementar suporte a arquitetura do processador, principalmente seu endereçamento. (X86 X64)
3 Espaço de Endereçamento Virtual Similar ao endereçamento de um vetor.
4 Espaço de Endereçamento Virtual Um programa no ambiente de memória virtual não faz referência a endereços físicos, somente a endereços virtuais. O processador manipula somente endereços da memória principal. Assim, antes da execução, os endereços virtuais necessitam ser convertidos para endereços físicos. Espaço de endereçamento Virtual: é o espaço de endereços do processo ao qual este pode endereçar. Espaço de endereçamento Real: Espaço de endereços reais que o processador pode referenciar.
5 Espaço de Endereçamento Virtual
6 Espaço de Endereçamento Virtual Como o espaço de endereçamento Virtual não tem relação com o Espaço de Endereçamento Real (memória principal), isso permite que o processo esteja fora da memória principal. Quando um programa é executado, somente parte dele fica residente em memória principal, o restante fica em memória secundária até ser chamado. O programador não é afetado pelos endereços virtuais. Os compiladores e linkers fazem o trabalho desse gerenciamento. O SO cuida dos detalhes durante a execução.
7 Espaço de Endereçamento Virtual
8 Mapeamento Nos sistemas modernos, o mapeamento de memória virtual para memória real é feito por Hardware conjuntamente com o sistema operacional. MMU (Memory Management Unit) é o dispositivo responsável por efetuar o mapeamento. Quando um endereço de memória virtual é chamado, a MMU entra em ação convertendo esse endereço virtual em endereço real. Assim o processador pode acessar a memória principal.
9 Mapeamento Cada processo possui sua própria tabela de mapeamento. Quando um processo começa a executar, sua tabela de mapeamento é carregada para fazer a conversão de endereços virtuais em reais. A troca de tabelas de mapeamento é realizada inserindo em um registrador o endereço inicial da tabela a ser acessada. As tabelas mapeiam blocos de dados cujo tamanho indica a quantidade de entradas nas tabelas de mapeamento. Quanto maior o bloco de dados, menos entradas nas tabelas, isso faz com que as tabelas ocupem menos espaço de memória.
10 Mapeamento
11 Mapeamento
12 Mapeamento (segundo a wikipedia) IA-32/x86 A arquitetura x86 possui uma MMU muito complexa com vários modos de operação devido à compatibilidade que foi mantida ao longo dos anos com a evolução do x86. Na IA-32 a CPU primeiro divide a memoria em páginas de 4 KiB, o endereço da memória é mascarado para que não seja maior do que 32 bits. O resultado desse endereço pode ser pesquisado através de uma estrutura de árvore, que é dividido da seguinte forma 10 bits para a raiz, 10 bits para as folhas e os outros 12 bits são copiados diretamente para o resultado. x86-64 A x86-64 é uma extensão de 64 bits do x86, a diferença é que quando usado páginas de 4 KiB a tabela de páginas tem quatro níveis ao invés de três. O endereço virtual é dividido em 9 bits para cada um dos quatro níveis da árvore, 12 bits copiados diretamente para o resultado e os 16 restantes ficam inutilizados. Em páginas de 2 MiB são apenas 3 níveis da tabela de páginas. Algumas CPUs mais novas da arquitetura x86 também suportam páginas de 1 GiB com dois níveis de paginação.
13 Mapeamento bloco de dados
14 Memória Virtual por Paginação Técnica onde os espaços de endereçamento de memória virtual e real são divididos em blocos de mesmo tamanho chamados páginas. Páginas no espaço virtual são chamadas páginas virtuais, já as páginas no espaço real são denominadas frames. Cada processo possui sua própria tabela de páginas. Cada página virtual possui uma entrada na tabela de página (ETP) com informações que permitem encontrar a página real correspondente. Execução: As página virtuais são transferidas da memória secundária e colocadas nos frames.
15 Memória Virtual por Paginação
16 Memória Virtual por Paginação O ETP possui um bit (valid bit) que indica se a página está ou não em memória. Sempre que houver referência a endereço virtual, verifica-se antes de tudo o bit de validade. Se a página não estiver em memória (page fault), o sistema transfere a página da memória secundária para a memória principal (page in). A quantidade de page fault em determinado intervalo de tempo, determina a taxa de paginação do processo. Essa taxa serve para identificar o overhead causado pela utilização de paginação, que é maior quando utiliza-se de E/S.
17 Memória Virtual por Paginação
18 Memória Virtual por Paginação Quando ocorre um page fault, o processo entra em estado de espera (bloqueado) até que a página seja recuperada da memória secundária. Ao terminar a busca, o processo retorna a fila de prontos e aguarda novo escalonamento. Através da paginação o podemos executar programas sem que todo seu código esteja disponível em memória principal.
19 Política de Busca de Páginas A política de busca de página determina quando uma página deve ser carregada na memória principal. Paginação por Demanda (demand paging) as páginas são transferidas da memória secundária para a principal somente quando são referenciadas. Paginação Antecipada (antecipatory paging) o sistema carrega em memória principal, além da pagina referenciada, outras páginas que podem vir a ser utilizadas, ou não. (princípio da localidade). Pode ser empregada no momento da criação do processo e/ou na ocorrência de page faults Quais as vantagens e desvantagens de cada uma?
20 Políticas de Alocação de Páginas A política de alocação de página termina quantos frames cada processo pode manter na memória principal. Política de alocação de tamanho fixo: Cada processo tem um número máximo de frames que podem ser utilizados durante a execução do processo. Esse valor máximo pode ser igual para todos os processos ou escolhido individualmente e fica dentro do contexto de software. Política de alocação de tamanho variável: A quantidade máxima de frames utilizados por cada processo pode variar em função da taxa de paginação e da ocupação de memória principal. (exigem que o sistema monitore constantemente as taxas referentes aos processos). Quais as vantagens e desvantagens de cada uma?
21 Políticas de Substituição de Páginas Quando um processo atinge seu limite de alocação de frames e ainda assim necessita alocar mais, devemos escolher qual página residente em memória real substituir pela nova página. A página a ser substituída pode conter dados ou programas executáveis. No caso de programas a página não precisa ser salva, pois já existe uma cópia em memória virtual. No caso de dados que tenham sofrido modificação, esta página deve ser atualizada na página de memória virtual para que os dados não sejam perdidos. Este processo de salva o contexto da página em memória secundária é denominado page out.
22 Políticas de Substituição de Páginas
23 Políticas de Substituição de Páginas O Sistema identifica se a página foi modificada através de um bit (dirty bit ou modify bit). A política de substituição pode ser: Local: Somente as páginas do processo que gerou o page fault são candidatas ao sofrer page out. Global: Todas as páginas residentes em memória principal são candidatas a page out. (com exceção das páginas do kernel do SO) A política de alocação fixa permite unicamente substituição local, já a alocação variável permite que seja escolhida a politica de substituição local ou global.
24 Princípio de Localidade O princípio de localidade indica que o processador tenderá a concentrar suas referências a um conjunto de páginas do processo durante um determinado período de tempo. Existem dois tipos de localidade: Localidade espacial: tendência de que após uma referencia a uma posição de memória sejam realizadas novas referencias a endereços próximos. Localidade temporal: tendência de que após a referência a uma posição de memória, esta mesma posição seja novamente referenciada em um curto intervalo de tempo.
25 Algoritmos de Substituição de Páginas O maior problema na gerência de memória virtual por paginação não é decidir quais páginas carregar para a memória principal, mas quais liberar. (Denning, 1968) Esses algoritmos têm o objetivo de selecionar os frames com menores chances de serem referenciados em um futuro próximo. Através do conceito de localidade, a maioria dos algoritmos tenta prever o comportamento futuro das aplicações em função do comportamento passado. O problema é que quanto mais sofisticado o algoritmo de substituição de páginas for, maior o overhead que ele gera.
26 Algoritmos de Substituição de Páginas Dentre os algoritmos mais conhecidos temos: Ótimo; Aleatório; FIFO; LFU; LRU; NRU; FIFO com buffer; FIFO circular;
27 Algoritmo de substituição de páginas Ótimo Ele é ótimo... mas praticamente impossível de ser implementado. O Sistema Operacional não tem como prever o comportamento futuro das aplicações. Seleciona uma página que não será mais referenciada no futuro ou aquela que levará mais tempo para ser novamente utilizada. Utilizado apenas como modelo comparativo.
28 Algoritmo para substituição de página Aleatório Utiliza o critério de aleatoriedade; Qualquer página residente em memória está apta a ser substituída, até os frames muito utilizados; Consome pouco recurso computacional; Pouco utilizado; Baixa eficiência.
29 Algoritmo para substituição de página FIFO (First In First Out) O algoritmo seleciona a página que está a mais tempo residente em memória para ser substituída; O algoritmo pode associar a cada página o seu timestamp para verificar quem é a página mais antiga; ou O algoritmo pode organizar as páginas em uma fila segundo ordem de criação; Nem sempre a página mais antiga é a menos utilizada; Páginas constantemente referenciadas, como as páginas de dados, o fator tempo da sua criação não indica quantidade de referencias; Raramente implementado sem outro mecanismo que minimize o problema de páginas constantemente referenciadas.
30 Algoritmo para substituição de página FIFO (First In First Out)
31 Algoritmo para substituição de páginas LFU (Least Frequently Used) Seleciona a página menos utilizada; O algoritmo deve manter um contador para cada página a fim de armazenar a quantidade de referências a esta; A página com menor quantidade de referências será a substituída; As páginas que estão a pouco tempo em memória podem ser escolhidas pois seus contadores estarão com valores baixos; É possível que uma página muito utilizada no passado não esteja mais sendo utilizada; Algoritmo pouco utilizado;
32 Algoritmo para substituição de páginas LRU (Least Recently Used) Escolhe a página que está a mais tempo sem ser utilizada para sofrer substituição; Justificada pelo princípio da localidade; Uma página que não foi recentemente utilizada provavelmente não será utilizada em um futuro próximo; É necessário que cada página armazene o momento do seu último acesso e que atualize este valor a cada novo acesso; ou Dispor as páginas em uma fila (lista encadeada) segundo o seu último acesso; Sua eficiência é comparável ao algoritmo ótimo, porém tem alto custo computacional.
33 Algoritmo para substituição de páginas NRU (Not Recently Used) Necessita de um bit adicional (Bit de Referência BR) presente em cada entrada da tabela de páginas. Quando a página é carregada para a memória principal o bit é alterado para 1 (via hardware); Periodicamente o sistema verifica e altera o bit para 0; A medida que a página é utilizada o bit é alterado para 1 novamente; Para substituir uma página o algoritmo localiza uma página que esteja com o bit == 0 e a substitui;
34 Algoritmo para substituição de páginas NRU (Not Recently Used) O NRU torna-se mais eficiente se o bit de modificação for utilizado em conjunto com o bit de referência. Assim as páginas podem ser classificadas em 4 categorias; O algoritmo então escolhe as páginas que não foram utilizadas recentemente e não foram modificadas; caso não existam, o algoritmo escolhe então as que não foram referenciadas recentemente, mas foram modificadas. No último caso, mesmo as páginas havendo necessidade de gravar na memória secundária a página modificada, há pouca chance desta página ser novamente referenciada.
35 Algoritmo para substituição de páginas NRU (Not Recently Used) *Bits de referência e modificação
36 Algoritmo para substituição de páginas FIFO Circular (clock) As páginas são alocadas em uma estrutura de lista circular; Existe um ponteiro que guarda a posição da página mais antiga da lista; Cada página possui também um bit BR; Para substituir uma página, o sistema verifica o bit BR da página mais antiga; Se BR==0 a página é substituída; Caso contrário BR=0 e o ponteiro é incrementado para a próxima posição; Caso BR == 1 para todas as páginas, a lista circular voltará a primeira posição, que agora já estará com BR == 0 e a página será substituída; Algoritmo implementado (com pequenas alterações) na maioria dos sistemas UNIX;
37 Algoritmo para substituição de páginas FIFO Circular (clock)
38 Tamanho da página Fator importante pra implementação de memória virtual por paginação; O tamanho da página tem impacto direto no tamanho da tabela de páginas e no tamanho que esta ocupa na memória principal; Páginas pequenas aumentam o tamanho da tabela de páginas e ocupam muito espaço na memória principal; Páginas grandes diminuem o tamanho da tabela de páginas porém facilitam a fragmentação interna. Quanto maior a página, maior a ocorrência de termos código pouco referenciado residente em memória principal, ocupando espaço desnecessariamente.
39 Translation Lookaside Buffer (TLB) O mapeamento de memória virtual para memória real implica em pelo menos dois acessos à memória: 1 tabela de páginas; 2 acesso a página; Somente uma pequena parte da tabela de páginas é necessária por vez; TLB é uma memória adicional (hardware), próxima à MMU responsável por armazenar parte da tabela de páginas evitando o acesso constante a tabela de páginas completa; TLB mantém apenas as traduções de páginas mais recentemente utilizadas (tipo uma cache); A TLB está presente fisicamente nos processadores e pode apresentar diversos níveis como uma cache.
40 Translation Lookaside Buffer (TLB)
41 Translation Lookaside Buffer (TLB) Para traduzir um endereço virtual: 1 sistema verifica na TLB; 2 caso exista a tag, retorna o endereço físico mapeado na TLB (TLB hit); 3 Caso não exista a tag, a tabela de mapeamento deve ser consultada (TLB miss); 4 Se a página estiver na memória principal, a tradução do endereço virtual é colocado na TLB; 5 caso contrário, ocorre um page fault, a página deve ser carregada em memória principal, a tabela de páginas deve ser atualizada e a informação é carregada na TLB;
42 Translation Lookaside Buffer (TLB) Quando todas as entradas da TLB ficam cheias e uma nova entrada precisa se admitida, é necessário escolher qual entrada remover; As políticas mais empregadas são a aleatória e, mais raramente a NRU; Apesar de pequena (8 a 2048 endereços), a TLB proporciona um alto índice de TLB hit, aumentando o desempenho do sistema; Geralmente a TLB contém unicamente dados sobre o processo em execução, mas também pode ser utilizada para armazenar dados de vários processos, para isso deve existir um campo IDPROCESSO.
43 Translation Lookaside Buffer (TLB)
44 Proteção básica da memória Basicamente o sistema de paginação possui implícito um sistema simples mas funcional de proteção; Cada processo tem sua própria tabela de mapeamento; A tradução é sempre feita pelo sistema; Não é possível um processo acessar áreas de memória de outro processo sem que haja compartilhamento explícito;
45 Proteção por bits do sistema Adicionalmente existem dois bits em cada página que funcionam também como mecanismo de proteção; Os bits especificam o tipo de acesso permitido;
46 Compartilhamento de Memória É Bastante simples a implementação de compartilhamento de memória entre os diversos processos; Para compartilhar código entre diversos processos, basta que as entradas das tabelas de mapeamento dos processos apontem para os mesmos frames na memória principal. O compartilhamento de dados é similar, bastando garantir o sincronismo no acesso a região compartilhada.
47 Memória Virtual por Segmentação Técnica onde o espaço de endereçamento virtual é dividido em blocos de tamanhos diferentes (segmentos). O programa é dividido logicamente em subrotinas e estruturas de dados, alocadas em segmentos na memória principal. Existe relação entre a lógica do programa e sua alocação na memória principal. Cada segmento pode representar um procedimento, função, vetor ou pilha.
48 Memória virtual por Segmentação
49 Memória virtual por Segmentação O tamanho do segmento pode ser alterado durante a execução do programa (facilita estruturas dinâmicas). Os segmentos são mapeados através de Tabelas de Mapeamento de Segmentos (TMS). O endereço são compostos pelo numero do segmento virtual (NSV) e um deslocamento. O endereço real é obtido a partir do índice retornado pela TMS + Deslocamento.
50 Memória virtual por Segmentação
51 Memória virtual por Segmentação Vantagens na implementação de estruturas dinâmicas; Se aplicações não forem desenvolvidas em módulos, grandes segmentos estarão na memória desnecessariamente. Para alocar segmentos na memória principal, o SO mantém uma tabela com áreas livres e ocupadas. Apenas os segmentos referenciados são transferidos da memória secundária para a memória principal. Assim, o sistema para selecionar uma área livre suficiente para comportar o segmento, pode utilizar a mesma política da alocação particionada dinâmica (first, best ou worst fit). Enquanto na paginação ocorre o problema de fragmentação interna, na segmentação ocorre a fragmentação externa. (não existe área grande suficiente para comportar o segmento)
52 Memória Virtual por Segmentação
53 Memória Virtual por Segmentação com Paginação Técnica de gerência de memória na qual o espaço de endereçamento é divido em segmentos e por sua vez, cada segmento dividido em páginas. Oferece tanto vantagens da segmentação quando da paginação. Um endereço virtual é formado pelo numero do segmento virtual (NSV), um número da página virtual (NPV) e um deslocamento. O NSV indica uma página virtual, que por sua vez funciona como um índice na tabela de páginas. Na visão do programador, seu programa continua sendo mapeado na memória em segmentos. O sistema trata cada segmento como um conjunto de páginas de tamanho fixo. Assim cada segmento não precisa estar contíguo na memória principal, evitando a fragmentação externa.
54 Trashing Problema encontrando tanto em sistemas que implementam paginação quanto segmentação. Trashing é a excessiva taxa de transferência de páginas/segmentos entre a memória principal e a memória secundária. Paginação: Excessivo número de page fault: Segmentação: Dimensionamento incorreto de limite máximo de páginas do processo (pequeno); Ausência do principio de localidade. Modularização extrema
55 Exercícios 1 Descreva todo o processo gerência de memória virtual por paginação que ocorre quando é solicitada uma página de memória virtual que pode ou não estar contida em memória principal. (leve em consideração a TLB e os possíveis escalonamentos que o processo pode sofrer).
56 Exercício 01 - Solução 1 O sistema possui a página de memória virtual necessária; 2 O sistema consulta a TLB; 2 caso exista a tag, retorna o endereço físico mapeado na TLB (TLB hit); 3 Caso não exista a tag, a tabela de mapeamento deve ser consultada (TLB miss); 4 Na tabela de mapeamento é verificado através do valid bit se a página está na memória principal nesse caso a tradução do endereço virtual é colocado na TLB e esta retorna o endereço físico. 5 Caso contrário, ocorre um page fault a página deve ser carregada em memória principal, O processo solicita acesso de E/S, enquanto o sistema operacional efetua a busca da informação o processo sofre preempção e é posto na fila de bloqueados até o retorno dos dados solicitados Após isso o processo volta à fila de prontos e aguarda até sofrer escalonamento para o estado de execução os dados são mapeados para a memória principal, caso haja espaço disponível; Caso contrário o algorítimo de substituição de páginas deve escolher qual página substituir, fazendo com que a antiga vá para a memória secundária e a nova página ocupe seu espaço A tabela de páginas deve ser atualizada e a informação é carregada na TLB;
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
Leia maisSistemas Operacionais
Sistemas Operacionais GERÊNCIA da MEMÓRIA VIRTUAL MACHADO/MAIA: CAPÍTULO 10 Prof. Pedro Luís Antonelli Anhanguera Educacional MEMÓRIA VIRTUAL -INTRODUÇÃO A Memória Virtual (virtual memory) é uma técnica
Leia maisSistemas Operacionais
Sistemas Operacionais Gerência de Memória Memória virtual Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Slides baseados nas apresentações dos prof. Tiago Ferreto e Alexandra Aguiar
Leia maisLABORATÓ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
Leia maisSSC0640 Sistemas Operacionais I
SSC0640 Sistemas Operacionais I 15ª Aula Gerenciamento de Memória Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Slides adaptados de Marcos José Santana / Regina H. C. Santana / Luciana A. F. Martimiano
Leia maisSistemas 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
Leia maisAULA 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
Leia maisSistemas 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
Leia maisGerê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
Leia maisSistemas Operacionais Gerenciamento de Memória. Carlos Ferraz Jorge Cavalcanti Fonsêca
Sistemas Operacionais Gerenciamento de Memória Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Memória Física vs. Memória do Programa Memória P Física Tamanho dos softwares
Leia maisGERENCIAMENTO DE MEMÓRIA
GERENCIAMENTO DE MEMÓRIA Sistemas Operacionais Gerenciamento de memória O que vem em sua cabeça quando pensa em memória? Cache RAM Velocidade Custo Memória Secundária Capacidade 2 Hierarquias de Memórias
Leia maisCURSO 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.
Leia maisSistemas operacionais P A G I N A Ç Ã O D E M E M Ó R I A
Sistemas operacionais P A G I N A Ç Ã O D E M E M Ó R I A O Espaço de Endereçamento lógico de um processo pode ser não contínuo; aloca-se memória física ao processo sempre que esta é disponível. A memória
Leia maisCapí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
Leia maisSISTEMAS OPERACIONAIS. Gerência de Memória Virtual (Alocação de Memória Não-Contígua) Apostila 08 UNIBAN
SISTEMAS OPERACIONAIS (Alocação de Memória Não-Contígua) Apostila 08 UNIBAN 3.0 - GERÊNCIA DE MEMÓRIA VIRTUAL As técnicas vistas evoluíram no sentido de maximizar o número de processos residentes na memória
Leia maisSistemas Operacionais. Prof. MSc. André Yoshimi Kusumoto
Sistemas Operacionais Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com Fundamentos Gerência de memória Memória Virtual Todo o espaço lógico mapeado no espaço físico O tamanho do programa
Leia maisUFRJ 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
Leia maisFundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 6 Gerenciamento de Memória Prof. Galvez Considerações Gerais Multiprogramação implica em manter-se vários processos em memória Memória necessita ser alocada de
Leia maisGerê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
Leia maisSistemas Operacionais. Prof. André Y. Kusumoto
Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Fundamentos Gerência de memória Memória Virtual Todo o espaço lógico mapeado no espaço físico O tamanho do programa é limitado
Leia maisGerê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
Leia maisGerenciamento 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
Leia maisSistemas Operacionais
Melhorias Sistemas Operacionais Paginação por demanda Substituição de páginas Trabalho sob a Licença Atribuição-SemDerivações-SemDerivados 30 Brasil Creative Commons Para visualizar uma cópia desta licença,
Leia maisUFRJ 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
Leia maisGerência de Memória. Paginação
Gerência de Memória Paginação Endereçamento Virtual (1) Espaço de endereçamento dos processos não linearmente relacionado com a memória física Cada vez que são usados, os endereços virtuais são convertidos
Leia maisMemória virtual. Sistemas de Computação
Memória virtual 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
Leia maisSistemas Operacionais I Memória Virtual
Sistemas Operacionais I Memória Virtual Antônio Augusto FröhlichGeovani Ricardo Wiedenhoft grw@lisha.ufsc.br http://www.lisha.ufsc.br/~grw May 6, 2008 1 Motivação Limitação do espaço físico Programas aumentam
Leia maisSwapping. 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
Leia maisSistemas de Computação. Gerenciamento de memória
Gerenciamento de memória Localização de processos Um programa fica armazenado em disco como um arquivo executável binário e tem que ser colocado na memória para começar a ser executado Os processos podem
Leia maisOrganização e Arquitetura de Computadores
Organização e Arquitetura de Computadores Gerência de Memória Alexandre Amory Edson Moreno Índice 1. Introdução e histórico de Gerência de Memória 2. Endereçamento da Memória Principal Introdução Sistema
Leia maisSISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar
- Aula 6-1. Memória Virtual Conceitos Importantes: Princípio da Localidade: Quando um programa que acessa uma porção relativamente pequena do espaço endereçável em um instante qualquer. Por este princípio,
Leia maisSubstituição de Páginas
Substituição de Páginas Pedro Cruz EEL770 Sistemas Operacionais Lembranças sobre memória Tempo virtual Segmentação de memória Realocação Estática Dinâmica Sobreposições MMU Memory Management Unit Página
Leia maisDivisão da lacuna em espaços na base 2: Eficiente quanto à velocidade e Ineficiente quanto à fragmentação.
% % & & Sistema Buddy Divisão da lacuna em espaços na base 2:! 1, 2, 4, 8,, até o limite da memória Até encontrar uma lacuna suficiente! Eficiente quanto à velocidade e Ineficiente quanto à fragmentação
Leia maisSistemas 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
Leia maisMEMÓRIA LÓGICA E FÍSICA (1)
GERÊNCIA DE MEMÓRIA memória = vetor de palavras (ou bytes), cada uma com endereço próprio a memória é usada para armazenar os diversos programas em execução, bem como os dados sobre a execução dos programas
Leia maisSegmentação de Memória
Segmentação de Memória Pedro Cruz EEL770 Sistemas Operacionais Memória volátil Algoritmos de substituição Substituição de páginas não usadas recentemente Substituição de páginas primeiro a entrar, primeiro
Leia maisGerência de memória II
Gerência de memória II Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2017 1 / 48 Sumário 1 Memória Virtual Segmentação Paginação 2 Alocação de páginas
Leia maisCapí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
Leia maisMemória virtual. Pedro Cruz. EEL770 Sistemas Operacionais
Memória virtual Pedro Cruz EEL770 Sistemas Operacionais Avisos Menos de um mês para a 1ª apresentação do trabalho Dia 22/9/2017 O que fizeram até agora? Análises Estratégias Problemas Soluções Presenças
Leia maisUFRJ 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
Leia maisInfra-Estrutura de Software IF677
Infra-Estrutura de Software IF677 Gerenciamento de Memória Tópicos Gerenciamento básico de memória Troca de processos Memória virtual Paginação Gerenciamento de Memória Idealmente, o que todo programador
Leia maisCapítulo 6 Nível do Sistema Operacional
Capítulo 6 Nível do Sistema Operacional - Sistema Operacional: Programa que, do ponto de vista do programador, adiciona uma grande quantidade de instruções e funcionalidades bem além das disponibilizadas
Leia maisSistemas 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
Leia maisSSC0611 Arquitetura de Computadores
SSC0611 Arquitetura de Computadores 5ª e 6ª Aulas Revisão de Hierarquia de Memória Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Memória Memória Todo componente capaz de armazenar bits de informação
Leia maisSistemas Operacionais
Introdução Sistemas Operacionais Paginação por demanda ção Trabalho sob a Licença Atribuição-SemDerivações-SemDerivados 3. Brasil Creative Commons. Para visualizar uma cópia desta licença, visite http://creativecommons.org/licenses/by-nc-nd/3./br/
Leia maisSistemas 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/
Leia maisAULA 14 - Memória Virtual
AULA 14 - Memória Virtual A idéia básica da memória virtual é permitir que programas muito maiores que a memória disponível possam ser executados. Para isso, em 1961 Fotheringham criou o método conhecido
Leia maisFundamentos 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 é
Leia maisSistemas 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
Leia maisEA075 Memória virtual
EA075 Memória virtual Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato 1 Motivação Problema: programas cujos tamanhos ultrapassavam
Leia maisMemó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
Leia maisMemória Virtual. Ciclo 4 AT2. Prof. Hermes Senger
Memória Virtual Ciclo 4 AT2 Prof. Hermes Senger Nota O presente material foi elaborado com base no material didático do livro Sistemas Operacionais, 3ª edição, de H.M.Deitel, P.J. Deitel, D.R. Choffnes,
Leia maisOrganização e Arquitetura de Computadores I
Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Nível do Sistema Operacional (Parte
Leia maisGerê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
Leia maisSistemas Operacionais. Gerenciamento de Memória
Sistemas Operacionais Gerenciamento de Memória Prof. Arliones Hoeller arliones.hoeller@ifsc.edu.br Abril de baseado no material do Prof. Fröhlich em http://www.lisha.ufsc.br/~guto 6 de março de Prof. Arliones
Leia maisOrganização de um Sistema Operativo
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
Leia maisSistemas Operacionais Gerência de Memória
Universidade Estadual de Mato Grosso do Sul UEMS Curso de Computação, Licenciatura Sistemas Operacionais Gerência de Memória Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com Introdução A memória
Leia maisGerenciamento de memória
Gerenciamento de memória O que faz? Controla o uso dos espaços em memória Controla os modos de endereçamento dos processos Como funciona a memória? Hierarquia de memória A falta de desempenho A velocidade
Leia maisDurante 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, fernandobrabat@hotmail.com William Antônio Faria Da Silva, William_8716@hotmail.com
Leia maisGerenciamento 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
Leia maisUniversidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.
Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização e Arquitetura Básicas
Leia maisGerenciamento de Memória
Gerenciamento de Memória Prof. Clodoaldo Ap. Moraes Lima Páginas compartilhadas Código compartilhado Paginação possibilita compartilhamento de código Uma cópia de código read-only é compartilhado entre
Leia maisSISTEMAS 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 (soufes@gmail.com) 2ª. Lista de Exercícios Parte
Leia maisGerência de Memória. Algoritmos de Substituição de Páginas. (Aula 20)
Gerência de Memória Algoritmos de Substituição de Páginas (Aula 20) Introdução Quando ocorre um Page Fault, o S.O. deve escolher que página remover para abrir espaço em memória. Se a página foi alterada
Leia maisOrganizaçã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
Leia maisGERÊNCIA DE MEMÓRIA. INF009 Laboratório de Sistemas Operacionais
GERÊNCIA DE MEMÓRIA INF9 Laboratório de Sistemas Operacionais Agenda Motivação Gerência de memória com monoprogramação Gerência de memória com multiprogramação Partições Fixas Divisão e Alocação das Partições
Leia maisProf. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Instituto de Ciência e Tecnologia - ICT
Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Instituto de Ciência e Tecnologia - ICT 1 Hierarquia de Memória Alocação particionada estática e dinâmica Gerenciamento dos
Leia maisSSC0112 Organização de Computadores Digitais I
SSC0112 Organização de Computadores Digitais I 20ª Aula Hierarquia de memória Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Princípios básicos Definição: Tamanho da cache Tamanho do bloco Função de
Leia maisSegmentaçã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
Leia maisOrganizaçã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
Leia maisINTRODUÇÃ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
Leia maisCapí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
Leia maisGerência de Memória. Aspectos de Projeto
Gerência de Memória Aspectos de rojeto olíticas de Busca de áginas de um rocesso Determina em que instante uma página deve ser trazida para memória principal O objetivo é minimizar o número de faltas de
Leia maisPrincípio da Localidade Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer Localidade
Memória Cache Princípio da Localidade Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer Localidade Temporal Um item referenciado tende a
Leia maisNotas da Aula 20 - Fundamentos de Sistemas Operacionais
Notas da Aula 20 - Fundamentos de Sistemas Operacionais 1. Algoritmos de Substituição de Páginas Quando ocorre uma falta de páginas, o SO precisa trazer da área de swap para a memória principal a página
Leia maisSSC0640 Sistemas Operacionais I
SSC0640 Sistemas Operacionais I 14ª Aula Gerenciamento de Memória Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Slides adaptados de Marcos José Santana / Regina H. C. Santana / Luciana A. F. Martimiano
Leia maisARQUITETURA DE COMPUTADORES
01001111 01110010 01100111 01100001 01101110 01101001 01111010 01100001 11100111 11100011 01101111 00100000 01100100 01100101 00100000 01000011 01101111 01101101 01110000 01110101 01110100 01100001 01100100
Leia maisGerência da Memória Memória Virtual. Adão de Melo Neto
Gerência da Memória Memória Virtual 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
Leia maisAlgoritmos 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
Leia maisWilliam 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:
Leia maisGestão de Memória. Algoritmos de Gestão de Memória
Gestão de Memória Parte II Algoritmos Algoritmos de Gestão de Memória Tipos de decisões que o sistema operativo tem de tomar em relação à memória principal: Transferência: quando transferir um bloco de
Leia maisMemória Virtual. Prof. M.Sc. Bruno R. Silva CEFET-MG Campus VII
Prof. M.Sc. Bruno R. Silva CEFET-MG Campus VII Permitir o compartilhamento seguro e eficiente da memória entre vários programas Remover os transtornos de programação de uma quatidade pequena e limitada
Leia maisCorreção de Erros. Erros de memória de semicondutores podem ser:
Correção de Erros Erros de memória de semicondutores podem ser: Erros graves que constitui um defeito físico permanente; Erros moderados, onde a(s) célula(s) não são capazes de armazenar os dados ou fazem
Leia maisSistemas Operacionais Aula 12: Gerência de Memória. Ezequiel R. Zorzal
Sistemas Operacionais Aula 12: Gerência de Memória Ezequiel R. Zorzal ezorzal@unifesp.br www.realidadeaumentada.com.br Objetivos Fornecer uma descrição de várias maneiras de organizar o hardware de memória.
Leia maisGerência de Memória. Execução de um Programa (1) Introdução. Introdução
Introdução Gerência de Memória (Aula 18) Considerações: Recurso caro e escasso; Programas só executam se estiverem na memória principal; Quanto mais processos residentes na memória principal, melhor será
Leia maisESTRATÉGIAS DE ALOCAÇÃO AULA 11 Sistemas Operacionais Gil Eduardo de Andrade
ESTRATÉGIAS DE ALOCAÇÃO AULA 11 Sistemas Operacionais Gil Eduardo de Andrade O conteúdo deste documento é baseado no livro do Prof. Dr. Carlos Alberto Maziero, disponível no link: http://dainf.ct.utfpr.edu.br/~maziero
Leia maisMemória Virtual. MAC Arquitetura de Computadores Prof. Siang Wun Song. Baseado em W. Stallings Computer Organization and Architecture
Memória Virtual MAC 344 - Arquitetura de Computadores Prof. Siang Wun Baseado em W. Stallings Computer Organization and Architecture Apoio do sistema operacional por hardware O sistema operacional é o
Leia maisGerência de Memória. Gerência de Memória Virtual. Gerência de Memória. Gerência de Memória. Gerência de Memória. Gerência de Memória 17/04/2017
POLÍTICA DE SUBSTITUIÇÃO DE PÁGINAS Virtual Prof. Dr. Antonio Carlos Sementille Memória principal é limitada: necessidade de substituição de páginas. Escolha de substituição randômica: solução insatisfatória
Leia maisGerenciamento 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
Leia maisGerê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
Leia maisGerenciamento de Memória
Gerenciamento de Memória Prof. Clodoaldo Ap. Moraes Lima 1 Segmentação Objetivo Melhorar o aspecto de localidade de referência em sistemas de memória virtual Em sistema paginado, os itens que são transferidos
Leia maisGerenciamento de Memória
Gerenciamento de Memória Prof. Clodoaldo Ap. Moraes Lima Paginação Espaço de endereço de um processo pode ser não contíguo; ao processo é alocado memória física sempre que disponível. Divide memória física
Leia maisAlgoritmos de Gestão de Memória
Gestão de Memória Parte II - algoritmos Sistemas Operativos 2015 / 2016 Algoritmos de Gestão de Memória Os algoritmos de gestão de memória são utilizados para decidir: Onde se deve colocar um bloco (segmento
Leia maisGerência de Memória Introdução Considerações: Recurso caro e escasso; Programas só executam se estiverem na memória principal; Quanto mais processos residentes na memória principal, melhor será o compartilhamento
Leia maisCapí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
Leia maisCapí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
Leia maisSistemas Operacionais Aula 16 Memória Virtual
Sistemas Operacionais Aula 16 Memória Virtual Ivan da Silva Sendin ivansendin@yahoo.com FACOM - Universidade Federal de Uberlândia Sistemas OperacionaisAula 16Memória Virtual p. 1 Memória Virtual - Definição
Leia maisENADE 2011 SISTEMAS OPERACIONAIS
ENADE 2011 SISTEMAS OPERACIONAIS SOs: conteúdos comuns Gerência de processos/processador Comunicação Concorrência e Sinc. de Processos Gerenciamento de Memória Alocação de Recursos e Deadlocks Sistemas
Leia mais