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

Documentos relacionados
Swapping. Desvantagem:

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

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

Aula 10 Gerenciamento de Memória

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

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

Sistemas de Informação. Sistemas Operacionais

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

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

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

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

Gerência de Recursos. Gerência 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

Sistemas Opera r cionais Gerência de Memória

Sistemas Operacionais

Arquitetura de Sistemas Operacionais

Fundamentos de Sistemas Operacionais

Sistemas Operacionais Gerência de Memória

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

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

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

Capítulo 7 Gerência de Memória

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

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

Sistemas Operacionais

Prof. Adriano Maranhão

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


Introdução. Considerações:

SSC0640 Sistemas Operacionais I

Sistemas Operacionais

Gerenciamento de Memória

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

SSC0640 Sistemas Operacionais I

AULA 14 - Memória Virtual

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

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO GERENCIAMENTO DE MEMÓRIA PROFESSOR CARLOS MUNIZ

Gerência de memória III

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

GERENCIAMENTO DE MEMÓRIA

Gerenciamento de Memória

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

Organização e Arquitetura de Computadores I

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

Sistemas Operacionais

Sistemas Operacionais Memória Virtual

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

SISTEMAS OPERACIONAIS

Gerenciamento de Memória

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

Sistemas Operacionais. Prof. MSc. André Yoshimi Kusumoto

SISTEMAS OPERACIONAIS

Sistemas Operacionais

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

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

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

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

Sistemas Operacionais

Gerência de memória II

Sistemas Operacionais. Prof. André Y. Kusumoto

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

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

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. Eduardo Ferreira dos Santos. Abril, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 45

Organização e Arquitetura de Computadores I

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

Memória virtual. Sistemas de Computação

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

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

Fundamentos de Sistemas Operacionais

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

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

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

Infra-Estrutura de Software IF677

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Gerenciamento de Memória

Organização e Arquitetura de Computadores

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

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

Divisão da lacuna em espaços na base 2: Eficiente quanto à velocidade e Ineficiente quanto à fragmentação.

Sistemas de Informação. Sistemas Operacionais

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

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

LISTA DE EXERCICIOS 2

ARQUITETURA DE COMPUTADORES

Gerência de Memória. Aspectos de Projeto

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

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

INE5412 Sistemas Operacionais I

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

Segmentação de Memória

Arquitetura e Organização de Computadores

Substituição de Páginas

Memória virtual. Pedro Cruz. EEL770 Sistemas Operacionais

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

Transcrição:

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

Memória Principal Antigamente Recurso escasso Desenvolvimento de um sistema operacional (SO) que não ocupassem muito espaço de memória principal (MP) Atualmente Redução do custo e aumento da capacidade das MP O gerenciamento da MP continua a ser um dos fatores mais importantes do projeto de um sistema operacional 2

Memória Principal Sistemas Monoprogramáveis Gerência não muito complexa Sistemas Multiprogramáveis Gerência crítica Maximizar o número de usuários e aplicações utilizando de forma eficiente o espaço da memória principal 3

Principais Funções da Gerência da Memória Principal Reduzir o número de acessos a memória secundária (operações de E/S) Tempo de acesso Manter na MP o maior número possível de processos Maximizar o compartilhamento do processador e dos recurso computacionais Memória Secundária 4

Principais Funções da Gerência da Memória Principal Mesmo não havendo espaço livre permitir que novos processos sejam aceitos e executados Permitir a execução de programas maiores que a memória física disponível Proteger a área de memória ocupada por cada processo Processo 1 Processo 2 Processo 3 Processo 4 Memória Secundária Memória 5

Alocação Contínua Simples Presente em alguns sistemas monoprogramáveis MP (memória principal) dividida em duas partes: Sistema Operacional // Programa do usuário Preocupação: Não ultrapassar o espaço de memória disponível Usuário Total controle da MP, exceto onde está o SO (endereço protegido por registrador) Desvantagem Não permite o uso eficiente dos recursos do sistema Apenas um usuário pode dispor desses recursos 6

Segmentação de Programas Vantagem Os programas não estão limitados ao tamanho da MP Solução utilizada: Divisão dos programas em módulos Execução de cada módulo utilizando a mesma área de memória Nome da técnica: segmentação ou overlay Exemplo: Módulos: principal, cadastramento e impressão (independentes) Módulo principal: É comum aos dois e deve estar na memória todo o tempo de execução Compartilhada entre os módulos Tamanho do Programa 9 KB 7

Alocação Particionada Estática Memória dividida em blocos de tamanho fixo chamados de partições Tamanho das partições Estabelecido em tempo de inicialização do sistema Função do tamanho dos programas que seriam executados. Desvantagem: Fragmentação interna Alocação particionada estática absoluta Programas só podem ser carregados/executados em uma partição fixa de memória Alocação particionada estática relocável Programas podem ser carregados/executados em qualquer partição livre na memória 8

Alocação Particionada Estática Absoluta 9

Alocação Particionada Estática Memória dividida em blocos de tamanho fixo chamados de partições Tamanho das partições Estabelecido em tempo de inicialização do sistema Função do tamanho dos programas que seriam executados. Desvantagem: Fragmentação interna Alocação particionada estática absoluta Programas só podem ser carregados/executados em uma partição fixa de memória Alocação particionada estática relocável Programas podem ser carregados/executados em qualquer partição livre na memória 10

Alocação Particionada Estática Relocável 11

Alocação Particionada Estática Memória dividida em blocos de tamanho fixo chamados de partições Tamanho das partições Estabelecido em tempo de inicialização do sistema Função do tamanho dos programas que seriam executados. Desvantagem: Fragmentação interna 12

Alocação Particionada Dinâmica Fragmentação na Alocação Particionada Estática: É um problema a ser resolvido a fim de o grau de compartilhamento da memória fosse aumentado Eliminado o conceito de partição fixa Tamanho da partição = tamanho do programa ser carregado. Fragmentação externa Ao término de um programa e início de outro, passam a existir na memória blocos cada vez menores, não permitindo o ingresso de novos programas Solução Reunião de todos os blocos livres adjacente (nova partição) Realocação particionada dinâmica com realocação (realocação de todas as partições ainda ocupadas para a parte inicial da memória, eliminado blocos livres entre elas) Dificuldade Devido a complexidade dos algoritmos, nem todos os sistemas operacionais a utilizaram 13

Alocação Particionada Dinâmica 14

Alocação Particionada Dinâmica Fragmentação externa Ao término de um programa e início de outro, passam a existir na memória blocos cada vez menores, não permitindo o ingresso de novos programas 15

Estratégias de Alocação de Partição Em qual área livre um programa será alocado para execução 3 estratégias Estratégias de Alocação Best-fit Worst-fit First-fit 16

Estratégias de Alocação de Partição (BEST-FIT) É escolhida a melhor partição, a que deixa o menor espaço livre sem utilização Desvantagem: Acelera a fragmentação São alocados primeiramente as partições menores deixando pequenos blocos fazendo com que a fragmentação apareça mais rapidamente 17

Estratégias de Alocação de Partição (BEST-FIT) 18

Estratégias de Alocação de Partição (WORST-FIT) É escolhida a pior partição, ou seja, a que deixa maior espaço livre Vantagem: São alocados primeiramente as partições maiores. Deixa espaços livre grandes o suficiente para que outros programas utilizem estes espaços. Permite que um maior número de processos se utilizem da memória. Retarda a fragmentação 19

Estratégias de Alocação de Partição (WORST-FIT) 20

Estratégias de Alocação de Partição (FIRST-FIT) Esta estratégia aloca o programa na primeira partição que o couber, independente do espaço livre que vai deixar. Das três estratégias, esta é a mais rápida, consumindo menos recursos do sistema. Vantagem: Das três estratégias, esta é a mais rápida, consumindo menos recursos do sistema. 21

Estratégias de Alocação de Partição (FIRST-FIT) 22

Swapping Visa dar uma maior taxa de utilização à memória principal, melhorando seu compartilhamento Visa também resolver o problema da falta da memória principal (MP) em um sistema Funcionamento Programa precisa ser alocado e não existe espaço na MP Sistema Operacional (SO) escolhe entre processos alocados (sem previsão de utilização da CPU nos próximos instantes) e o descarrega em uma área do disco denominada de arquivo de swap O programa, que precisava ser executado, ocupa o espaço deixado pelo que saiu... e assim sucessivamente... Vai trabalhando assim até que os processos vão terminando Desvantagem: Queda do desempenho devido ao número de acessos à memória secundária 23

Swapping 24

Memória Virtual Técnica de gerência de memória As memórias principal (MP) e secundária (MS) são combinadas dando impressão ao usuário de que existe muito mais memória do que a capacidade real de memória principa Memória Secundária (MS) funciona como uma extensão da MP Não vincula o endereçamento feito pelo programa aos endereços físicos da memória principal (MP), e sim a um endereço virtual, pois eles podem possuir endereços vinculados á memória secundária (MS). Maior número de processos compartilhando o uso da memória principal pois apenas partes do processo estarão residentes. 25

Memória Virtual 26

Memória Virtual O conceito de memória virtual aproxima-se a idéia de um vetor existente nas linguagens de alto-nível como C. Quando um programa faz referência a um vetor não existe a preocupação em saber a posição de memória (MP) daquele dado Endereço físico na memória principal 27

Espaço de Endereçamento Virtual/Real O espaço de endereçamento virtual não tem nenhuma relação com o espaço de endereçamento real ( o da MP). Um programa pode fazer referência a endereços virtuais que estejam fora do limite da memória principal, ou seja, que estejam na memória secundária (MS), uma extensão da memória principal 28

Espaço de Endereçamento Virtual/Real Um programa não faz referência a endereços físicos de memória (endereços reais da MP), mas apenas a endereços virtuais. No momento da execução de uma instrução do programa, o endereço virtual referenciado é traduzido para o endereço físico (da MP), pois o processador manipula apenas endereços da MP Note que se o endereço virtual referenciado estiver na MS ele deve ser transportado para MP 29

Espaço de Endereçamento Virtual/Real Um programa pode estar parte na memória principal e parte na memória secundária. No momento da execução de uma instrução do programa, o endereço virtual referenciado é traduzido para o endereço da MP pois o processador manipula apenas endereços da MP. Note que se o endereço virtual referenciado estiver na MS ele deve ser transportado para MP 30

Espaço de Endereçamento Virtual/Real Espaço de Endereçamento Virtual É o conjunto de endereços virtuais que um processo pode endereçar Espaço de Endereçamento Real É o conjunto de endereços reais que um processo pode endereçar (está localizado na memória principal) 31

Mapeamento O processador executa instruções e referencia dados residentes no espaço de endereçamento real (MP). O mapeamento permite traduzir um endereço localizado no espaço virtual para um localizado no espaço real (da MP) Em conseqüência, um programa não precisa estar necessariamente em endereços contíguos na memória principal para ser executado 32

Tabela de Mapeamento ou Tabela de Endereçamento de Páginas Estrutura mantida pelo processo que relaciona endereços virtuais do processo às suas posições na memória real 33

Memória Virtual por Paginação Técnica de gerência de memória onde o espaço de endereçamento virtual e o espaço de endereçamento real são divididos em blocos do mesmo tamanho chamados páginas. As páginas do espaço virtual são chamadas páginas virtuais As páginas do espaço real são chamadas páginas reais ou frames Cada processo possui sua própria tabela de páginas 34

Memória Virtual por Paginação 35

Memória Virtual por Paginação Cada página virtual do processo possui sua entrada na tabela (ETP - entrada na tabela de páginas) que permite ao sistema localizar a página real correspondente. Quando um programa é executado, páginas virtuais são transferidas da MS para a MP e colocadas nos frames (páginas reais) 36

Memória Virtual por Paginação 37

Política de Busca de Páginas Definem como as páginas serão carregadas da memória virtual para a memória real. Política por demanda Uma página somente será carregada quando for referenciada. Leva para a memória real somente as páginas realmente necessárias à execução do programa, ficando as outras na memória virtual. Política Paginação antecipada Carrega antecipadamente várias páginas da memória virtual para a principal, na tentativa de economizar tempo de E/S. Nem sempre o sistema acerta na antecipação, mas o índice de acertos é quase sempre maior que o de erros. 38

Política de Alocação de Páginas Determinam quantos frames cada processo pode manter na memória real. Working-set É o conjunto de páginas de um processo, em memória real (MP), em um determinado instante. Política de alocação fixa Determina um limite de working-set igual para todos os processos Pode ser vista como uma política injusta, na medida em que processos maiores normalmente necessitam de um working-set maior. A política de alocação variável Define um limite de working-set diferente e variável para cada processo, em função de seu tamanho, taxa de paginação ou até mesmo da taxa de ocupação da memória principal. 39

Política de Substituição de Páginas Quando um processo atinge o limite de alocação de frames (não cabe mais frames no espaço da MP destinado a ele) o SO deve selecionar, dentre as páginas alocadas, qual deve ser liberada. Page Fault É a falha de página. Sempre que o processo referencia um endereço virtual, o sistema verifica se a página correspondente já está carregada na memória real. Se não estiver (está na MS), acontece o page fault. Política Local Somente as páginas do processo que gerou o page fault são candidatas a serem substituídas. Os frames dos demais processos não são avaliados para substituição. Política global Todas as páginas alocadas na memória principal são candidatas à substituição, independente do processo que gerou o page fault. 40