Capítulo 3 Gerenciamento de memória



Documentos relacionados
Capítulo 4 Gerenciamento de Memória

Memória - Gerenciamento. Sistemas Operacionais - Professor Machado

Sistemas Operacionais

Capítulo 4 Gerenciamento de Memória

Gerenciamento de memória. Carlos Eduardo de Carvalho Dantas

Organização e Arquitetura de Computadores

Arquitetura de Computadores. Sistemas Operacionais IV

Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto

AULA 13 - Gerência de Memória

Memória Virtual. Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

Infraestrutura de Hardware. Memória Virtual

Gerenciamento de memória

Exercícios de revisão V2. FAT: 300 GB / 2KB = 150MB X 8 bytes (64 bits / 8) = 1.2GB

BC Sistemas Operacionais Sistema de Arquivos (aula 10 Parte 2) Prof. Marcelo Z. do Nascimento

Arquitetura e Organização de Computadores

Sistemas Operacionais

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Sistema Operacional Correção - Exercício de Revisão

Sistemas Operacionais I

Organização de Computadores 1

Desenvolvimento de um Simulador de Gerenciamento de Memória

Sistemas Operacionais

Sistemas Operacionais Arquivos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistema de Arquivos. Ambientes Operacionais. Prof. Simão Sirineo Toscani

Prof. Antonio Fundamentos de Sistemas Operacionais UNIP/2015

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

Fundamentos de Sistemas Operacionais

Capítulo 4 Gestão da memoria

E/S PROGRAMADA E/S PROGRAMADA E/S USANDO INTERRUPÇÃO

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron

Programação de Sistemas

Gerenciamento de Memória

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Gerência de Processador

Introdução aos Sistemas

Fundamentos de Sistemas Operacionais. Sistema de Arquivos. Prof. Edwar Saliba Júnior Março de Unidade Sistemas de Arquivos

Sistemas Operacionais

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

Gerência do Processador

Memória Cache. Prof. Leonardo Barreto Campos 1

Sistemas Operacionais Processos e Threads

Sistemas Operacionais. Prof. André Y. Kusumoto

Máquina de estados UNIX O

Máquina de estados UNIX O. Sistemas Operacionais 2008/1Profa. Patricia S.O. computação: recursos D. S.O S.O. controla eventos no sistema de

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

Aula 3. Sistemas Operacionais. Prof: Carlos Eduardo de Carvalho Dantas

CAPÍTULO 6 NÍVEL DE SISTEMA OPERACIONAL. Nível de Sistema Operacional. Nível de Máquina Convencional. Nível de Microprogramação

Cap. 10 Gerência de Memória Virtual 1

Sistemas Operacionais

Sistemas Processadores e Periféricos Aula 9 - Revisão

Visão Geral de Sistemas Operacionais

SISTEMAS OPERACIONAIS 2007

Figura 01 Kernel de um Sistema Operacional

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias:

Programação Concorrente Processos e Threads

Sistemas Operacionais

Sistemas Operacionais

Funções de um SO. Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção

Gerenciamento de memória

Estruturas de Armazenamento e Indexação. Rafael Lage Moreira Barbosa

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

Análises Geração RI (representação intermediária) Código Intermediário

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Gerência do Processador

Sistemas Operacionais Gerência de Dispositivos

Memórias Prof. Galvez Gonçalves

Introdução a Informática. Prof.: Roberto Franciscatto

Sistemas Operativos I

Diminui o gargalo existente entre processador e memória principal; 5 a 10 vezes mais rápidas que a memória principal; Ligada diretamente à MP;

Sistemas Operacionais 3º bimestre. Dierone C.Foltran Jr.

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais

ESTUDO DE CASO WINDOWS VISTA

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola

RAID. Propõe o aumento da confiabilidade e desempenho do armazenamento em disco. RAID (Redundant Array of Independent Disks )

Gerência de processos Estudos de caso - BSD Unix

Sistema Operacional. Prof. Leonardo Barreto Campos 1

Sistemas de Informação. Sistemas Operacionais 4º Período

Capítulo 4 Gerenciamento de Memória

Simulação do Processo de Substituição de Páginas em Gerência de Memória Virtual

Deadlocks. Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Organização e Arquitetura de Computadores

Gestão de Memória. DCC/FCUP Fernando Silva Sistemas de Operação 1

Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Estruturas do Sistema de Computação

Os textos nestas caixas foram adicionados pelo Prof. Joubert

Processos e Threads (partes I e II)

Capítulo 2 Processos e Threads Prof. Fernando Freitas

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 04 - Concorrência. Cursos de Computação

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operativos. Threads. 3º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv)

O mecanismo de alocação da CPU para execução de processos constitui a base dos sistemas operacionais multiprogramados.

Prof.: Roberto Franciscatto. Capítulo 1.1 Introdução

Fundamentos de Sistemas Operacionais

Transcrição:

Sistemas operacionais modernos Terceira edição ANDREW S. TANENBAUM Capítulo 3 Gerenciamento de memória

Introdução Programas tendem a se expandir a fim de ocupar toda a memória disponível Programador deseja memória infinitamente grande, rápida e não volátil Por questões de preço, opta-se por utilizar uma hierarquia de memória Gerenciador de memória deve gerenciá-la de modo eficiente

Sem abstração de memória Cada programa simplesmente considera a memória física. 3 modelos de organização: ( a ) Antigos computadores de grande porte ( b ) Sistemas embarcados ( c ) primeiros computadores pessoais com MS-DOS

Múltiplos programas sem abstração de memória É possível através de swapping (1 por vez) Hardware especial pode permitir mais de um Problemas de referências absolutas incorretas Solução realocação estática = carregamento lento A história se repete em sistemas embarcados e cartões inteligentes

Abstração de memória: espaço de endereçamento Desvantagens da exposição da memória física: Danos intencionais ou acidentais Difícil executar múltiplos programas simultaneamente Solução Espaço de endereçamento, ou seja, conjunto de endereços que um processo pode usar para endereçar a memória

Registrador-base e limite Utilizados em versões simples da realocação dinâmica Limitam o endereçamento de um processo Desvantagem Necessidade de executar uma adição e uma comparação e, cada referência a memória.

Troca de memória Quantidade de RAM p/ todos os processos > memória pode comportar Solução: Swapping Memória virtual 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 Tamanho do espaço de locação Se processo possui tamanho fixo = alocação exata Se processo possui tamanho variável = alocação extra é uma boa idéia.

Troca de memória

Troca de memória

Gerenciando a 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 a Memória Livre Lista encadeada Lista com posições de memória livre Algoritmos de busca usados: First fit (primeiro encaixe) Next fit (próximo encaixe) Best fit (melhor encaixe) Mais lento Desperdiça mais memória Worst fit (pior encaixe) Pesquisas mostram não ser uma boa idéia Todos os 4 poderiam ser + rápidos se houvessem listas separadas Quick fit (encaixe mais rápido) Mantém listas separadas p/ alguns tamanhos de memória mais solicitados.

Gerenciamento de memória com mapa de bits

Gerenciamento de memória com listas encadeadas

Exercícios 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?

Memória virtual - paginação Tamanho dos softwares aumenta mais rápido que o tamanho das memórias 1960 Divisão manual e sujeita a erros, de programas em módulos chamados sobreposições Espaço de endereçamento dividido em blocos (páginas) MMU Mapeia endereços virtuais em endereços físicos Transferências de páginas completas

Memória virtual - paginação

Memória virtual - paginação Bit presente/ausente X na figura Falta de página

Memória Virtual Tabela de páginas

Estrutura de uma entrada de uma tabela de páginas

Acelerando a paginação Problemas na implementação da paginação: O mapeamento do endereço virtual para o endereço físico deve ser rápido. Se o espaço virtual for grande, a tabela de páginas será grande.

Buffers para Tradução de Endereços - TLB Mapeia endereços físicos sem passar pela tabela de páginas Apenas endereços mais usados Page miss (ausência de página) Page hit (presença de página)

Gerenciamento da TLB por software TLB feita pelo SO e não por hardware TLB grande = eficiência da TLB por software aceitável, com MMU simples com > área no CPU p/ outros recursos Estratégias p/ melhorar o desempenho SO usa intuição para descobrir páginas usadas e antecipar carregamento. Ausência na TLB Soft miss (ausência leve) Hard miss (ausência completa)

Tabelas de páginas multinível Pode possuir 3, 4 ou mais níveis Mais níveis = maior flexibilidade Duvidoso se complexidade de hardware > que 3 níveis seja vantajosa.

Tabelas de páginas invertidas

Exercícios 1. O que é falta de página? 2. Qual a função da TLB? 3. Diferencie soft miss e hard miss. 4. Como funciona a tabela de páginas multinível?

slide 26 2009 Pearson Prentice Hall. Todos os direitos reservados. Algoritmos de Substituição de Páginas A falta de página força uma escolha qual página deve ser removida? alocação de espaço para a página a ser trazida para a memória A página modificada deve primeiro ser salva se não tiver sido modificada é apenas sobreposta Melhor não escolher uma página que está sendo muito usada provavelmente precisará ser trazida de volta logo

Algoritmo de substituição de páginas Algoritmo ótimo de substituição de página. Algoritmo de substituição de página não usado recentemente. Algoritmo de substituição de página primeiro a entrar, primeiro a sair. Algoritmo de substituição de página segunda chance. Algoritmo de substituição de página de relógio. Algoritmo de substituição de página usado menos recentemente. Algoritmo de substituição de página de conjunto de trabalho. Algoritmo de substituição de página WSClock.

slide 28 2009 Pearson Prentice Hall. Todos os direitos reservados. Algoritmo de Substituição de Páginas Ótimo Se uma página será usada após 10000 instruções, e outra após 5000, a primeira deve ser substituída numa falta de página; Problema: não há como o SO saber quando uma página será novamente acessada; E se a próxima instrução for para acessar a primeira página citada acima? Algoritmo impossível de ser implementado;

slide 29 O Algoritmo de Substituição de Página Não Usada Recentemente (NUR) 2009 Pearson Prentice Hall. Todos os direitos reservados. Cada página tem os bits Referenciada (R) e Modificada (M) Bits são colocados em 1 quando a página é referenciada e modificada As páginas são classificadas, pelo SO Classe 0: não referenciada, não modificada Classe 1: não referenciada, modificada Classe 2: referenciada, não modificada Classe 3: referenciada, modificada NUR remove página aleatoriamente da classe de ordem mais baixa que não esteja vazia

slide 30 2009 Pearson Prentice Hall. Todos os direitos reservados. O Algoritmo de Substituição de Página Não Usada Recentemente (NUR) É melhor remover uma página modificada, mas que não foi referenciada; Algoritmo fácil de entender e implementar; Desempenho não é ótimo, mas adequado;

slide 31 2009 Pearson Prentice Hall. Todos os direitos reservados. Algoritmo de Substituição de Página Primeira a Entrar, Primeira a Sair Mantém uma lista encadeada de todas as páginas página mais antiga na cabeça da lista página que chegou por último na memória no final da lista Na ocorrência de falta de página página na cabeça da lista é removida nova página adicionada no final da lista Desvantagem página há mais tempo na memória pode ser usada com muita freqüência Raramente usado em sua configuração pura

slide 32 2009 Pearson Prentice Hall. Todos os direitos reservados. Algoritmo de Substituição de Página Segunda Chance (SC) Modificação de FIFO; Desta vez, se o bit R for 1, a página será poupada, o bit R é colocado em 0 e a página vai para o final da fila; Se não, a página será removida; Dá-se chance às páginas que estão sendo utilizadas, mesmo sendo antigas; Se todas as páginas forem referenciadas, o algoritmo degenera-se para FIFO;

slide 33 2009 Pearson Prentice Hall. Todos os direitos reservados. Algoritmo de Substituição de Página Segunda Chance (SC) Operação do algoritmo segunda chance a) lista de páginas em ordem FIFO b) estado da lista em situação de falta de página no instante 20, com o bit R da página A em 1 (números representam instantes de carregamento das páginas na memória)

slide 34 2009 Pearson Prentice Hall. Todos os direitos reservados. Algoritmo de Substituição de Página Relógio Difere-se do Segunda Chance apenas na implementação; O SC é desnecessariamente ineficaz, já que coloca constantemente no final da fila de páginas; O Relógio cria simplesmente uma lista circular; Um ponteiro aponta para a cabeça da lista;

slide 35 2009 Pearson Prentice Hall. Todos os direitos reservados. Algoritmo de Substituição de Página Relógio

slide 36 2009 Pearson Prentice Hall. Todos os direitos reservados. Menos Recentemente Usada (MRU) Aproximação do desempenho teórico do algoritmo ótimo; Assume que páginas usadas recentemente logo serão usadas novamente retira da memória página que há mais tempo não é usada Implementação por SW muito onerosa, pois tem-se que atualizar uma lista encadeada;

slide 37 2009 Pearson Prentice Hall. Todos os direitos reservados. Menos Recentemente Usada (MRU) Uma lista encadeada de páginas deve ser mantida página mais recentemente usada no início da lista, menos usada no final da lista atualização da lista à cada referência à memória Implementação por HW: Uso do algoritmo NFU (Não usada frequentemente) Contador de 64 bits, que é incrementado a cada instrução Mantem-se contador em cada entrada da tabela de página escolhe página com contador de menor valor

slide 38 2009 Pearson Prentice Hall. Todos os direitos reservados. Menos Recentemente Usada (MRU) Outra maneira em HW: Para uma máquina com n molduras, gera-se matriz de n x n, inicialmente com todos os valores 0; Sempre que a moldura k for referenciada, o HW marcará os bits da linha k com 1, e todos os bits da coluna k com 0; Retira-se a página com menor valor binário

slide 39 2009 Pearson Prentice Hall. Todos os direitos reservados. Menos Recentemente Usada (MRU) MRU usando uma matriz páginas referenciadas na ordem 0,1,2,3,2,1,0,3,2,3

slide 40 2009 Pearson Prentice Hall. Todos os direitos reservados. Simulação do MRU em Software Embora implementações anteriores sejam realizáveis, não há máquinas com o HW descrito; Usa-se o algoritmo do envelhecimento: Coloca-se o bit R no bit mais à esquerda do contador, a cada tic; Desloca-se à direita todos os bits

slide 41 2009 Pearson Prentice Hall. Todos os direitos reservados. Simulação do MRU em Software

Algoritmo de substituição de página do conjunto de trabalho Precisa determinar a cada instante quais páginas pertencem ao conjunto de trabalho A idéia principal é encontrar uma página que não esteja presente no conjunto de trabalho e removê-la da memória.

Algoritmo de substituição de página do conjunto de trabalho

Algoritmo de substituição de página Amplamente utilizado WSClock Mistura do algoritmo do relógio com o do conjunto de trabalho (Continua)

Algoritmo de substituição de página (Continuação) WSClock

Resumo dos algoritmos de substituição de página

slide 47 2009 Pearson Prentice Hall. Todos os direitos reservados. Exercícios 1. Porque o algoritmo ótimo de substituição de página não pode ser implementado na prática? 2. Diferencie o algoritmo de substituição de página não usado recentemente e o algoritmo de substituição de página menos usado recentemente. 3. Qual o principal problema encontrado no algoritmo de substituição de página primeiro a entrar, primeiro a sair? 4. Como funciona o algoritmo de substituição de página segunda chance? 5. Explique o funcionamento do algoritmo de substituição de página de conjunto de trabalho.

Política de alocação local versus global Os algoritmos de substituição de página devem remover somente páginas do processo ou qualquer uma disponível? Local (somente do processo) Ultrapaginação; ou Desperdício de memória Global (toda a memória) Deve decidir continuamente quantas molduras alocar para cada processo Mesmo tanto para todos Injusto com processo de tamanhos diferentes Proporcional ao tamanho Boa idéia Deve estabelecer tamanho mínimo Utilizar algoritmo PFF (Frequência de faltas de páginas) para controlar o tamanho do conjunto de locação.

Política de alocação local versus global

Política de alocação local versus global PFF tentará manter a frequência de paginação para cada processo em limites aceitáveis. Os algoritmos de substituição algumas vezes independe da política de alocação. FIFO, MRU, LRU Outros porém são puramente baseados na alocação local WSClock, Conjunto de trabalho slide 50 2009 Pearson Prentice Hall. Todos os direitos reservados.

slide 51 2009 Pearson Prentice Hall. Todos os direitos reservados. Controle de Carga Mesmo com um bom projeto, o sistema ainda pode sofrer ultrapaginação (thrashing) Quando o algoritmo PFF indica alguns processos precisam de mais memória mas nenhum processo precisa de menos Solução: Reduzir o número de processos que competem pela memória levar alguns deles para disco e liberar a memória a eles alocada reconsiderar grau de multiprogramação

slide 52 2009 Pearson Prentice Hall. Todos os direitos reservados. Tamanho de Página Tamanho de página pequeno: Vantagens menos fragmentação interna menos programa não usado na memória Desvantagens programas precisam de mais páginas tabelas de página maiores Tempo para transferência de muitas páginas pequenas é maior do que tempo para transferência de poucas páginas grandes Maior parte do tempo é gasto no posicionamento para leitura/escrita

slide 53 2009 Pearson Prentice Hall. Todos os direitos reservados. Tamanho de Página Um valor típico de tamanho de página era 1 KB, mas atualmente 4 KB ou 8 KB A medida que as memórias se tornam maiores, o tamanho da página também cresce Não linearmente Quadruplicar o tamanho da memória raramente duplica o tamanho da página

Espaços Separados de Instruções e Dados Em um computador com esse projeto, ambos os espaços de endereçamento podem ser paginados independente um do outro

Páginas Compartilhadas Compartilhar páginas é eficiente Nem todas as páginas são compartilháveis Dois processos que compartilham o mesmo código de programa e, por conseqüência, a mesma tabela de páginas para instruções 55 slide 55 2009 Pearson Prentice Hall. Todos os direitos reservados.

Bibliotecas compartilhadas Reduz arquivos executáveis Economiza espaço na memória Atualização de uma biblioteca não torna necessário recompilar os programas que a chamam

slide 57 2009 Pearson Prentice Hall. Todos os direitos reservados. Política de Limpeza Precisa de um processo que executa em background, um daemon de paginação Inspeciona periodicamente o estado da memória Quando apenas algumas molduras de página estão disponíveis Seleciona páginas a serem removidas usando um algoritmo de substituição Pode ser implementada através de lista circular (relógio) com dois ponteiros Ponteiro da frente controlado pelo daemon de paginação Ponteiro de trás usado para substituição de página (como no do relógio)

slide 58 2009 Pearson Prentice Hall. Todos os direitos reservados. Exercícios 1. Cite as vantagens e desvantagens da alocação global versus alocação local. 2. A política de alocação influencia na escolha do algoritmo de escalonamento. Justifique. 3. O que é melhor: páginas grandes ou pequenas? Justifique. 4. Cite as vantagens e desvantagens do compartilhamento de páginas.

Tratamento da falta de página O hardware cria uma cilada para o núcleo, salvando o contador do programa na pilha. Uma rotina em código é iniciada para salvar o conteúdo dos registradores de uso geral e outras informações voláteis. O sistema operacional descobre a ocorrência de uma falta de página e tenta descobrir qual página virtual é necessária. Uma vez conhecido o endereço virtual que causou a falta da página, o sistema verifica se esse endereço é válido e se a proteção é consistente com o acesso.

Tratamento da falta de página Se a moldura da página selecionada estiver suja, a página é escalonada para ser transferida para o disco e será realizado um chaveamento de contexto. Quando a moldura da página estiver limpa, o sistema operacional buscará o endereço em disco onde está a página virtual solicitada e escalonará uma operação para trazê-la. Quando a interrupção de disco indicar que a página chegou na memória, as tabelas de páginas serão atualizadas para refletir sua posição, e será indicado que a moldura de página está normal.

Tratamento da falta de página A instrução que estava faltando é recuperada para o estado em que se encontrava quando começou, e o contador de programa é reiniciado a fim de apontar para aquela instrução. O processo em falta é escalonado, o sistema operacional retorna para a rotina, em linguagem de máquina, que o chamou. Esta rotina recarrega os registradores e outras informações de estado e retorna ao espaço de usuário para continuar a execução como se nada tivesse ocorrido.

Backup de instrução Mais fácil de entender do que de explicar Se a interrupção acontecer no meio de uma instrução o SO ficará perdido Necessidade de registradores especiais, ou o SO terá que se virar

Fixação de Páginas na Memória Memória virtual e E/S interagem ocasionalmente Processo emite chamada ao sistema para ler do disco para o buffer enquanto espera pela E/S, outro processo inicia ocorre uma falta de página buffer do primeiro processo pode ser escolhido para ser levado para disco Solução possível Fixação de páginas envolvidas com E/S na memória (processo conhecido como retenção de página)

Memória secundária Onde alocar as páginas retiradas da memória. Junto ao sistema de arquivos (windows) Em um disco separado (Linux) Mapeamentos Estático (espaço de swap reservado antecipadamente do mesmo tamanho que as páginas) Dinâmico (alocação e liberação de espaço quando necessário)

Separação da política e mecanismo Torna mais fácil gerenciar a complexidade de qualquer sistema Sistema de gerenciamento de memória é dividido em três partes: Um manipulador de MMU de baixo nível Um manipulador de falta de página que faz parte do núcleo Um paginador externo executado no espaço do usuário Vantagens: Código mais modular e flexível Desvantagens Sobrecarga em chaveamentos núcleo/usuário Sobrecarga nas trocas de mensagens

Separação da política e mecanismo

Segmentação Em alguns casos ter 2 ou mais espaços de endereçamento separados é melhor do que ter apenas 1 Exemplo: Um compilador tem muitas tabelas que são construídas conforme a compilação ocorre, possivelmente incluindo: O código-fonte sendo salvo para impressão (em sistema em lotes). A tabela de símbolos os nomes e atributos das variáveis. A tabela com todas as constantes usadas, inteiras e em ponto flutuante. A árvore sintática, a análise sintática do programa. A pilha usada pelas chamadas de rotina dentro do compilador.

Segmentação Em um endereçamento único, podemos chegar em uma situação onde haverá entradas livres para determinada tabela e espaço esgotado para outros.

Segmentação Outra possibilidade é trabalhar com segmentos independentes onde o conteúdo do segmento poderá crescer sem encontrar nada em seu espaço de endereçamento capaz de impedir seu crescimento.

Segmentação

Implementação de Segmentação Pura (a)-(d) Desenvolvimento de fragmentação externa (e) Remoção da fragmentação via compactação 71 slide 71 2009 Pearson Prentice Hall. Todos os direitos reservados.

Exercícios 1. Explique com suas palavras o tratamento de falta de página 2. O que é retenção de página? 3. Diferencie os tipos de mapeamentos na memória secundária. 4. Qual a vantagem de existir a segmentação? 5. Na sua opinião, quem é melhor: segmentação ou paginação