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

Documentos relacionados
Gerenciamento de Memória

Sistemas Opera r cionais Gerência de Memória

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

GERENCIAMENTO DE MEMÓRIA


Sistemas Operacionais

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

Introdução. Considerações:

SSC0640 Sistemas Operacionais I

Infra-Estrutura de Software IF677

Sistemas Operativos: Gestão de Memória

Gerenciamento de memória

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

Fundamentos de Sistemas Operacionais

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

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

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

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

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período

Capítulo 4 Gerenciamento de Memória

Prof. Adriano Maranhão

Sistemas de Informação. Sistemas Operacionais

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

SSC0640 Sistemas Operacionais I

Organização e Arquitetura de Computadores

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

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

ARQUITETURA DE COMPUTADORES

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

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

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

Aula 10 Gerenciamento de Memória

SISTEMAS OPERACIONAIS

Gerenciamento de Memória

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

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

Gerenciamento de Memória

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

Infra-Estrutura de Software

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

Gerenciamento de memória

Gerência de Memória. Carlos Gustavo A. da Rocha. Sistemas Operacionais

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Infra-Estrutura de Software

SISTEMAS OPERACIONAIS

Infra-Estrutura de Software

Gerenciamento de Memória

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

Organização de um Sistema Operativo

Ar qu it e t u r a a de e Sist e m a s Ope r a cion a is Fa bia n o o Ut iy a m a Ca pít u lo o 9 Ge r ê n cia a de e M e m ór ia

Sistemas Operacionais

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

Prof. Kleber R. Rovai

Sistemas Operacionais

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Instituto de Ciência e Tecnologia - ICT

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

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

Gerenciamento de memória

Organização e Arquitetura de Computadores I

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

Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais. Gerência de Memória

Gerência de Recursos. Gerência de Memória

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

Organização e Arquitetura de Computadores I

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

Sistemas Operacionais. Processos e Threads

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

Gerenciamento de Memória

Sistemas Operacionais. Gerenciamento de memória

Exercícios de revisão V2

Fundamentos de Sistemas Operacionais

Gerência de Recursos. Gerência de Memória

Arquitetura e Organização de Computadores

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

Sistemas de Memória. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro

Sistemas Operacionais

Sistemas Operacionais I Memória Virtual

Sistemas Operacionais

Memória. Memória Cache

Fundamentos de Sistemas Operacionais

Gerenciamento de Memória

Capítulo 6 Nível do Sistema Operacional

Capítulo 4 Gerenciamento de Memória

( ) ( ) Auto Avaliação F ( ) M ( ) D ( ) Seqüência: Sistemas Operacionais - UCSAL Professor : Marco Antônio C. Câmara Exercícios - Dia 20/04/2011

Barramento. Prof. Leonardo Barreto Campos 1

Gerência do Sistema de Arquivos. Adão de Melo Neto

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

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

Gerência de Memória. Sistemas Operacionais Flavio Figueiredo (

Arquitetura e Organização de Computadores

Gerência do Sistema de Arquivos. Adão de Melo Neto

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

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. Thiago Leite

Memória virtual. Pedro Cruz. EEL770 Sistemas Operacionais

Sistemas Operacionais

Fundamentos de Sistemas Operacionais

Transcrição:

Sistemas Operacionais Gerenciamento de Memória Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br)

Gerenciamento 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 de memória rápida, de alto custo - cache quantidade considerável de memória principal de velocidade média, custo médio gigabytes de armazenamento em disco de velocidade e custo baixos O gerenciador de memória trata a hierarquia de memórias

Software Como rodar um programa? 2. PC aponta para o endereço de memória onde o programa foi escrito 3. Processador executa instruções do programa trazidas da memória Processo Processador Programa Memória Programa Disco 1. Dado o comando para executar um programa, é realizada uma seqüência de instruções para copiar código e dados do programa objeto do disco para a memória principal

Sem Abstração de Memória Memória disponível é a memória física Processo 2 Memória Física Processo 1 Problemas: 1- processos usando mesmo endereço de memória 2- toda memória disponível: processos de usuários podem prejudicar S.O. 3- Difícil executar múltiplos programas simultaneamente (1 por vez)

Sem Abstração de Memória

Relocação estática Não se sabe com certeza onde o programa será carregado na memória Localizações de endereços de variáveis e de código de rotinas não podem ser absolutos Incremento durante a inicialização Carregamento lento Problema: mov register1, 28

Particionamento da memória Dividir memória em partições Memória com vários programas. O que podemos alcançar com isso? Multiprogramação (troca de contexto eficiente) Permite aumentar a utilização do processador

Partições Fixas Memória dividida em partições de tamanhos fixos Tamanhos podem ser os mesmos ou não Quando programa é carregado Entra em uma fila de processos para utilizar uma partição livre O número máximo de processos concorrentes é baseado no número de partições

Partições Fixas Partições fixas de memória a) filas de entrada separadas para cada partição b) fila única de entrada

Conceito: Espaço de Endereçamento Espaços de Endereçamento Conjunto de endereços que um processo pode usar para endereçar a memória. Ex. Telefone, IPv4 (32 bits) Endereço 28 de um programa P1, seja diferente de 28 de um programa P2.

Registrador Base e Limite Uma solução para relocação: uso de valores base e limite Usados para dar a cada processo um espaço de endereçamento separado (protegido) Limite(B) Base(B) Base = início do processo Limite = tamanho do processo Limite(A) Base(A)

Registrador Base e Limite Uma solução para relocação e proteção: uso de valores base e limite Usados para dar a cada processo um espaço de endereçamento separado (protegido) Base = início do processo Limite = tamanho do processo Desvantagem: Necessidade de adição e comparação para cada instrução! Mesmo com auxílio de hardware

Troca de memória/processos Memória Física P P P P P P P P P P P P P P P P P P P P P P P P P P P P... Quantidade de RAM p/ todos os processos > memória pode comportar

Swapping Troca de memória/processos Quando colocar um processo em disco? Alocação e desalocação de processos criam buracos na memória Podem ser combinados com a compactação de memória (Não usada em virtude do tempo de processamento gasto)

Swapping Troca de memória/processos Espaço para expansão

Gerenciando Memória Livre Mapa de Bits Tamanho da unidade de locação é inversamente proporcional ao tamanho do mapa de bits Unidade grande = muita memória desperdiçada Simples Problema para encontrar sequência de bits livres (busca muito lenta)

Gerenciando Memória Livre Lista Encadeada Lista com posições de memória livre

Gerenciando Memória Livre Lista Encadeada E os buracos?

Gerenciando Memória Livre Lista Encadeada Algoritmos de busca usado: First Fit (primeiro encaixe)

Gerenciando Memória Livre Lista Encadeada Algoritmos de busca usado: Next Fit (próximo encaixe)

Gerenciando Memória Livre Lista Encadeada Algoritmos de busca usado: Best Fit (melhor encaixe) Desvantagens? Lento, buracos pequenos.

Gerenciando Memória Livre Lista Encadeada Porque esse poderia ser uma opção válida? Algoritmos de busca usado: Worst Fit (pior encaixe)

Gerenciando Memória Livre Lista Encadeada Algoritmos de busca usado: Quick Fit (encaixe mais rápido) Lista separadas para alguns tamanhos mais solicitados (4KB, 8KB, 12KB etc)

Gerenciando Memória Livre Lista Encadeada Alguns implementações guardam também lista separadas (processos vs. Livres) Vantagens vs. Desvantagens

Exercício 1) Considere um sistema cuja gerência de memória é feita através de partições variáveis. Nesse momento, existem as seguintes lacunas: 10k, 4k, 20k, 18k, 7k, 9k, 12k e 13k, nessa ordem. Quais espaços serão ocupados pelas solicitações: 5k, 10k e 6k, nessa ordem, se: First-fit for utilizado Next-fit for utilizado Best-fit for utilizado Worst-fit for utilizado

Exercício Memória livre 10k, 4k, 20k, 18k, 7k, 9k, 12k e 13k Solicitações 5k, 10k e 6k

Exercício 2 1) Considere novamente um sistema cuja gerência de memória é feita através de partições variáveis. Nesse momento, existem as seguintes lacunas: 10k, 4k, 20k, 18k, 7k, 9k, 12k e 13k, nessa ordem. Quais espaços serão ocupados pelas solicitações: 15k, 4k e 8k, nessa ordem, se: First-fit for utilizado? Next-fit for utilizado? Best-fit for utilizado? Worst-fit for utilizado?

Exercício Memória livre 10k, 4k, 20k, 18k, 7k, 9k, 12k e 13k Solicitações 15k, 4k e 8k

Exercício 1. Quais são as principais dificuldades encontradas para gerenciar uma memória sem abstração? 2. Defina espaço de endereçamento 3. Diferencie os algoritmos first fit e next fit. 4. Quais as dificuldades de se trabalhar com listas de unidades de memória livres e ocupadas separadas?

Sistemas Operacionais Gerenciamento de Memória Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br)