Gerência de Memória. Memória Considerações: Recurso caro e escasso; Programas só executam se estiverem na memória principal; Quanto mais processos residentes.

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais
Advertisements

SISTEMAS OPERACIONAIS
INTRODUÇÃO À COMPUTAÇÃO Sistemas Operacionais
Sistemas Operacionais
Sistemas Operacionais
Sistemas Operacionais
DESENVOLVIMENTO DE SISTEMAS PARA INTERNET
Entrada e Saída Introdução.
Técnicas para operações E/S
Sistemas Operacionais – Sérgio Fernando Parte 7 – Gerência de Memória1 Sistemas Operacionais Prof. Sérgio Fernando Adaptado do livro: Arquitetura de Sistemas.
Gerenciamento de Memória
Sistemas Operacionais
Ambientes Operacionais
Gerenciamento de memória
Arquitetura de Sistemas Operacionais Francis Berenger Machado
SSC541 - SISTEMAS OPERACIONAIS I Aula 12 – Gerenciamento de Memória
SSC SISTEMAS OPERACIONAIS I Aula 10 – Gerenciamento de Memória
SSC SISTEMAS OPERACIONAIS I Aula 15 – Gerenciamento de Memória
LPG - I: Alocação Dinâmica de Memória - Ponteiros
Gerência de Memória.
Gerência de Memória Sistemas Operacionais I
Arquitetura de Computadores
Sistemas Operacionais Turmas MBI1 e NBI2. Prof: Marcelo Mendes.
Claudio de Oliveira – Gerência de Memória 09/03/10 20:13 Claudio de Oliveira –
Debian Gerência de Memória.
Sistemas Operacionais I
Gerência de Memória.
Sistemas Operacionais Gerenciamento de Memória
Sistemas Operacionais
Fundamentos da Arquitetura de Computadores
Sistemas Operacionais
Sistemas Operacionais
Sistemas Operacionais
Gerência de Memória Fundamentos Swapping Alocação Contígua de memória
Disciplina: Sistema Operacional Professor: Luciano Ricardi Scorsin
Memória virtual Professor Esp. Diego André Sant’Ana
Sistemas Operacionais
SISTEMAS OPERACIONAIS I
Sistemas Operacionais
SISTEMAS OPERACIONAIS I Memória Virtual e Paginação
SISTEMAS OPERACIONAIS I
SISTEMAS OPERACIONAIS I
Sistemas Operacionais
Sistemas Operacionais
Capítulo 8: Memória principal
Sistemas Operacionais
Escalonamento de Processos e Threads
Gerenciamento de Memória Conceitos Básicos
SISTEMAS OPERACIONAIS I
DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória.
Sistemas Operacionais
Sistemas Operacionais
S ISTEMAS OPERACIONAIS PROCESSOS Horácio Ribeiro.
Infra-Estrutura de Software Gerenciamento de Memória.
Gerenciamento de Memória
SISTEMAS OPERACIONAIS
Memória Virtual O problema é que temos um espaço limitado de memória RAM e, cada vez mais, os aplicativos consomem partes maiores dela. E o que o processador.
Gerenciamento de Memória - Capítulo 7 - Sistemas Operacionais Prof. Dr. José Carlos Becceneri Luciana Sêda Cardoso.
Gerenciamento de Memória Sistemas Recentes
Faculdade Pernambucana - FAPE
Bruno Iran Ferreira Maciel
Sistemas de Arquivos Sistemas Operacionais Profa. Priscila Facciolli
Sistemas Operacionais IV – Gerenciamento de E/S
Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.
Gerência de Memória Sidney Cunha de Lucena Baseado no livro
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas de Arquivos Capítulo Arquivos 6.2 Diretórios 6.3 Implementação do sistema.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Gerenciamento de Memória Capítulo Gerenciamento básico de memória 3.2 Troca de processos.
Sistemas Operacionais Gerência de Memória Funções básicas (número, tamanho e segurança) Alocação contígua simples Técnica de overlay Alocação particionada.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais FATEC-PB Professor: Gustavo Wagner
Transcrição da apresentação:

Gerência de Memória

Memória Considerações: Recurso caro e escasso; Programas só executam se estiverem na memória principal; Quanto mais processos residentes na memória principal, melhor será o compartilhamento do processador; Necessidade de uso otimizado; O S.O. não deve ocupar muita memória; “É um dos fatores mais importantes em um projeto de S.O.”.

Gerenciamento de Memória Algumas funções do Gerenciador de memória: Controlar quais as unidades de memória estão ou não estão em uso, para que sejam alocadas quando necessário; Liberar as unidades de memória que foram desocupadas por um processo que finalizou; Tratar do Swapping entre memória principal e memória secundária. Transferência temporária de processos residentes na memória principal para memória secundária.

Gerenciamento de Memória Técnicas de Alocação de Memória: Alocação Contígua Simples; Alocação Particionada Estática; Alocação Particionada Estática Absoluta; Alocação Particionada Estática Relocável; Alocação Particionada Dinâmica.

Alocação Contígua Simples Alocação implementada nos primeiros sistemas e ainda usada nos monoprogramáveis; A Memória é dividida em duas áreas: Área do Sistema Operacional Área do Usuário Um usuário não pode usar uma área maior do que a disponível; Sem proteção: Um usuário pode acessar a área do Sistema Operacional. Memória principal Sistema Operacional Área de Programas do usuário

Alocação Contígua Simples Registrador de proteção delimita as áreas do sistema operacional e do usuário; Sistema verifica acessos à memória em relação ao endereço do registrador; A forma de alocação era simples, mas não permitia utilização eficiente de processador e memória; Memória principal Sistema Operacional Área de Programas do usuário Reg

Alocação Contígua Simples Programas de usuário limitados pelo tamanho da memória principal disponível. Solução: Overlay Dividir o programa em módulos; Permitir execução independente de cada módulo, usando a mesma área de memória; Área de Overlay Área de memória comum onde módulos compartilham mesmo espaço. Memória principal Sistema Operacional Área de Overlay Área do Módulo Principal ABC

Alocação Particionada Multiprogramação. Necessidade do uso da memória por vários usuários simultaneamente. Ocupação mais eficiente do processador; A memória foi dividida em pedaços de tamanho fixo chamados partições; O tamanho de cada partição era estabelecido na inicialização do sistema; Para alteração do particionamento, era necessário uma nova inicialização com uma nova configuração.

Alocação Particionada Estática Alocação Particionada Estática Absoluta: Compiladores gerando código absoluto; Endereços relativos ao início da memória; Programas exclusivos para partições específicas. Alocação Particionada Estática Relocável: Compiladores gerando código relocável; Endereços relativos ao início da partição; Programas podem rodar em qualquer partição.

Alocação Particionada Estática Proteção: Registradores com limites inferior e superior de memória acessível. Programas não ocupam totalmente o espaço das partições, gerando uma fragmentação interna. Memória principal Sistema Operacional Partição C Partição A Reg Partição B

Alocação Particionada Dinâmica Não existe o conceito de partição dinâmica. O espaço utilizado por um programa é a sua partição. Não ocorre fragmentação interna. Ao terminarem, os programas deixam espalhados espaços pequenos de memória, provocando a fragmentação externa. Memória principal Sistema Operacional Processo E Processo A Processo C Processo F

Alocação Particionada Dinâmica Soluções: Reunião dos espaços contíguos. Relocação Dinâmica: Movimentação dos programas pela memória principal. Resolve o problema da fragmentação. Consome recursos do sistema  Processador, disco, etc. Memória principal Sistema Operacional Processo E Processo A Processo F

Gerência de Memória Mapeamento de bits: Cada bit representa uma unidade de alocação; Raramente é utilizado atualmente. É muito lenta. Mapeamento da Memória com listas ligadas: HeaderP/BiníciotamanhoP/Biníciotamanho P: Processo B: Buraco

Gerência de Memória Mapeamento da Memória com listas ligadas: Best-Fit (melhor alocação): Espaço mais próximo do tamanho do processo; Tempo de busca grande; Provoca fragmentação. Worst-Fit (pior alocação): Cria o maior espaço possível; Tempo de busca grande; Não apresenta bons resultados. First-Fit (primeira alocação): Melhor performance. Next-Fit (proxima alocação): Performance inferior ao First-Fit.

Gerência de Memória Considerações sobre Mapeamento da Memória com listas ligadas : Todos melhoram em performance se existirem listas distintas para processos e espaços, embora o algoritmo fique mais complexo. Listas ordenadas por tamanho de espaço melhoram a performance.

Swapping Os processos ficavam na memória principal, mesmo se bloqueados pela espera de algum evento. Solução: Swapping. Técnica para resolver problema de processos que aguardam por espaço livre adequado; Processos não ficam mais na memória o tempo todo.

Swapping Um processo residente na memória é levado para o disco (Swapped-Out), dando lugar a outro; O processo Swapped-Out retorna à memória (Swapped-In), sem “perceber” o que ocorreu. programa B programa A programa E programa A programa G Sistema Operacional Memória principal programa H programa E programa A B B Swap In Swap Out Sistema Operacional programa B

Swapping Problema gerado pelo Swapping: Relocação de processos: O tempo gasto com relocação é alto; Um mesmo processo sendo Swapped-Out repetidas vezes gera um alto consumo de CPU.

Swapping Vantagens da técnica de Swapping: Permite maior compartilhamento da memória; Aumento no Throughput (quantidade de processos executados por unidade de tempo); Eficiente para sistemas com poucos usuários e pequenas aplicações; Problema: custo do Swapping (in/out).