Gerenciamento de Memória

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

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

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

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

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

Gerenciamento de Memória

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

Memória virtual. Pedro Cruz. EEL770 Sistemas Operacionais

Gerenciamento de Memória

Sistemas Opera r cionais Gerência de Memória

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

EA075 Memória virtual

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

Gerência de memória III

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

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

Gerência de memória II

Gerenciamento de Memória

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

GERENCIAMENTO DE PROCESSOS

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

SSC0640 Sistemas Operacionais I

Sistemas Operacionais

Arquitetura e Organização de Computadores

Arquitectura de Computadores

Arquitectura de Computadores

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

AULA 14 - Memória Virtual

Organização e Arquitetura de Computadores I

GERENCIAMENTO DE MEMÓRIA

Organização e Arquitetura de computadores

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

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III Memória Primária. 29/04/2014 Prof. Valeria M. Bastos

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

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

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

Sistemas Operacionais: Memória Virtual

Fundamentos de Sistemas Operacionais

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

Arquitectura de Computadores (ACom)

Gerenciamento de memória

Organização e Arquitetura de Computadores

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

Segmentação de Memória

Arquitetura e Organização de Computadores

Arquitetura de Sistemas Operacionais

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

2ª Lista de Exercícios de Arquitetura de Computadores

EA960 Memória virtual

Memória. Memória Cache

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

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

Sistemas Operacionais. Gerenciamento de Memória

Arquitectura de Computadores (ACom)

Capítulo 4 Gerenciamento de Memória

Sistemas Operacionais Memória Virtual

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III Memória Virtual. 26/05/2014 Prof. Valeria M. Bastos

Capítulo 11: Implementação de Sistemas de Arquivos. Operating System Concepts 8th Edition

Sistemas de Memória III

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

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

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

Memória Virtual. Prof. M.Sc. Bruno R. Silva CEFET-MG Campus VII

Gerenciamento de Memória

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

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

INTRODUÇÃO A SISTEMAS DE ARQUIVO E GERENCIA DE MEMÓRIA

Organização e Arquitetura de Computadores I

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

SISTEMAS OPERACIONAIS GERÊNCIA DE MEMÓRIA

13 de Maio de Aula 17

SOP - TADS Gerência de Memória Cap 3 Tanenmbaum

SSC0640 Sistemas Operacionais I

Implementação de Diretórios (1)

Prof. Kleber R. Rovai

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

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

SSC0112 Organização de Computadores Digitais I

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

Memória virtual. Sistemas Segmentados

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

Capítulo 6 Nível do Sistema Operacional

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Sistemas Operacionais. Prof. André Y. Kusumoto

Exercícios de revisão V2

Memória virtual. Sistemas de Computação

INE5412 Sistemas Operacionais I

Infra-Estrutura de Software

Sistemas Operativos Cap. VII Gestão Memória

Infra-Estrutura de Software

Infra-Estrutura de Software IF677

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. Prof. MSc. André Yoshimi Kusumoto

Sistemas Operacionais. Gerência de Memória. Edeyson Andrade Gomes.

Sistemas Operacionais II. Linux 2: Threads, Escalonamento, Gerenciamento de Memória e Sistemas de Arquivos

ARQUITETURA DE COMPUTADORES

Gerenciamento de Memória

Espaço de Endereçamento

Transcrição:

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 em blocos de tamanho fixo chamados de frames (tamanho é potência de, entre 5 bytes 89 bytes). Divide memória lógica em blocos de mesmo tamanho chamados de páginas. Mantém informação sobre todos frames livres Para executar um programa de tamanho de n páginas, necessário encontrar n frames e carregar o programa. Prepara uma tabela de páginas para traduzir endereços lógicos em físicos Fragmentação interna

Paginação 3 Tradução de endereços Endereço gerado pela CPU é dividido em: Numero da pagina (p) usado como índice para a tabela de páginas que contém endereço base de cada página na memória física. Deslocamento na pagina (d) combinado com o endereço base define o endereço de memória física que é enviado para a unidade de memória. 4

Arquitetura Espaço de endereço virtual Página Virtual Endereço Memória virtual Page frame 5 Arquitetura f Endereço lógico Endereço físico p d f d p f Tabela Página Memória física 6

Exemplo Número frame 0 3 4 3 7 Tabela página Memória Lógica Memória Física 7 Exemplo 8

Paginação Não há fragmentação externa Qualquer frame pode ser alocado para o processo que precisa dele. Pode haver fragmentação interna o último frame pode não estar cheio. Tamanhos típicos de páginas 4 KB e 8KB Possibilidade de endereçamento 3 bits de endereçamento virtual Tamanho de memória endereçada ^3 bits = 4 GB 9 Paginação O sistema mantém informação sobre os frames livres Estrutura da tabela de frame Indica se os frames estão ou não alocados Se estão, para que pagina de que processo Para executar um processo de n páginas, é necessário ter n frames livres Cada processo tem sua tabela de páginas A tabela é preenchida quando o processo é carregado Paginação aumenta o tempo de troca de contexto 0

Frames livres Lista de frame livre 4 3 8 0 5 Lista de frame livre 5 Novo processo Novo processo Tabela de Página do novo processo Implementação da Tabela de Páginas Cache disabilitado Modificada Residência (Presente/Ausente) Número da página frame Referenciado Proteção

Aspecto importante Paginação Distinção clara entre a visão que o usuário tem de seu programa na memória e a memória física real Usuário: imagina o programa em espaço de endereçamento contíguo No sistema: o programa está fragmentado A tradução de endereços lógicos para físicos é implementada pelo S.O 3 Implementação da Tabela de Páginas Tabela de páginas é mantida em memória principal. Registrador de base da tabela de páginas (RBTP) aponta para a tabela de páginas. Registrador de tamanho da tabela de páginas (RTTP) indica tamanho da tabela de páginas. Neste esquema todo acesso dados/instrução requer dois acessos a memória. Um para a tabela de páginas e um para dados/instrução. Este problema pode ser resolvido através do uso de hardware especial (cache de procura rápida) chamado de memória associativa (translation look-aside buffers TLBs) 4

Memória Associativa Memória Associativa procura paralela, # Página # Frame Tradução de endereço (A, A ) Se A está na memoria associativa (registrador), pega o # frame. Caso contrário, pega o # frame da tabela páginas na memória 5 Paginação c/ TLB CPU Endereço Lógico p d Número Página Número Frame TLB TLB sucesso f d Endereço Físico TLB falta p f Tabela de Página Memória Física 6

Estrutura da Tabela de Páginas Tamanho da tabela de páginas Exemplo: espaço de endereçamento lógico de 3 bits; Tamanho da página de 4KB Tabela de páginas ^3/^ = ^0 = milhão de entradas Tabela muito grande Solução: dividir a tabela de páginas em partes menores Várias técnicas Tabelas de Página Hierárquica Tabelas de Páginas invertidas Tabelas de Páginas com hashing 7 Tabela de Página Hierárquica Particiona espaço de endereço lógico em múltiplas tabelas de páginas. Solução simples: dividir a tabela de página em dois níveis: a própria tabela é paginada. Exemplo: Máquina de 3 bits com páginas de 4 KB Um endereço lógico consiste de número de páginas de 0 bits deslocamento de bits Como a tabela é paginada, o número de páginas é dividido em: Um número de página de 0 bits Um deslocamento de bits 8

Exemplo de paginação em dois níveis Um endereço lógico fica: Número da Página deslocamento P 0 P 0 d P é um índice na tabela de páginas no primeiro nível P é o índice da tabela de páginas no segundo nível 9 Exemplo de paginação em dois níveis Esquema de tradução de endereços para uma arquitetura de paginação em dois níveis. Endereço lógico p p d p p Tabela de página interna d Página da Tabela de página Memória Física 0

Esquema de tabela de páginas em dois níveis Tabela de página interna Página da Tabela de página Tabela de página Memória Exemplo Assume que temos um programa que consiste de 3 partes Texto (necessita de 4 MB = bytes) Dados (necessita de 4 MB) Pilha (necessita de 4 MB) 3 3 - Pilha Espaço de endereçamento Virtual do Programa 3 0 Dados Texto Região Vazia

0 0 P P d Endereço Virtual 3 bit Tabelas de páginas Nível superior 03 0 0 6 5 4 3 0 Tabelas de Páginas segundo nível 03 3 0 03 3 0 03 3 0 Page Frame Page Frame Page Frame 3 Example endereço virtual é 0x00403004 Em hex 00 40 30 04 Virtual address 406596 em decimal Em binario 0 bit 0 bit bit 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 P P d P = P = 3 d = 4 Primeiro, veja a entrada da tabela de página do nível superior. Na entrada (P = ), pegue o endereço da correspondente tabela de pagina do segundo nível. Na tabela de página do segundo nível, veja a entrada 3 (P = 3). Pegue o endereço do frame localizado na memória onde os dados atuais estão armazenado. Vá para a localização na memória e recupere o valor (dado). 4

Tabela de Página Invertida Assumindo Espaço de endereçamento de 64 Tamanho da página de 4KB. Tamanho da Memória física de 56 MB. Número de entradas necessárias = (56x 0 )/4x 0 = 64K 6 - EntradadaTabelade Pag Page frame 0 Entrada da Tabela de Pag Tabela de Página Invertida Pag. Virtual Modificada Referência 5 Tabela de Página Invertida Uma entrada para cada página real da memória Entrada consiste do endereço virtual da página armazenada na posição de memória, com informação sobre o processo que é dono da página. Diminuição da memória necessária para armazenar cada tabela de página, mas aumenta o tempo necessário para pesquisar a tabela quando uma referência a página ocorre. Compromisso tempo x espaço : diminuo espaço para armazenar cada tabela de páginas mas aumenta o tempo de busca na tabela quando a referencia a uma página ocorre A tabela é ordenada pelo endereço físico Há somente uma tabela de páginas E somente uma entrada para cada página da memória física 6

Tabela de Página Invertida 7 Tabela de Página com Hashing Uso comum em arquiteturas com espaço de endereçamento > 3 bits Função hash é aplicada ao número da página virtual Hash com listas encadeadas Cada elemento em cada lista contém O número da página virtual O número do frame Um apontador para o próximo O número da página virtual é submetido a uma função hash para a tabela de página. Esta tabela contém uma cadeia de elementos cuja hash aponta para a mesma posição. Os números da página virtual são comparados na cadeia em busca de igualdade. Quando encontrada, o correspondente frame físico é extraído. 8

Tabela de Página com Hash Endereço Lógico Endereço Físico Função Hash Memória Física Tabela de Hash 9 Tabela de Página com Hash 6 - Tabela Hash Pag. Virtual Page Frame. Pag. Virtual Page Frame. 0 Pag. Virtual Page Frame Pag. Virtual Page Frame.. Indexado pelo valor de hash sobre o número da página virtual 30