Gerenciamento de Memória

Documentos relacionados
Arquitetura de Sistemas Operacionais

Sistemas Operacionais

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

Sistemas Operacionais

Gerência de memória III

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

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

Sistemas de Informação. Sistemas Operacionais

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

Organização e Arquitetura de Computadores I

Capítulo 7 Gerência de Memória

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

Sistemas Operacionais Memória Virtual

Sistemas operacionais P A G I N A Ç Ã O D E M E M Ó R I A

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

Gerenciamento de Memória

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

Memória virtual. Sistemas de Computação

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

Sistemas Operacionais I Memória Virtual

Administração de Memória

Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.


AULA 14 - Memória Virtual

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

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

Gerenciamento de Memória

Introdução. Considerações:

Sistemas Operacionais

INE5412 Sistemas Operacionais I

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

Fundamentos de Sistemas Operacionais

Gerenciamento de memória

GERÊNCIA DE MEMÓRIA. INF009 Laboratório de Sistemas Operacionais

Organização de um Sistema Operativo

Gerência de Memória Algoritmos de Substituição de Páginas

Gerência de Memória. Gerência de memória. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos. Memória: UCP. Unidade de controle

Sistemas Operacionais

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

Sistemas Operacionais Aula 16 Memória Virtual

Capítulo 6 Nível do Sistema Operacional

Gerência de Memória. Eduardo Ferreira dos Santos. Abril, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 45

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

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

LISTA DE EXERCÍCIOS 02

Gerenciamento de memória Memória Virtual

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

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

Gerenciamento de Memória

SISTEMAS OPERACIONAIS. Gerência de Memória Virtual (Alocação de Memória Não-Contígua) Apostila 08 UNIBAN

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

Organização e Arquitetura de computadores

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

GERENCIAMENTO DE PROCESSOS

Fundamentos de Sistemas Operacionais. Gerência de Memória. Prof. Edwar Saliba Júnior Março de Unidade Gerência de Memória

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

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

Exercícios de revisão V2

Arquitetura de Sistemas Operacionais. Francis Berenger Machado Luiz Paulo Maia. Capítulo 9 Gerência de Memória

Cap. 10 Gerência de Memória Virtual 1

Organização e Arquitetura de Computadores I

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

Sistemas Operacionais: Memória Virtual

Algoritmos de Gestão de Memória

ENADE 2011 SISTEMAS OPERACIONAIS

SUMÁRIO. 1.3 CONCEITOS DE SISTEMA OPERACIONAL Processos Arquivos O shell 42

PROJETO LÓGICO DE COMPUTADORES. Nível do Sistema Operacional. Prof.: Agostinho S. Riofrio

Sistemas Operacionais Aula 12: Gerência de Memória. Ezequiel R. Zorzal

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

LISTA DE EXERCICIOS 2

Algoritmos de Substituição de Páginas. Igor Gustavo Hoelscher Renan Arend Rogério Corrêa Medeiros

Algoritmos de Gestão de Memória

SISTEMAS OPERACIONAIS. Gerência de Memória Apostila 7

Matriz Discursiva do MÓDULO C FASE II 23/11 até 18/12

Sistemas Operacionais

Memória virtual. Sistemas Segmentados

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

Memoria. UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

IFPR Instituto Federal do Paraná. Curso Técnico em Informática GERÊNCIA DE MEMÓRIA. SO Sistemas Operacionais. Professora Elaine Augusto Praça

Sistemas Operacionais. Rômulo Silva de Oliveira Alexandre da Silva Carissimi Simão Sirineo Toscani

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

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

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CONTINUAÇÃO CAPÍTULO 5. Cristina Boeres

Sistemas de Informação. Sistemas Operacionais

UNIX Gerência de Memória

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

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

EA075 Memória virtual

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

SISTEMAS OPERACIONAIS. 3ª. Lista de Exercícios

A IMPORTÂNCIA DE THREADS NO DESEMPENHO DE APLICAÇÕES

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

Sistemas Operacionais

Arquitectura de Computadores

Prof. Adriano Maranhão

Gerenciamento de Memória

Memória Cache. Walter Fetter Lages.

ICET CURSO: Ciência da Computação e Sistemas de Informação (Sistemas Operacionais Abertos) Estudos Disciplinares. Campus: Data: / / Nome: Questão 1:

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

Gerenciamento de memória

Transcrição:

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 / aplicações) 2 1

Sem abstração de memória Comp. Grande Porte (antes de 1960) Microcomputdores (antes de 1970) PCs(antes de 1980) Exemplo: MOV REG,[1000] 3 Código Absoluto X Código Relativo (a) Programa A (16K) (b) Programa B (16K) (c) Os dois Programas A instrução no endereço 16384 irá saltar para a área de outro processo. O IBM 360 resolvia com uma constante de relocação. Processo lento e precisa localizar o que é endereço e o que é valor. 4 2

Abstração de Memória Espaço de Endereçamento é análogo ao conceito de Processo (criar uma memória virtual como também cria uma UCP virtual) 5 Registrador Base e Limite O hardware tratou o JMP 28 como um JMP 16412, protegendo o outro processo. CDC 6600 implementava 8088 não tinha o limite, porém múltiplos registradores Se a memória fosse grande o suficiente isso bastaria... 6 3

Gerenciamento de Memória Livre Gerenciamento com mapa de bits (b) Gerenciamento com listas encadeadas (c) 7 Memória Virtual Memória Virtual = Memória Principal (RAM) + Memória Secundária (HD) Simulação de um espaço de memória maior do que a memória real Não existe vínculo direto dos endereços dos programas aos endereços físicos Somente partes dos processos estão na RAM, permitindo um número maior de processos 8 4

Histórico 1960 = Atlas (Univ. Manchester) 1972 = System 370 (IBM) A maioria dos computadores atuais implementa memória virtual (exceto supercomputadores) 9 Espaço de Endereçamento Virtual Processo = Contexto de Hardware + Contexto de Software + Espaço de Endereçamento Espaço de Endereçamento = Endereçamento Virtual O programador que faz uso de linguagem de alto nível não tem acesso aos endereços reais Mesmo o de baixo nível, fica sujeito as restrições impostas pelo Modo Usuário 10 5

End. Real X End. Virtual Exemplo: MOV REG,[1000] Em computadores sem memória virtual o endereço virtual é idêntico ao físico Em computadores com memória virtual o endereço virtual precisa ser tratado pela MMU 11 Espaço de Endereçamento Virtual CONTINUA 12 6

Espaço de Endereçamento Virtual CONTINUA 13 Mapeamento O processador trabalha com endereços reais MMU (hardware) junto ao SO (software) traduz endereços virtuais em reais 14 7

Tabela de Mapeamento 15 Espaço Virtual X Tamanho do Bloco Se o mapeamento fosse para cada célula de memória principal, o espaço da tabela seria tão grande quanto o espaço de endereçamento virtual de cada processo. Quanto maior o bloco, menos entradas na tabela de mapeamento e, consequentemente, tabelas de mapeamento que ocupam menos espaço na memória CONTINUA 16 8

Modelos de Memória Virtual Paginação = Bloco de Tamanho Fixo Segmentação = Bloco de Tamanho Variável Segmentação com Paginação = Híbrido 17 Blocos Fixos = Páginas Paginação Espaço Virtual = Páginas Virtuais Espaço Real = Páginas Reais ou Frames Cada processo possui sua própria tabela de páginas Cada página virtual do processo possui uma Entrada na Tabela de Páginas (ETP) 18 9

Tabela de Páginas 19 Mapeamento de 4K em 4K 20 10

Endereço Virtual Endereço Virtual = Número da Página Virtual (NPV) + Deslocamento Deslocamento = Posição do Endereço Virtual Em Relação ao Início da Página Endereço Real (Físico) = Endereço do Frame + Deslocamento ETP possui também o bit de validade, que indica se uma página virtual está ou não na RAM CONTINUA 21 Tradução do Endereço Virtual 22 11

Page Fault Processo tenta acessar página que não está na RAM (bit de validade = 0) SO transfere página da memória secundária para a memória principal (PAGE IN) Taxa de Paginação = Número de Page Faults Page Fault gera uma mudança do estado do processo: Execução -> Pronto CONTINUA 23 Mecanismo de Tradução 24 12

MMU 16 páginas de 4K 25 TLB (memória associativa) Hardware presente na MMU para mapear endereços virtuais em físicos sem passar pela tabela de páginas As páginas mais acessadas são referenciadas 26 13

Políticas de Busca de Páginas Por Demanda (Demand Paging) Ex: Rotinas de tratamento de erro podem nunca ser carregadas Antecipada (Prepaging) Ex: Se o programa estiver sequencialmente no disco pode ser uma vantagem ( otimização ) 27 Políticas de Alocação de Páginas Alocação Fixa Número Máximo de Frames por Processo Pode gerar excesso de Page Faults Alocação Variável Altas taxas de paginação geram ampliação do limite máximo de Frames 28 14

Políticas de Substituição de Páginas Página foi modificada = Page Out (salvar) Página não modificada = Substitua Dirty/Modify Bit = Indica páginas modificadas Substituição Local = páginas do próprio processo Substituição Global = páginas de todos processos 29 Local (b) e Global (c) 30 15

Algoritmos de Substituição de Páginas Ótimo Aleatório FIFO (First In First Out) FIFO com Buffer FIFO Circular LFU (Last Frequently Used) LRU (Last Recently Used) NRU (Not Recently Used) 31 Swapping em Memória Virtual Insuficiência de memória principal Processos são selecionados para saírem da RAM Swap out = Retirar processo da RAM Swap in = Retorno de um processo a RAM Swap file = Arquivo/Partição de Troca Existem várias políticas de seleção de processos (Ex: estado do processo ou prioridade) CONTINUA 32 16

Swapping em Memória Virtual 33 Segmentação A memória virtual tradicionalmente vai de 0 até um endereço máximo em um espaço unidimensional Dividir em espaços de endereçamento separado pode otimizar alguns procedimentos 34 17

Memória Segmentada 35 Implementação de Segmentação Pura Checkboarding (segmentação externa) Compactação 36 18

Paginação X Segmentação 37 Segmentação Paginada Pentium Intel Possui 16K segmentos independentes Cada segmento com até um bilhão de palavras de 32 bits Faz uso de duas tabelas: LDT = Local Descriptor Table GDT = Global Descriptor Table Cada programa possui a sua LDT mas a GDT é compartilhada por todos 38 19

Segmentação Paginada Pentium Intel Carrega um seletor para aquele segmento dentro de um dos registrados: CS, DS, ES, SS, FS e GS Resumidamente, temos a memória acessada como segmentos e dentro dos segmentos podemos ter: Paginação Desabilitada ou Habilitada. 39 Paginação Desabilitada X Habilitada Desabilitada: Endereço Linear = Interpretado como endereço físico Habilitada: Endereço Linear = Endereço Virtual e mapeado sobre um endereço físico (como já vimos desde o início...) 40 20

Referências TANENBAUM,A.S., Sistemas Operacionais Modernos - 3ª edição. Peason, 2010. SILBERSCHATZ, A., GALVIN, P.B., GAGNE, G.,Fundamentos de Sistemas Operacionais. LTC, 2010. MACHADO F.B.M., MAIA L.P.,Arquitetura de Sistemas Operacionais. LTC, 2013. TANENBAUM,A.S., WOODHULL,,Sistemas Operacionais -Projeto e Implementação -3ª edição. Bookman, 2008. 41 21