Segmentação de Memória

Documentos relacionados
Substituição de Páginas

Memória virtual. Pedro Cruz. EEL770 Sistemas Operacionais

Gerência de memória III

Gerência de memória II

Capítulo 4 Gerenciamento de Memória

Organização e Arquitetura de Computadores I

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

Organização e Arquitetura de Computadores I

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

Infra-Estrutura de Software IF677

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

INE5412 Sistemas Operacionais I

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

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

Fundamentos de Sistemas Operacionais

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

Sistemas Operacionais

GERENCIAMENTO DE MEMÓRIA

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

ESTRATÉGIAS DE ALOCAÇÃO AULA 11 Sistemas Operacionais Gil Eduardo de Andrade

Memória virtual. Sistemas Segmentados

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

Arquitetura de Sistemas Operacionais

Sistemas Operacionais Memória Virtual

Administração de Memória

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

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

Gerenciamento de Memória

Gerenciamento de Memória

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

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

Sistemas Opera r cionais Gerência de Memória

AULA 14 - Memória Virtual

Capítulo 6 Nível do Sistema Operacional

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

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

ARQUITETURA DE COMPUTADORES

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

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

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

Arquitetura e Organização de Computadores

Fundamentos de Sistemas Operacionais

Organização e Arquitetura de Computadores

SISTEMAS OPERACIONAIS

SSC0640 Sistemas Operacionais I

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

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

Infra-Estrutura de Software

Introdução aos Sistemas Operacionais. Gerenciamento de Memória

Arquitetura e Organização de Computadores

Infra-Estrutura de Software

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

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

Gerenciamento de memória

Infra-Estrutura de Software

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

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

Gerência de Memória. Gerência de Memória Virtual. Gerência de Memória. Gerência de Memória. Gerência de Memória. Gerência de Memória 17/04/2017

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

Fundamentos de Sistemas Operacionais

Aula 13. Gerência de Memória - Segmentação

Sistemas Operacionais

Sistemas Operacionais

SUMÁRIO. 1.3 CONCEITOS DE SISTEMA OPERACIONAL Processos Arquivos O shell 42

LISTA DE EXERCÍCIOS 02

Gerenciamento de Memória

Gerenciamento de Memória

Gerenciamento de Memória

SSC0640 Sistemas Operacionais I

Sistemas Operacionais

SSC0640 Sistemas Operacionais I

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

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

Gerenciamento de memória

Sistemas Operacionais

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

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

Sistemas de Informação. Sistemas Operacionais

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Fundamentos de Sistemas Operacionais

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Projeto Lógico de Computadores. Profa. MSc. Carolina Melo Santana

Capítulo 6 Gerência de Memória 103

Sistemas Operacionais: Memória Virtual

SISTEMAS OPERACIONAIS. TÁSSIO JOSÉ GONÇALVES GOMES

Entrada/Saída. Capítulo 5. Sistemas Operacionais João Bosco Junior -

Entrada e Saída e Dispositivos

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

GERENCIAMENTO DE PROCESSOS

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

ENADE 2011 SISTEMAS OPERACIONAIS

Memória Virtual. MAC Arquitetura de Computadores Prof. Siang Wun Song. Baseado em W. Stallings Computer Organization and Architecture

Prof. Kleber R. Rovai

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

Swapping. Desvantagem:

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Transcrição:

Segmentação de Memória Pedro Cruz EEL770 Sistemas Operacionais

Memória volátil Algoritmos de substituição Substituição de páginas não usadas recentemente Substituição de páginas primeiro a entrar, primeiro a sair Substituição de páginas segunda chance Substituição de páginas do relógio Substituição de páginas usadas menos recentemente Substituição de páginas não usadas frequentemente Substituição de páginas do conjunto de trabalho Substituição de páginas WSClock Modos de substituição Global Local 2

Questões de implementação Tarefas de paginação Tratamento de falta de página Recuperação de instrução Retenção de páginas Armazenamento de apoio Separação de política e mecanismo 3

Tarefas de paginação Criação do processo Tamanho do processo (em número de páginas) Tabela de páginas Execução do processo Memory Management Unit (MMU) Translation Lookaside Buffer (TLB) Falta de página Recuperação de página Término do processo Liberar páginas Liberar tabelas 4

Criação do processo Decidir tamanho do processo Em páginas Criar a tabela de páginas Em memória, se processo estiver sendo executado Alocar espaço em disco Quadros de página do processo Código Pode ser o próprio arquivo executável Dados Adicionar informações de memória à tabela de processos 5

Tratamento de falta de página Interrupção gerada por hardware Rotina salva registradores Rotina chama sistema operacional Página faltante descoberta por SO (endereço virtual) Registradores Instrução Verificação de proteção e existência da página Substituição de página Limpeza de quadro de página Escalonamento de processos Recuperação do processo original 6

Recuperação de instrução Instruções estão em mais de um endereço Contador de programa nem sempre estará no início da instrução quando ocorrer a falta de página Exemplo Se falha de página ocorrer nos operandos, PC não necessariamente será 1000 Solução CPUs possuem um PC que aponta o início da instrução Endereço Valor Legenda 1000 MOVE Código da instrução 1002 6 Primeiro operando 1004 1 Segundo operando 7

Retenção de páginas Algumas páginas devem ser retidas Compartilhadas entre processos Usadas para fazer E/S Hardware especial cuida de E/S (DMA) Atua em paralelo à CPU Recebe um endereço pra ler/escrever E/S Ignora paginação 8

Armazenamento de apoio Páginas ficam armazenadas em disco Espaço em disco deve ser alocado Se área especial em disco Mapeamento automático Perda de espaço em disco Crescimento de processos complicado» Áreas diferentes para pilha, código e dados Se áreas alocadas dinamicamente Deve haver uma tabela de mapeamento Ganho de espaço em disco Páginas podem estar em arquivos Código pode ser o próprio arquivo executável 9

Armazenamento de apoio Quadros em área especial de disco 1 2 3 4 5 6 7 Quadros dinâmicos 2 4 5 10

Separação de política e mecanismo Tratador de MMU Baixo nível Dependente de hardware Tratador de faltas Parte do núcleo Paginador Espaço de usuário 11

Separação de política e mecanismo Espaço de usuário 3. Pedido de página Processo do usuário 2. Pedido de página Paginador 5. Entrega da página 4. Envio da página Disco 1. Falta de página Espaço de núcleo Tratador de faltas 6. Mapa de página Tratador de MMU 12

Segmentação Programa normalmente cresce e encolhe sua área de memória de forma heterogênea Código estático Pilha e dados variam muito, de formas diferentes Memória dividida em setores lógicos Segmentos Programador recebe segmentos de memória Endereçamento se dá em duas dimensões Número de segmento Endereço dentro do segmento 13

Compilação de programas Com a segmentação, cada sub-rotina pode ficar em um segmento Chamadas às sub-rotinas são feitas pelo segmento delas Alterar uma única sub-rotina não altera as outras Se rotinas estivessem escritas de forma contígua em uma memória unidimensional, todos os endereços após a rotina mudariam 14

Proteção com segmentação Cada segmento pode ter uma proteção diferente Execução Leitura Escrita Segmentos podem ser compartilhados entre processos Bibliotecas Dados compartilhados 15

Segmentação vs Paginação Páginas Tamanho fixo Programador não precisa saber Segmentos Tamanho variável Programador deve saber (para poder endereçar) 16

Implementação Segmentos podem ter diferentes tamanhos Segmentos podem ser apagados Fragmentação externa Cada processo tem uma tabela de segmentos Cada entrada armazena um segmento Início Tamanho Segmentos podem ser usados com paginação 17

Acesso a endereço de memória segmentada Programa referencia endereço virtual (#seg, offset) Entrada #seg da tabela de segmentos é acessada Retorna o endereço inicial B e o tamanho L do segmento Se offset < L Endereço físico = B + offset Se não Segmentation fault 18

Endereçamento com segmentação CPU Erro de endereçamento Endereço Segmento Deslocamento 3 10 Segmento Base Tamanho 0 1000 984 1 659 300 2 2300 58 3 123 299 Comparador Somador Endereço Físico 19

Segmentação com paginação Segmentos nem sempre cabem na memória Ou cabem, mas não ia ser bom mantê-los todos em memória Paginação gerencia a memória virtual Segmentação gerencia a separação lógica da memória Segmentos possuem suas tabelas de páginas 20

Implementação Processo referencia endereço virtual (#seg, #pag, offset) Entrada #seg da tabela de segmentos aponta para a tabela de páginas do segmento Entrada #pag da tabela de páginas aponta para um quadro de página Endereço físico é o endereço do quadro mais o offset 21

Segmentação - utilização Intel x86-32 Dá suporte Windows e Linux não utilizam a segmentação Intel x86-64 Não dá suporte 22

Segmentação de Memória Pedro Cruz EEL770 Sistemas Operacionais