Sistemas Operativos: Gestão de Memória

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

Sistemas Operativos: Gestão de Memória

Sistemas Operacionais

Organização de um Sistema Operativo

Fundamentos de Sistemas Operacionais

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

Introdução. Considerações:

Aula 10 Gerenciamento de Memória

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


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

Programação de Sistemas

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

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

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

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

Gerenciamento de memória

Capítulo 8: Gestão de Memória

Sistemas Operativos. Multiprogramação; Multiplexação; Memória Física; Memória virtual; Trabalho/Job - Processo/Process/Task - Thread

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

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

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

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

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

Sistemas Operacionais


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

Algoritmos de Gestão de Memória

Prof. Adriano Maranhão

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO4: MEMÓRIAPRINCIPAL

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

Sistemas Operacionais Gerência de Memória

Gerenciamento de memória. Carlos Eduardo de Carvalho Dantas

Sistema de Memórias COMPUTADOR CONTROLE ENTRADA VIA DE DADOS SAÍDA PROCESSADOR MEMÓRIA S E TO R R EC RE CEI TA S T EM S E TO R C A RNE S

ENADE 2011 SISTEMAS OPERACIONAIS

Sistemas Operacionais

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

Arquitetura de Computadores. Memórias

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

Arquitectura de Computadores

Exercícios de revisão V2

Adriano J. Holanda FAFRAM. 4 e 11 de maio de 2012

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

Gerenciamento de memória

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

7 Mecanismos de gestão de memória. Prof. Ricardo Silva

Programação de Sistemas

Gerenciamento de memória Memória Virtual

Processos. Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa. Fernando Ramos, Nuno Neves, Sistemas Operativos,

Hierarquia de Memória

Capítulo 6 Nível do Sistema Operacional

Gerenciamento de Memória

DEFINIÇÃO É TODO AQUELE DISPOSITIVO CAPAZ DE ARMAZENAR INFORMAÇÃO. A

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

Sistemas Operacionais Gerência de Memória. Thiago Leite

Estados dos processos. Infra Estruturas Computacionais. A troca de contexto. Escalonamento de Processos. Escalonamento de Processos

Sistemas Operacionais Memória Virtual

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

Capítulo 7 Gerência de Memória

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

Hardware Conceitos Básicos. Introdução*à*Informática 14

Sistemas de Ficheiros

AULA 14 - Memória Virtual

Níveis de memória. Diferentes velocidades de acesso. Memória Cache. Memórias Auxiliar e Auxiliar-Backup

Organização e Arquitetura de Computadores I

Gerenciamento de Memória

Sistemas Operacionais

Aula 14. Memória Virtual. 1.1 Linha evolucionária 1.2 O que é 1.3 Implementação 1.4 Problemas. Universidade Federal de Minas Gerais

Memória. Memória Cache

Sistemas Operativos: Escalonamento de Processos

Sistemas Operacionais

Entrada e Saída e Dispositivos

Gerência de memória III

AULA 13 - Gerência de Memória

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

Capítulo 4 Gerenciamento de Memória

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA PRINCIPAL CAPÍTULO 4. Cristina Boeres

Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP. Memórias de Dados e de Programa

Arquitetura de Sistemas Operacionais

ORGANIZAÇÃO DE COMPUTADORES

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

Fundamentos de Arquivos e Armazenamento Secundário

Organização e Arquitetura de Computadores

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

Aula 1: Introdução aos Sistemas Operacionais. Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela

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

Sistemas Operativos: Implementação de Processos

Introdução à Informática. Alexandre Meslin

Prof. Eliezer Soares Flores 1 / 22

Gestão de Memória. mecanismos de gestão de memória protecção da memória algoritmos de gestão de memória. P. Ferreira/J. A. Marques - INESC/IST 01/02 1

Arquitetura de Sistemas Operativos

Administração de Memória

Unidade II. Organização de Computadores. Prof. Renato Lellis

Processos. Aula Passada. Aula Passada (2) Ciclos de CPU e de I/O (1)

LISTA DE EXERCICIOS 2

Infraestrutura de Hardware. Memória Virtual

Algoritmos Computacionais

Gerência de Memória Hermes Senger, Hélio Crestana Guardia

INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Função e Estrutura. Introdução Organização e Arquitetura. Organização e Arquitetura

Roteiro. Sistemas de Computação Hardware. Sistema Central Periféricos

Transcrição:

Sistemas Operativos: Gestão de Memória Pedro F. Souto (pfs@fe.up.pt) April 28, 2012

Sumário Conceitos e Técnicas Básicas Swapping Gestão da Memória Física

Sumário Conceitos e Técnicas Básicas Swapping Gestão da Memória Física

Gestão de Memória Processadores são concebidos para: executar instruções residentes em memória semicondutora; transferir dados de e para memória semicondutora. CPU Memoria Cont. Disco Hoje em dia usa-se vários níveis de memória semicondutora

Hierarquia de Memória Praticamente qualquer programador gostaria de dispôr de memória: em grande quantidade; rápida; não volátil. SO e os compiladores exploram a hierarquia de memória para satisfazer estes desejos : Typical access time Typical capacity 1 nsec 2 nsec 10 nsec 10 msec 100 sec Registers Cache Main memory Magnetic disk Magnetic tape <1 KB 1 MB 64-512 MB 5-50 GB 20-100 GB

Gestão de Memória em Monoprogramação Executa apenas um processo de cada vez. User program in RAM 0xFFF in ROM Device drivers in ROM User program User program in RAM 0 0 0 (a) (b) (c) b) Disposição típica em palmtops ( sistemas embebidos). c) Disposição em MS-DOS (A parte em ROM é conhecida por BIOS.)

Multiprogramação e Partições Fixas Multiple input queues Partition 4 800K 700K Partition 4 Partition 3 Single input queue Partition 3 400K Partition 2 Partition 1 (a) 200K 100K 0 Partition 2 Partition 1 (b) A memória é dividida em partições (possivelmente s). a) o SO atribui a partição de menor tamanho capaz de conter o processo; b) quando uma partição fica disponível, o SO atribui-a ao processo capaz de a usar mais à frente na fila.

Problemas Introduzidos por Multiprogramação Recolocação: a posição do código pode variar entre execuções. Duas soluções: SW O loader pode alterar os endereços absolutos de acordo com a posição onde o código é carregado. HW Usar um base register a inicializar com o endereço inicial da partição atribuída ao processo. Protecção: impedir que um processo aceda a código ou a dados de outros processos ou do SO: Usar um limit register além do base register. CPU limit base address < N Y + memory

Sumário Conceitos e Técnicas Básicas Swapping Gestão da Memória Física

Swapping: Ideia Com partições fixas um processo é carregado numa partição quando chega à cabeça da fila correspondente, e depois fica em memória até terminar A memória física pode tornar-se insuficiente para executar todos os processos. Uma solução possível é o recurso a swapping: Passar um processo para o disco (swap out) e, posteriormente Transferi-lo de novo do disco para a memória (swap in)

Swapping: Exemplo A (a) B A (b) C B (c) Time C A B (d) C B D (e) C D Com swapping o número, localização e tamanho das partições varia dinamicamente + menor fragmentação interna melhor utilização; - torna a gestão de memória mais complexa. Contudo swapping pode conduzir à fragmentação da memória: pode ser atenuada usando compactação; mas compactação consome bastante CPU (f) C A D (g)

Swapping: Tamanho das Regiões a Alocar Qual o tamanho da região de memória a alocar quando um processo é criado ou trazido para memória (swapped in)? Room for growth B Actually in use Room for growth A Actually in use B-Stack B-Data B-Program A-Stack A-Data A-Program Room for growth Room for growth (a) Se o processo crescer em demasia e não houver mais memória para alocar, pode-se passá-lo para o disco (swap-out) Se disco estiver cheio, pode-se bloquear processo... mas nesse caso o processo ocupará memória (b)

Sumário Conceitos e Técnicas Básicas Swapping Gestão da Memória Física

Algoritmos de Alocação Dinâmica de Memória O SO tem que gerir o espaço de memória físico A libertação de memória é relativamente simples: B Before X terminates (a) A X (b) A X X B (d) (c) X becomes becomes becomes becomes After X terminates A A B B A alocação é mais interessante: first fit: simples e eficiente; next fit: começa varrimeno onde parou da última vez - de facto pior do que first fit; best fit: tenta evitar fragmentação, mas... worst fit: tenta evitar fragmentos muito pequenos, mas...

Alocação Dinâmica de Memória Tipicamente decompõe-se a memória física em unidades de alocação, cujo tamanho é da ordem dos KB Normalmente usa-se uma de 2 estruturas de dados 1. bitmaps; 2. listas ligadas. A B C D E 8 16 24 (a) 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 0 0 (b) Hole P 0 5 H 5 3 P 8 6 P 14 4 H 18 2 P 20 6 P 26 3 H 29 3 X Starts at 18 Length 2 (c) Process

Bitmaps vs. Listas + Bitmaps ocupam um espaço de memória fixo que depende do tamanho da unidade de alocação blocos pequenos exigem mais memória para os bitmaps; blocos grandes podem conduzir a fragmentação interna;? Depende (ver a seguir) - Pesquisa de espaço disponível para alocação pode ser lenta

Alocação Dinâmica de Memória com Listas 1. Manter listas separadas para a memória ocupada e a memória livre + facilita alocação; + pode-se usar a própria memória livre para implementar os elementos da lista de memória livre; - penaliza a libertação da memória. 2. Manter listas de memória livre, uma para cada um dos tamanhos de blocos mais comuns (quick fit) - problemas análogos aos do uso de listas separadas