Introdução aos Sistemas Operacionais. Gerenciamento de Memória
|
|
- Domingos Sabrosa Alvarenga
- 5 Há anos
- Visualizações:
Transcrição
1 Introdução aos Sistemas Operacionais Gerenciamento de Memória Eleri Cardozo FEEC/Unicamp 1 Gerenciamento de Memória Gerenciamento de memória consiste de duas atividades: gerenciamento do espaço físico e proteção. O gerenciamento de espaço físico dita como a memória física é distribuída entre os processos. A proteção impede que processos acessem regiões de memória fora de seus respectivos espaços de endereçamento. 2
2 Gerenciamento do Espaço Físico Partições Fixas 3 Gerenciamento do Espaço Físico Permuta (Swapping) 4
3 Proteção As técnicas de partições e permuta empregam registradores de base e limite para fins de proteção. Quando um processo ganha a posse da CPU, o registrador de base é carregado com o endereço da primeira posição de memória que o processo ocupa e o registrador limite é carregado com o tamanho do processo. Todo o acesso à memória é confrontado com o valor destes registradores e, caso o acesso ocorra em posição inferior à base ou superior à base mais o limite, a CPU sinaliza uma exceção de proteção. 5 Memória Virtual Um problema central em gerenciamento de memória empregando o modelo de memória virtual é o mapeamento de endereços. Vimos no estudo de processos uma solução simplificada: a tabela de páginas por processo. Utilizando apenas este recurso o mapeamento é extremamente ineficiente pois requer uma consulta à esta tabela para cada conversão de endereço, além de operações aritméticas para se determinar a página e o deslocamento. 6
4 O Mapeamento de Endereços O mapeamento de endereços se dá com o apoio do hardware, empregando-se basicamente três estruturas: 1. Tabela de páginas por processo (em software). 2. Tabela de páginas (em hardware). 3. Cache de endereços (em hardware). Vamos ilustrar este mapeamento para a arquitetura Intel x86. 7 A Arquitetura Intel x86 A arquitetura Intel x86 endereça 4 Gbytes (modo normal, 32 bits) ou 64 Gbytes (modo estendido, 36 bits) de memória física. O espaço de endereçamento virtual é de 48 bits divididos em segmentos de 4 GBytes cada. Um segmento é um bloco contínuo de memória que armazena dados com propriedades comuns em termos de proteção e permissões de acesso. Segmentos tipicamente comportam as áreas de texto, dados e pilha dos processos, além de estruturas de dados utilizadas pelo sistema operacional. Por razões de portabilidade o sistema Linux não emprega segmentação. Desta forma, neste sistema, todo processo irá ocupar um único segmento de 4 GBytes, 3 dos quais disponíveis ao processo. 8
5 A Tabela de Páginas do Hardware 9 A Tabela de Páginas do Hardware Qual a vantagem de se utilizar tabelas em 2 (4 no modo estendido) níveis? Pilha Esta área oca não necessita tabela de segundo nível até o momento que seja efetivamente utilizada. Dados Texto 10
6 A Tabela de Páginas do Hardware Entradas do diretório e tabelas de páginas Bit P (presente): setado quando o mapeamento é válido. Bit R (read/write): indica se a página é de leitura apenas ou de leitura e escrita. Bit A (acessada): indica que a página foi acessada pelo processo. Bit D (dirty): indica que a página foi escrita pelo processo. Bit U (usuário/supervisor): indica se a página deve ser acessada apenas no modo supervisor ou também no modo usuário. 11 A Tabela de Páginas do Hardware Marcação de Copy-on-Write: Como marcar uma página como CoW? 1) Uso dos 3 bits de uso geral disponíveis na entrada da tabela de páginas e bit R setado para leitura apenas. Em uma violação de proteção o bits de uso geral devem ser inspecionados se marcados como CoW 2) Bits R setado e bit U setado para supervisor (marcação especial pois o supervisor tem sempre permissão de escrita). 12
7 Tabela de Páginas por Processo O sistema Linux utiliza tabela de páginas de 3 níveis: PGD: Page Global Directory PMD: Page Middle Directory PTE: Page Table Entry PGD PMD PTE Deslocamento + 13 Mapeamento de Tabelas Como o SO utiliza a tabela de páginas do hardware (exemplo do Linux) 14
8 Unidade de Gerenciamento de Memória MMU: Memory Management Unit 15 Translation Lookaside Buffer (TLB) 16
9 Translation Lookaside Buffer (TLB) Bit P: Presente/ausente Bit D (dirty): Modificação Bit R: Permissões Na arquitetura x86 todas as entradas da TLB são invalidadas quando ocorre uma troca de contexto (alteração do registrador CR3) entre processos (tal não ocorre em trocas de contexto entre threads). 17 Paginação Como o número de páginas virtuais é muito superior ao de páginas físicas, cabe ao sistema operacional manter mapeadas as páginas que efetivamente os processos estão utilizando no momento. A atividade de mapear e desmapear (invalidar o mapeamento) páginas denomina-se paginação ou paginação por demenda, enfatizando que esta atividade é realizada apenas quando necessário. A atividade de paginação é centrada no Princípio da Localidade. 18
10 O Princípio da Localidade O princípio da localidade estabelece que durante a execução de um programa as referências à memória apresentam localidade espacial e temporal. Localidade temporal estabelece que se um processo referenciar uma dada posição de memória, é provável que esta posição será referenciada novamente em um futuro próximo. A área de dados de um processo apresenta localidade temporal. Localidade espacial estabelece que se um processo referenciar uma dada posição de memória, é provável que posições próximas a esta serão referenciada em um futuro próximo. As áreas de texto e pilha de um processo apresentam localidade espacial. 19 Falhas de Paginação Um processo pode iniciar sua execução com TODAS as suas páginas desmapeadas (via chamada vfork, por exemplo). Ao acessar uma página o hardware inspeciona o bit P (presente) e, caso esteja ressetado, gera uma falha de paginação (page fault). Ao ocorrer uma falha de paginação, o sistema operacional: Bloqueia o processo. Providencia o mapeamento da página. Desbloqueia o processo. Quando o processo retoma a CPU, a instrução que gerou a falha de paginação e reiniciada. 20
11 Mapeamento de Páginas Onde se encontra o conteúdo de uma página que será mapeada? 1) Se a página pertencer à área de texto do processo, seu conteúdo é lido do próprio código executável (normalmente em disco). 2) Se a página pertencer às áreas de texto e pilha, e nunca foram mapeadas ou nunca foram modificadas, as mesmas também são lidas do código executável. 3) Se a página pertencer às áreas de texto e pilha, e foram modificadas, as mesmas são lidas da área de permuta (swap area). Resumo: páginas são lidas inicialmente do código executável e, caso tenham sido modificadas (bit D da tabela de páginas), são gravadas na área de permuta durante o desmapeamento, de onde são recuperadas nos futuros re-mapeamentos. 21 Mapeamento de Páginas Onde se encontra o conteúdo de uma página que será mapeada? 1) Se a página pertencer à área de texto do processo, seu conteúdo é lido do próprio código executável (normalmente em disco). 2) Se a página pertencer às áreas de texto e pilha, e nunca foram mapeadas ou nunca foram modificadas, as mesmas também são lidas do código executável. 3) Se a página pertencer às áreas de dados ou pilha, e foram modificadas, as mesmas são lidas da área de permuta (swap area). Resumo: páginas são lidas inicialmente do código executável e, caso tenham sido modificadas (bit D da tabela de páginas), são gravadas na área de permuta durante o desmapeamento, de onde são recuperadas nos futuros re-mapeamentos. 22
12 Localidade das Páginas Quando a localidade de um processo muda de uma página para outra, a página antiga'' é desmapeada e fica disponível para ser remapeada em outro processo quando necessário. Como o sistema operacional sabe'' que uma página se tornou antiga'' e, portanto, pode ser desmapeada com grandes chances de não ser necessária ao processo no futuro próximo? O controle da idade (localidade temporal) das páginas é feito pelo bit A (acesso). Este bit é ressetado periodicamente e setado pelo hardware quando a página é acessada. A localidade espacial é resolvida pelo tamanho da página (4 Kbytes na arquitetura x86). 23 Gerenciamento do Espaço Virtual no Linux 24
13 Gerenciamento do Espaço Físico no Linux Algoritmo Buddy 25 Gerenciamento do Espaço Físico no Linux Algoritmo Buddy 26
14 Gerenciamento do Espaço Físico no Linux 27 Algoritmos de Troca de Páginas Um bom algoritmo de troca de páginas deve levar em conta a idade da página para decidir sobre o seu desmapeamento. A razão para se utilizar a idade é que princípio da localidade funciona também de trás para frente, ou seja, quanto mais antiga (acessada a mais tempo) a página, menor a chance dela ser acessada no futuro próximo. O algoritmo LRU (Least Recently Used) ordena as páginas por idade, escolhendo sempre as mais velhas para serem desmapeadas. Entretanto, manter esta lista ordenada o tempo todo é computacionalmente custoso, razão pela qual não é utilizado na prática. Uma alternativa é desmapear as páginas que atingiram uma idade limite. Algoritmos que empregam esta simplificação são denominados algoritmos de envelhecimento (aging). 28
15 O Algoritmo do Relógio Um algoritmo passível de ser realizado na prática é o algoritmo do relógio. Neste algoritmo as páginas físicas são inspecionadas circularmente, sendo que um ponteiro'' indica a página corrente. Caso o sistema deseje liberar N páginas o algoritmo inspeciona a pagina indicada pelo ponteiro: 1) Se o bit A (acesso) for zero, desmapeie esta página. 2) Se o bit A for um, zere este bit. 3) Se N páginas foram desmapeadas, pare. Caso contrário avance o ponteiro para a próxima página e vá para o passo Troca de Páginas no Linux Nas versões mais antigas do sistema Linux a idade da página é computada da seguinte forma. Ciclicamente o sistema zera o bit de acesso da página (bit A). Durante o ciclo as páginas acessadas têm o bit A setado pelo hardware. Ao final do ciclo o sistema soma à idade da página um envelhecimento'' para páginas que não tiveram o bit A setado e um rejuvenecimento'' àquelas que tiveram o bit A setado. Esta idade está armazenada na estrutura mem_map referente à página. O envelhecimento é obtido pela subtração de uma unidade da idade da página e o rejuvenecimento pela adição de 3 unidades até um máximo de 20 (ou seja, quanto maior a idade mais nova a página). A página é desmapeada quando sua idade atingir o valor zero. 30
16 Troca de Páginas no Linux Nas versões atuais, o sistema Linux emprega apenas dois flags: página ativa e página referenciada. Adicionalmente, o sistema mantém duas listas, a lista de páginas ativas e a lista de páginas inativas. A lista de páginas ativas são aquelas que os processos estão utilizando com frequência. Ao contrário, a lista de páginas inativas são aquelas páginas que os processos deixaram de refenciar há algum tempo. 31 Troca de Páginas no Linux O posicionamento da página na lista de páginas ativas ou inativas se dá em função dos flags de página ativa e refenciada. A heurística empregada pelo Linux é a seguinte. Ciclicamente, o sistema percorre a tabela de páginas físicas. Se a página foi referenciada em um ciclo ela é considerada ativa. Caso a página seja referenciada em dois ciclos consecutivos ela é posicionada na lista de páginas ativas. Caso a página não seja referenciada durante N ciclos a mesma é considerada inativa. Caso a pagina permaneça inativa por mais N ciclos, a mesma é posicionada na lista de páginas inativas. Quando o sistema necessita desmapear páginas, são escolhidas páginas da lista de páginas inativas. 32
17 O Processo Paginador A atividade de paginação é realizada por um processo denominado paginador (swapper). Este processo, de alta prioridade, executa ciclicamente e verifica se a quantidade de páginas livres está abaixo de um limite inferior pré-estabelecido. Caso esteja, o processo paginador libera páginas até um limite superior de páginas livres ser alcançado. As páginas a serem liberadas são obtidas executando-se um algoritmo de troca de páginas (algoritmo do relógio, por exemplo) ou percorrendo uma lista de páginas inativas (marcadas para desmapeamento). 33 Desmapeamento de Páginas Sujas Páginas sujas (modificadas) devem ter seu conteúdo salvo na área de permuta. O sistema Linux mantém na tabela de páginas (PTE) informações necessárias para salvar e recuperar a página na área de permuta. Páginas são lidas/escritas da área de permuta via DMA. Durante o processo de DMA a página permanece travada (não pode ser utilizada ou remapeada). PGD PMD PTE Deslocamento Memória Física Área de Permuta DMA 34
18 Paginação e Sistemas de Tempo Real Paginação afeta o desempenho de threads e processos pois causa bloqueio sem que operações de entrada/saída tenham sido realizadas. Alguns sistemas operacionais permitem travar páginas em memória evitando que as mesmas sofram desmapeamento. No Linux isto pode ser obtido via chamadas mlock/munlock e mlockall/munlockall. Exemplo: #include <sys/mman.h> #include <vector> // trava paginas correntes e futuras em memoria if(mlockall(mcl_current MCL_FUTURE)!= 0) perror("mlockall falhou."); // aloca um vetor de floats vector<float> vec = new vector<float>(5000); // "toca" no vetor para causar faltas de paginacao for(int i=0; i < 5000; i++) vec[i] =
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 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 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
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 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 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 maisArquitetura 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 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 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 maisAdministraçã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 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 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 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 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 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 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 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 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. 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 maisSistemas 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 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 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 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 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 maisGestão de memória - Memory Management Unit (MMU)
Gestão de memória - Memory Management Unit (MMU) A distinção entre espaço de edereçamento virtual e espaço de endereçamento físico é fundamental na eficiente gestão do recurso memória física (RAM) por
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 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 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 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 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 maisCapítulo 9: Memória Virtual. Operating System Concepts 8 th Edition
Capítulo 9: Memória Virtual Silberschatz, Galvin and Gagne 2009 Objetivos Descrever os benefícios de um sistema de memória virtual Explicar os conceitos de paginação sob demanda, algoritmo de substituição
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. 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 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 maisGestão de memória - Memory Management Unit (MMU)
Gestão de memória - Memory Management Unit (MMU) A distinção entre espaço de edereçamento virtual e espaço de endereçamento físico é fundamental na eficiente gestão do recurso memória física (RAM) por
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 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 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
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 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 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 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 maisGerê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 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 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 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
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 maisMemória. Gestão do espaço lógico Paginação Segmentação com paginação
Memória Gestão do espaço lógico Paginação Segmentação com paginação Paginação Divide-se a memória física em pequenos blocos de tamanho fixo chamados de páginas físicas (ou frames) o tamanho é uma potência
Leia maisSISTEMAS OPERACIONAIS
SISTEMAS OPERACIONAIS Gerência de Memória (cont) Andreza leite andreza.leite@univasf.edu.br O Grande Problema Alocação Contínua: Fragmentação 3 Fragmentação de Memória A gestão de memória mediante partições
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 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 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 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 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 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 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 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 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 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 maisGERENCIAMENTO DE PROCESSOS
GERENCIAMENTO DE PROCESSOS Sistema Monotarefa: Executa Espera (E/S) Executa Espera (E/S) Tempo O tempo de (E/S) é muito maior que o de processamento. O processador fica ocioso a maior parte do tempo. Março
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: Reserva: onde colocar um bloco de informação?
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 maisArquitectura de Computadores (ACom)
Arquitectura de Computadores (ACom) MEAer Acetatos das Aulas Teóricas Versão 4.0 - Português Aula N o 23: Título: Sumário: Memória paginada; Tabela de páginas; Tabela de páginas hierárquica. 2014/2015
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 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 maisSistemas de Memória III
Sistemas de Memória III José Costa Introdução à Arquitetura de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2013-11-29 José Costa (DEI/IST) Sistemas de Memória III
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 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 maisINE5412 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 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 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 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 maisArquitectura de Computadores (ACom)
Arquitectura de Computadores (ACom) MEAer Acetatos das Aulas Teóricas Versão 5.0 - Português Aula N o 23: Título: Sumário: - II ; memória virtual - caches. 2015/2016 Nuno.Roma@tecnico.ulisboa.pt Arquitectura
Leia maisSISTEMAS OPERACIONAIS. 3ª. Lista de Exercícios
SISTEMAS OPERACIONAIS INF09344 - Sistemas Operacionais / INF02780 - Sistemas Operacionais / INF02828 - Sistemas de Programação II Prof a. Roberta Lima Gomes (soufes@gmail.com) 3ª. Lista de Exercícios Data
Leia maisInfra-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 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 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 maisUNIX Gerência de Memória
UNIX Gerência de Memória Introdução Unix implementado sobre muitos computadores diferen tes baseada, segmentada, paginada, segmentada/paginada A gerência de memória garante: Proteção do espaço de endereçamento
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 maisIntrodução aos Sistemas Operacionais. Subsistema de Arquivos
Introdução aos Sistemas Operacionais Subsistema de Arquivos Eleri Cardozo FEEC/Unicamp Subsistema de Arquivos O subsistema de arquivos deve prover soluções para as seguintes questões: Como a informação
Leia maisIntrodução aos Sistemas Operacionais
Introdução aos Sistemas Operacionais Eleri Cardozo FEEC/Unicamp 1 Definição de Sistema Operacional Um sistema operacional é um gerenciador de recursos de hardware ou uma máquina virtual que oferece uma
Leia maisEspaço de Endereçamento
Gestão de Memória Parte I - mecanismos Sistemas Operativos 2015 / 2016 Espaço de Endereçamento Conjunto de posições de memória que um processo pode referenciar E se referenciar outras posições de memória?
Leia maisSistemas Operacionais
Motivação 2 a edição Revisão: Fev/23 Sistemas Operacionais Memória virtual Capítulo 7 Problemas da gerência de memória (modelo visto até o momento) Todo o espaço lógico mapeado no espaço físico O tamanho
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 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 maisInfra-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 maisMemoria. UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática
Arquitectura de Computadores II Engenharia Informática (11545) Tecnologias e Sistemas de Informação (6621) Memoria Fonte: Arquitectura de Computadores, José Delgado, IST, 2004 Nuno Pombo / Paulo Fazendeiro
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 maisSistemas Operacionais II. Linux 2: Threads, Escalonamento, Gerenciamento de Memória e Sistemas de Arquivos
Sistemas Operacionais II Linux 2: Threads, Escalonamento, Gerenciamento de Memória e Sistemas de Arquivos Threads Suporte a threads no núcleo; Foi definida uma nova chamada ao sistema não presente no Unix:
Leia maisOrganizaçã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 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 maisInfra-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 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 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 maisCapítulo 6 Gerência de Memória 103
Capítulo 6 Gerência de Memória 103 out. Mais tarde, ele sofrerá um swap-in, ou seja, será copiado novamente para a memória. Seu descritor de processo volta então para a fila do processador, e sua execução
Leia maisMemória para CAD. Aleardo Manacero Jr.
Memória para CAD Aleardo Manacero Jr. Introdução Na aula de hoje examinaremos como o subsistema de memória afeta o desempenho de um sistema computacional Veremos um pouco da sua arquitetura Veremos também
Leia mais