SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Tamanho: px
Começar a partir da página:

Download "SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar"

Transcrição

1 - 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 uma só vez todos os programas requisitados. A solução no início era dividir o programa em pedaços chamados overlays. Um overlay operava por vez. Tais sistemas eram extremamente complexos, mas permitiam vários overlays na memória que eram comutados entre o disco e a memória. Embora esse trabalho de comutação fosse realizado pelo sistema, o trabalho de dividir o programa em pedaços tinha de ser realizado pelo programador. Um meio de permitir que o próprio sistema operacional faça esse trabalho do programador é denominado Memória Virtual, método inventado por Fotheringham em Com a memória virtual, o computador pode procurar por áreas da RAM que não foram usadas recentemente e copiá-las para o disco rígido. Isso liberará espaço na RAM para carregar um novo aplicativo. Figura 1 - Hierarquia de memória (Fonte: How Stuff Works) Devido a essa cópia acontecer automaticamente, não se percebe o que está acontecendo. É como se sua máquina tivesse espaço de RAM ilimitado, mesmo que só disponha de 128 megabytes instalados. Isso também traz grande benefício econômico, uma vez que esse espaço no disco rígido é muito mais barato do que os chips da memória RAM. A velocidade de leitura/escrita de um disco rígido é muito mais lenta do que a da RAM, e sua tecnologia não é ajustada para acessar pequenas quantidades de dados de cada vez. Se o sistema depende muito da memória virtual, é notada uma queda significativa no desempenho. A chave é ter RAM suficiente para lidar com tudo isso simultaneamente assim, o único momento em 1

2 que a lentidão da memória virtual é observada é quando existe uma pequena pausa na mudança de tarefas. Quando é este o caso, a memória virtual é perfeita. Mas quando não é este o caso, o sistema operacional terá que trocar constantemente informação entre a RAM e o disco rígido. Isso é chamado de thrashing (degradação), e pode deixar o computador incrivelmente lento. 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, uma página acessada provavelmente será acessada novamente. Localidade Temporal: Se um item é referenciado, ele tenderá a ser referenciado novamente. Exemplo: loops (instruções e dados). Localidade Espacial: Se um item é referenciado, itens cujos endereços são próximos a este, tenderão a ser referenciados também. Exemplo: acesso a dados de um array. Figura 2 - Principio da localidade 1. PAGINAÇÃO Muitos sistemas de memória virtual utilizam uma técnica chamada paginação. Em qualquer computador, existe um conjunto de endereços de memória que os programas podem produzir. Um programa ao utilizar uma instrução como MOVE REG, 1000 ele está copiando o conteúdo do endereço de memória 1000 para REG. Tais endereços gerados por programa são chamados endereços virtuais e formam o espaço de endereçamento virtual. Estes endereços virtuais são guardados na Unidade de Gerenciamento de Memória (Memory Management Unit - MMU), um chip ou uma coleção de chips que mapeia os endereços virtuais para os endereços físicos. 2

3 Figura 3 - Paginação O espaço de endereço virtual é dividido em unidades chamadas páginas. As unidades correspondentes na memória física são chamadas molduras de páginas. Ambas têm sempre o mesmo tamanho. Se um processo tem tamanho K, os seus endereços lógicos (endereços especificados nas suas instruções) vão desde 0 até K-1. Este é o espaço de endereçamento do processo. Cada endereço lógico é quebrado em duas partes: - número de página p - deslocamento d Figura 4 - Endereço Lógico Quando são criadas as páginas e as molduras acontece a relocação dinâmica, pois cada endereço lógico é traduzido em endereço físico em tempo de execução. 3

4 Figura 5 Esquema paginação No exemplo abaixo elas têm 4Kb, porém é comum que elas tenham tamanhos entre 512 bytes a 64 Kb. Figura 6 - Tabela de página 4

5 Com 65 Kb de endereço virtual e 32 Kb de memória física, temos 16 páginas virtuais e 8 molduras de páginas. As transferências entre memória e disco são sempre em unidades de uma página. Contudo, essa capacidade de mapear as 16 páginas virtuais para qualquer uma das 8 molduras de página não resolve o problema de que o espaço de endereço virtual é maior que a memória física, pois os espaços marcados com X na figura não são mapeados. Caso um programa tente acessar este espaço marcado com um X, gerará uma interrupção chamada falha de página (Page Fault) 1.1. Tabela de Páginas O mapeamento de endereços virtuais para endereços físicos se dá quando o endereço virtual é dividido em um número de páginas virtuais e um deslocamento. O número de página virtual é usado como um índice na tabela de páginas para localizar a entrada para essa página virtual. A partir da entrada da tabela de páginas, o número da moldura de páginas é localizado, para assim formar o endereço físico que pode ser enviado para a memória. O propósito da tabela de páginas é mapear páginas virtuais em molduras de páginas. Figura 7 - Mapeamento da tabela de páginas Duas questões devem ser observadas referentes às tabelas de páginas: - A tabela de páginas pode ser extremamente grande; - O mapeamento deve ser rápido. bits. O primeiro ponto é devido aos computadores modernos utilizarem endereços virtuais de 32 5

6 O segundo ponto é uma conseqüência do fato de que o mapeamento virtual para disco deve ser feito em cada referência de memória. A necessidade de um mapeamento de páginas rápido e grande é uma limitação significativa na maneira como os computadores são construídos. Existem vários projetos de tabela de páginas. Dentre eles destacam-se dois: O projeto mais simples consiste em ter uma única tabela de páginas em uma matriz de rápidos registradores de hardware, com uma entrada de página para cada página virtual, indexada pelo número de página virtual. Quando um processo é iniciado, o Sistema Operacional carrega os registradores com a tabela de páginas do processo. Durante sua execução as referências não precisam ser mais requeridas. Sua vantagem é que é simples e direto. Sua desvantagem é que é potencialmente caro se a tabela de páginas é grande. Outro projeto, a tabela de páginas pode estar inteiramente na memória principal. Tudo que o hardware precisa, então, é de um único registrador que aponta para o início da tabela de páginas, permitindo que o mapa de memória seja alterado em uma comutação de contexto recarregando um registrador. Tem a desvantagem de exigir que uma ou mais referências de memória leiam entradas da tabela de páginas durante a execução de cada instrução Algoritmos de Substituição de Páginas O algoritmo de substituição de páginas é uma políticas definidas para escolher qual(is) página(s) da memória dará lugar a página que foi solicitada e que precisa ser carregada. Isto é necessário quando não há espaço disponível para armazenar a nova página. Um fato que deve ser observado é se a página, enquanto foi carregada, sofreu atualizações e precisa ser atualizada no disco. Se ela não foi atualizada não há esta necessidade. As políticas de substituição devem ser empregadas em sistemas que fazem uso de memória virtual paginada no objetivo de melhorar o desempenho do sistema computacional. Os algoritmos podem ser divididos em: - Algoritmos com espaço fixo; - Algoritmos de espaço variável. A diferença está em trabalhar com um endereço fixo de memória e a capacidade de redimensionar o tamanho da memória alocada dinamicamente FIFO (FIRST-IN, FIRST-OUT) É um algoritmo de baixo custo e de fácil implementação consistindo em substituir a página que foi carregada há mais tempo na memória. Dessa forma a primeira página a entrar é a primeira página a sair. Esta utilização não considera a utilização da página, o que não é muito adequado considerando desempenho do sistema. Por esta razão apresenta uma anomalia denominada anomalia de Belady. Sua principal vantagem é a facilidade de implementação: uma lista de páginas ordenadas pela idade. 6

7 LRU (LEAST RECENTLY USED) Apresenta um bom desempenho substituindo as páginas menos recentemente usadas. Se a página está sendo intensamente referenciada pelas instruções é provável que ela seja novamente referenciada pelas instruções seguintes. De modo oposto, aquelas que não são acessadas é provável que continuem não sendo acessadas. Apesar de apresentar um bom desempenho, apresenta algumas deficiências quando o padrão de acesso não é seqüencial (lista, árvores, loops). Dessa forma existem algumas variações como, por exemplo, o LRU-K. Sua implementação pode ser realiza através de lista, mantendo as páginas mais referenciadas no início. No entanto o curso de manutenção é alto devido as constantes atualizações na lista para manter as mais acessadas no topo da lista MRU (MOST RECENTLY USED) Faz a substituição da última página acessada. Com isso é possível explorar com mais eficiência o princípio da localidade temporal apresentada pelos acessos NRU (NOT RECENTLY USED) Procura por páginas que não foram referenciadas nos últimos acessos. Esta informação é obtida através de um bit de modificação. A substituição segue uma precedência: - Páginas não referenciadas e não alteradas; - páginas não referenciadas; - Páginas não modificadas; e - Páginas referenciadas e modificadas MFU (LEAST FREQUENTLY USED) Escolhe a página que foi menos acessada. Para isto é mantido um contador de acessos associados a cada página para que a verificação possa ser realizada. Esta informação é zerada a cada vez que a página deixa a memória MFU (MOST FREQUENTLY USED) Substitui a página que tem sido mais referenciada, o oposto do LFU. O controle também é realizado através de contador de acesso. Seu maior problema é ignorar o princípio da localidade temporal WS (WORKING SET ESPAÇO DE TRABALHO) 7

8 Possui a mesma política do LRU. No entanto não realiza apenas a substituição de página, mas também estabelece um tempo máximo que cada página pode permanecer ativa na memória. Dessa forma o número de páginas ativas é variável. O WS assegura que as páginas pertencentes ao working set processo permaneceram ativas na memória. Dentro de uma política de busca de páginas o WS é um conjunto de páginas que um processo está atualmente usando. Verifica-se que, para intervalos de tempos razoáveis, o espaço de trabalho de um processo mantém-se constante e menor que o seu espaço de endereçamento. Se todo WS está presente na memória, o processo será executado em poucas Page Fault 1 até passar para a próxima fase do programa, quando o WS será atualizado Tamanho da Página Páginas pequenas: na média, metade da página final de qualquer segmento é desperdiçada (fragmentação interna); um programa que consiste em processos pequenos pode executar utilizando menos memória quando o tamanho da página é pequeno. Páginas grandes: quanto menor o tamanho da página, maior o tamanho da tabela de páginas; quando uma página precisa ser carregada na memória, temos um acesso ao disco, com os correspondentes tempos de busca e espera de setor, além do de transferência. Se for transferida uma quantidade maior de bytes a cada acesso, diminuir-se-á a influência dos dois primeiros fatores do tempo, aumentando a eficiência. Se o processador central precisa alterar registradores internos referente à tabela de páginas a cada chaveamento de processo, então páginas maiores necessitarão menos registradores, o que significa menor tempo de chaveamento de processos. Resumindo: A página pequena: - Evita fragmentação interna; - Evita que partes não usada do programa ocupe a memória desnecessariamente; - Implicam tabelas de páginas grandes; - Tempo de transferência do disco para a memória é maior quando páginas pequenas são utilizadas. A página grande: Vice-versa 1 Página Inválida 8

9 1.4. Paginação sob demanda As páginas dos processos são transferidas da memória secundária para a principal apenas quando são referenciadas. A paginação sob demanda é baseada na paginação simples: - a memória lógica é dividida em páginas que podem ser colocadas em qualquer quadro da memória física. - a tabela de paginação é usada para conversão de endereços lógicos em físicos. Na paginação por demanda apenas as páginas que o processo acessa são carregadas para a memória física. O bit de válido/inválido indica se a página já está presente na memória ou se ainda está no disco. Figura 8 Bit válido/inválido Na conversão de endereço lógico a MMU testa o bit de válido/inválido e se o bit for válido o endereço é convertido e o acesso é executado normalmente. Caso contrário a MMU gera uma interrupção de proteção e aciona o Sistema Operacional. O Sistema Operacional então verifica se o acesso é a uma página inválida (o processo deve ser abortado) ou a uma página que está no disco. Se o acesso é a uma página que está no disco (falta de página ou page fault), o Sistema Operacional: - coloca o processo numa fila de processos esperando por página - localiza um quadro livre - localiza a página no disco - agenda uma operação de leitura da página no disco Enquanto um processo espera por uma página, a UCP é passada para outro processo. Quando a leitura da página for concluída, o Sistema Operacional: 9

10 - atualiza a tabela de páginas do processo - recoloca o processo na fila de prontos Quando o processo reassumir a UCP, ele deverá reiniciar a execução que gerou a falta de página. Na paginação por demanda pura, uma página só é carregada para a memória quando é referenciada. A parte do Sistema Operacional que carrega as páginas do disco para a memória é chamada de Pager. Figura 9 - Esquema da paginação por demanda 2. SEGMENTAÇÃO Na segmentação o espaço de endereçamento da memória virtual deixa de ser um só e passa a ser vários, chamados segmentos. Na memória virtual da paginação tínhamos uma grande memória virtual linear e do mesmo tamanho. Na segmentação, temos vários segmentos de tamanhos diferentes e não lineares; Pelo fato de segmentos diferentes serem completamente independentes eles podem crescer ou diminuir o que for necessário. O acesso a um segmento é dado através de um endereço de duas partes, a saber: - número do segmento; e - posição de memória (offset); Normalmente um segmento comporta tipos parecidos de informação (uma pilha, uma biblioteca dll, um procedimento); 10

11 Figura 10 - Segmentos onde: Cada segmento representa um espaço de endereçamento completamente independente, - Cada segmento é uma seqüência linear de endereços, de 0 ao máximo permitido - O tamanho de cada segmento pode ser qualquer um, de 0 ao máximo permitido Segmentos têm uma relação com a lógica do programa, facilitando a proteção, uma vez que segmentos constituem uma porção semanticamente definida do programa, todas as entradas serão usadas do mesmo modo: - Segmento de instruções - Segmento de dados - Segmento de pilha As páginas não têm essa conotação. De igual forma a segmentação facilita o compartilhamento, pois este ocorre no nível do segmento e qualquer informação pode ser compartilhada, se definida como um segmento. Se houverem mais segmentos do que a memória física é capaz de suportar será necessário implementar a Troca de segmentos. E se um segmento não couber inteiramente na memória, será necessária a paginação de segmentos. 11

12 Figura 11 - Fragmentação Um segmento corresponde exatamente a uma parte de um programa definido significantemente. Já que os segmentos são de tamanhos diferentes, enquanto eles são carregados e descarregados da memória principal, as sobras de espaços da memória variam em tamanho. Algumas vezes, muitos espaços pequenos aparecem na memória principal, e eles podem ser tão pequenos que não são usados. Isso é chamado de fragmentação e é um sério problema em sistemas de segmentação. 3. PAGINAÇÃO X SEGMENTAÇÃO A Paginação foi inventada para fornecer um espaço de endereçamento linear maior que o espaço de endereçamento real. A Segmentação veio para facilitar compartilhamento e proteção. A lógica do programa é mapeada para blocos de informação independentes na memória. Alguns sistemas combinam paginação e segmentação. As partes lógicas do programa e coleções de dados correspondem aos segmentos, e cada segmento é dividido em páginas de tamanho fixo por conveniência na localização das partes na memória principal. 12

13 4. SEGMENTAÇÃO COM PAGINAÇÃO Se os segmentos são grandes, não é possível mantê-los na memória em sua totalidade. Assim, a idéia de paginar os segmentos, só é possível mantendo na memória as páginas realmente necessárias para cada segmento. Esta estratégia é usada na arquitetura Intel 386. Figura 12 - Esquema de segmentação com paginação Este modelo resolveu problemas de fragmentação externa e longos tempos de pesquisa através da paginação de segmentos. Solução difere de segmentação pura no que diz respeito às entradas da tabela que contém o endereço base de uma tabela de páginas para o segmento e não o endereço base do segmento. A segmentação com paginação recupera as vantagens dos dois métodos em relação a fragmentação. - Fragmentação Interna: presente na paginação e não na segmentação. - Fragmentação Externa: presente na segmentação e na paginação não. 5. CONSIDERAÇÕES DE PROJETO PARA SISTEMAS DE PAGINAÇÃO (Texto de Alex De Francischi Coletta) 5.1. Modelo de Conjunto Ativo (Working Set) Num sistema puro de paginação (paginação por demanda), o sistema começa sem nenhuma página na memória e elas vão sendo carregadas na medida em que forem necessárias. 13

14 Podemos melhorar essa estratégia, para isso devemos considerar a existência na grande maioria dos processos de uma localidade de referências, isto é, os processos mantêm em cada uma das fases de sua execução, referências a frações pequenas do total do número de páginas necessárias a ele. Então surge o conceito de conjunto ativo, que é o conjunto de páginas correntemente em uso de um dado processo. Se todo o conjunto ativo de um processo estiver na memória principal, ele executará sem gerar page faults. Mas se não houver espaço para todo o conjunto ativo de um processo, este gerará muitos page faults, ocasionando a diminuição do seu tempo de execução devido a necessidade de constantes trocas de páginas entre memória e disco. Temos o conceito de thrashing que ocorre quando um processo gera muitos page faults em poucas instruções. Devemos determinar qual é o working set do processo e carregá-lo na memória antes de permitir a execução do processo. Este é o chamado modelo do conjunto ativo. Pré-paginação é o ato do carregamento adiantado das páginas (antes da ocorrência do page fault para as mesmas). Considerações com relação aos tamanhos dos working set: se a soma total dos working set de todos os processos residentes em memória é maior que a quantidade de memória disponível, então ocorre thrashing. Os processos residentes na memória são aqueles que o escalonador de baixo nível utiliza para a seleção do atualmente em execução. O escalonador em alto nível é o responsável pela troca dos processos residentes em memória a certo intervalo de tempo. Então devemos escolher os processos residentes em memória de forma que a soma de seus working set não sejam maiores que a quantidade de memória disponível. Para determinar quais as páginas de um processo que fazem parte de seu working set, pode-se utilizar o algoritmo de Aging, considerando como parte do working set apenas as páginas que apresentarem ao menos um bit em 1 em seus primeiros n bits, isto é, qualquer página que não seja referenciada por n bits consecutivos é retirada do working set do processo. 6. MEMÓRIA VIRTUAL NO LINUX (SWAP) A memória virtual no Linux consiste em reservar uma parte do disco rígido para ser uma extensão da memória RAM. Dessa forma o sistema de memória é constituído pela memória RAM mais a área de troca (SWAP). Quando é necessário esvaziar parte da RAM, os processos mais envelhecidos (swapping) são transferidos para o disco (partição swap) Paginação sob Demanda Na paginação sob demanda o kernel do Linux Traz uma página para a memória somente quando ela é necessária: - Necessita de menos E/S - Ocupa menos memória - Resposta mais rápida - Permite mais usuários 14

15 Similar ao swapping, mas o sistema não traz todo o processo para a memória, apenas as paginas requeridas. Isso pode aumentar o numero de acessos a disco. Um processo pode precisar de várias páginas durante sua execução. Quando uma página não é encontrada na memória principal, uma exceção chamada de falta de página é capturada. O tratador de falta de página, no kernel realiza as seguintes tarefas: - Localizar a página no disco; - Escolher o frame para armazenar a memória física; - Atualiza a tabela de páginas; - Reinicia a execução do programa. Esse mecanismo funciona da seguinte forma: - Um processo é dividido em uma série de páginas. - Isto informa onde estão as páginas do processo. - O bit de válido/inválido indica se a página já está presente na memória ou se ainda está no disco. Figura 13 - Tabela de paginação 6.2. Comandos no Linux para Administração de Memória Virtual Um comando útil para verificação da memória virtual no Linux é o vmstat. Como seu nome sugere, são relatórios de estatísticas de memória virtual. Isso mostra o quanto de memória virtual existe, quanto é livre e atividade de paginação. É possível ainda observar Page-ins e Pageouts. Para monitorar a atividade de memória virtual em seu sistema, é melhor usar o vmstat com um atraso. Um atraso é o número de segundos entre as atualizações. Se não for fornecido um atraso, o relatório constará as médias desde a última inicialização. Dessa forma, cinco segundos é o intervalo de atraso recomendado. A sintaxe do comando é: vmstat [intervalo] [contagem] Para executar vmstat com um atraso de cinco segundos, digite: vmstat 5 15

16 Ainda é possível especificar uma contagem, que indica quantas atualizações deseja-se visualizar antes do comando ser encerrado. Para executar vmstat com dez atualizações, cinco segundos de diferença, o comando é o seguinte: vmstat 5 10 Se não for especificado nenhum parâmetro, o vmstat mostra o status da memória virtual e volta imediatamente para a linha de comando. A descrição dos campos do vmstat são as seguintes: Processos Memória r - Número de processos aguardando execução. b - Número de processos em espera não interrompíveis. w - Número de processos extraí-dos do arquivo de troca ou caso contrário em execução. swpd - A quantidade de memória virtual usada em Kb. free - Quantidade de memória livre em Kb. buff - Quantidade de memória usada como buffer em Kb. Memória Virtual si - Quantidade de memória gravada para o disco Kb/s. so - Quantidade de memória retirada do disco em Kb/s. Entrada/Saída Sistema bi - Blocos enviados para um dispositivo de bloco (medido em blocos por segundo). bo - Blocos recebidos de um dispositivo de bloco (em blocos por segundo). in - Número de interrupções por segundo, incluindo o clock. cs - Número de mudanças de contexto por segundo. Porcentagem do total de tempo da CPU us - Tempo do usuário sy - Tempo do sistema id - Tempo ocioso Pode-se também usar o comando top para mostrar memória e estatísticas swap como vimos no módulo anterior. 16

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

SISTEMAS 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 mais

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

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.

Leia mais

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

Sistemas 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 mais

Organização e Arquitetura de Computadores I

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

Leia mais

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

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

Leia mais

Universidade 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. 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 mais

Gerenciamento de memória

Gerenciamento 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 mais

Organização e Arquitetura de Computadores I

Organizaçã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 mais

SSC0640 Sistemas Operacionais I

SSC0640 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 mais

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

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

Leia mais

Memória virtual. Sistemas de Computação

Memó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 mais

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

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

Leia mais

Arquitetura de Sistemas Operacionais

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 mais

Sistemas Operacionais. Prof. MSc. André Yoshimi Kusumoto

Sistemas 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 mais

Infra-Estrutura de Software IF677

Infra-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 mais

Gerenciamento de Memória

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

Leia mais

GERENCIAMENTO DE MEMÓRIA

GERENCIAMENTO 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 mais

Fundamentos de Sistemas Operacionais

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 é

Leia mais

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

Gerê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 mais

Capítulo 6 Nível do Sistema Operacional

Capí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 mais

Sistemas de Computação. Gerenciamento de memória

Sistemas 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 mais

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

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:

Leia mais

Gerenciamento de Memória

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

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos 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 mais

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas 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 mais

Sistemas Operacionais

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/

Leia mais

SSC0640 Sistemas Operacionais I

SSC0640 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 mais

Sistemas Operacionais

Sistemas 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 mais

Gerência de memória III

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

Leia mais

Sistemas Opera r cionais Gerência de Memória

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

Leia mais

Gerência de memória II

Gerê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 mais

Memória Virtual. Ciclo 4 AT2. Prof. Hermes Senger

Memó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 mais

SSC0611 Arquitetura de Computadores

SSC0611 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 mais

Divisão da lacuna em espaços na base 2: Eficiente quanto à velocidade e Ineficiente quanto à fragmentação.

Divisã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 mais

Princípio da Localidade Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer Localidade

Princí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 mais

Gerência da Memória. Adão de Melo Neto

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

Leia mais

AULA 14 - Memória Virtual

AULA 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 mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA 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 mais

Sistemas 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 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 mais

Gerência de Memória. Aspectos de Projeto

Gerê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 mais

Sistemas Operacionais I Memória Virtual

Sistemas 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 mais

Substituição de Páginas

Substituiçã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 mais

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

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

Leia mais

Sistemas Operacionais: Memória Virtual

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

Leia mais

INE5412 Sistemas Operacionais I

INE5412 Sistemas Operacionais I INE5412 Sistemas Operacionais I L. F. Friedrich Capítulo 3 Memoria Virtual Projeto/Implementação Sistemas operacionais modernos Terceira edição ANDREW S. TANENBAUM L. F. Friedrich Capítulo 3 Gerenciamento

Leia mais

Durante a evolução das arquiteturas de computadores e principalmente dos Sistemas Operacionais, muitas tecnologias tiveram que ser aprimoradas para

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, fernandobrabat@hotmail.com William Antônio Faria Da Silva, William_8716@hotmail.com

Leia mais

Sistemas Operacionais

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/

Leia mais

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/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 mais

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

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

Leia mais

Sistemas Operacionais

Sistemas 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 mais

Segmentação de Memória

Segmentaçã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 mais

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

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

Leia mais

Memória virtual. Pedro Cruz. EEL770 Sistemas Operacionais

Memó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 mais

ESTRATÉ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 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 mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerenciamento de Memória Virtual Algoritmos de Paginação Norton Trevisan Roman Marcelo Morandini Jó Ueyama Apostila baseada nos trabalhos de Kalinka Castelo Branco, Antônio Carlos

Leia mais

Sistemas Operacionais Memória Virtual

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 profneto_ti@hotmail.com Introdução Memória virtual

Leia mais

Sistemas Operacionais

Sistemas 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 mais

Sistemas de Informação. Sistemas Operacionais

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

Leia mais

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

Gerência de Memória Memória Virtual e Paginação Memória Virtual e Paginação Carlos Gustavo A. da Rocha Memória virtual O tamanho das memórias aumenta rápido :) Mas o tamanho dos softwares aumenta mais rápido :( Devido a isto os SOs devem ser capazes

Leia mais

Gerenciamento de Memória

Gerenciamento 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 mais

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

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 (soufes@gmail.com) 2ª. Lista de Exercícios Parte

Leia mais

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

MEMÓ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 mais

Capítulo 4 Gerenciamento de Memória

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

Leia mais

Infra-Estrutura de Software

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

Leia mais

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

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

Leia mais

Swapping. Desvantagem:

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

Leia mais

Organização e Arquitetura de computadores

Organização e Arquitetura de computadores Organização e Arquitetura de computadores Revisão: hierarquia de memória Utilização do conceito da localidade para apresentar ao usuário toda a quantidade de memória disponível no sistema processador 4-8

Leia mais

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 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:

Leia mais

Infra-Estrutura de Software

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

Leia mais

Sistemas Operacionais

Sistemas 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 mais

Infra-Estrutura de Software

Infra-Estrutura de Software Infra-Estrutura de Software Gerência de Memória Tópicos Gerenciamento básico de memória Troca de processos (swapping) Memória virtual Troca de páginas/paginação (paging) Gerenciador de Memória Componente

Leia mais

Gerenciamento de Memória

Gerenciamento 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 mais

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 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 mais

Sistemas Operacionais Aula 16 Memória Virtual

Sistemas 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 mais

Organização e Arquitetura de Computadores I

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

Leia mais

Sistemas de Informação. Sistemas Operacionais

Sistemas de Informação. Sistemas Operacionais Sistemas de Informação Sistemas Operacionais GERÊNCIA DE MEMÓRIA SUMÁRIO 5. GERÊNCIA DE MEMÓRIA: 5.1 Introdução; 5.2 Funções Básicas; 5.3 Alocação Contígua Simples; 5.4 Técnica de Overlay; ; 5.6 Swapping.

Leia mais

Memória Virtual. Adriano J. Holanda 1/3/2016

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

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Gerência de Memória Andreza Leite andreza.leite@univasf.edu.br Plano da Aula 2 Introdução Necessidade gerenciador de memória Sistemas gerenciais de memória Alocação contínua n Máquina

Leia mais

Gerenciamento de memória Memória Virtual

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

Leia mais

Administração de Memória

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

Leia mais

Organização de um Sistema Operativo

Organizaçã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 mais

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III Memória Virtual. Prof. Antonio Carlos Gay Thomé Prof. Aux. Simone Markenson Pech 1

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

Leia mais

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

Gestã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 mais

Organização e Arquitetura de Computadores

Organizaçã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 mais

Gerê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) 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 mais

Hierarquia de Memória. Sistemas de Computação André Luiz da Costa Carvalho

Hierarquia de Memória. Sistemas de Computação André Luiz da Costa Carvalho Hierarquia de Memória Sistemas de Computação André Luiz da Costa Carvalho 1 Introdução l Pode ser definida como um local para armazenamento de informações, onde as duas únicas ações possíveis são a leitura

Leia mais

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

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

Leia mais

SSC0112 Organização de Computadores Digitais I

SSC0112 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 mais

Plano da aula. Substituição de Páginas. Alocação igualitária. Alocação de quadros. Lembrando: paginação sob demanda

Plano da aula. Substituição de Páginas. Alocação igualitária. Alocação de quadros. Lembrando: paginação sob demanda Lembrando: paginação sob demanda O Sis. Op. aloca as páginas na RAM à medida que os processos as pedem. O resto do tempo, elas são copiadas no disco (paging). Substituição de Páginas Marcelo Johann Uma

Leia mais

Aula 06. Slots para Memórias

Aula 06. Slots para Memórias Aula 06 Slots para Memórias Slot para as memórias 2 Slot para as memórias Os soquetes de memória são numerados: 1, 2 e 3. Instale memória primeiro no 1, depois no 2, depois no 3. Normalmente não é permitido

Leia mais

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. 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 mais

Gerê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

Gerê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 mais

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 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 mais

Gerência da Memória. Adão de Melo Neto

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

Leia mais

MEMÓRIA CACHE FELIPE G. TORRES

MEMÓRIA CACHE FELIPE G. TORRES MEMÓRIA CACHE FELIPE G. TORRES MEMÓRIA CACHE O uso da memória cache visa obter velocidade de memória próxima das memórias mais rápidas que existem e, ao mesmo tempo, disponibilizar uma memória de grande

Leia mais

Gerenciamento de Memória

Gerenciamento 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 mais

Memória Cache. Memória Cache. Localidade Espacial. Conceito de Localidade. Diferença de velocidade entre Processador/MP

Memória Cache. Memória Cache. Localidade Espacial. Conceito de Localidade. Diferença de velocidade entre Processador/MP Departamento de Ciência da Computação - UFF Memória Cache Profa. Débora Christina Muchaluat Saade debora@midiacom.uff.br Memória Cache Capítulo 5 Livro do Mário Monteiro Conceituação Princípio da localidade

Leia mais

Organização de Computadores

Organização de Computadores Organização de Computadores Aula 21 Memória Cache Rodrigo Hausen 21 de outubro de 2011 http://cuco.pro.br/ach2034 1/49 Apresentação 1. Bases Teóricas 2. Organização de computadores... 2.2. Execução de

Leia mais