Sistemas Operacionais

Documentos relacionados
Organização e Arquitetura de Computadores

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

Arquitetura de Computadores. Sistemas Operacionais IV

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

Capítulo 8: Gerenciamento de Memória

Infraestrutura de Hardware. Memória Virtual

Sistemas Operativos I

Sistemas Operacionais

Sistemas Operacionais

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

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

Gerenciamento de memória. Carlos Eduardo de Carvalho Dantas

Sistemas Operacionais

Gerenciamento Básico B de Memória Aula 07

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

Sistemas Operacionais

Gerenciamento de Memória

Gerência do Sistema de Arquivos. Adão de Melo Neto

AULA 13 - Gerência de Memória

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Sistema de arquivos. Prof. Valeria M. Bastos Prof. Antonio Carlos Gay Thomé 13/06/2012 1

Fundamentos de Sistemas Operacionais

Exercícios Gerência de Memória

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

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

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

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

Gerenciamento de memória

Sistemas Operacionais Arquivos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Organização e Arquitetura de Computadores

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

Gerenciamento de memória

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

ARQUITETURA DE COMPUTADORES II

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

Arquitetura de Computadores I

Programação de Sistemas

Exercícios Gerência de Memória

Sistemas de Arquivos. Sistemas Operacionais - Professor Machado

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

ARQUITETURA DE COMPUTADORES

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

Memória - Gerenciamento. Sistemas Operacionais - Professor Machado

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

Memória. Espaço de endereçamento de um programa Endereços reais e virtuais Recolocação dinâmica Segmentação

Capítulo 6 Sistemas de Arquivos

Capítulo 4 Gerenciamento de Memória

Sistemas Operacionais

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

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

Sistemas de Arquivos NTFS

Arquitetura de Sistemas Operacionais

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

Desenvolvimento de um Simulador de Gerenciamento de Memória

MEMÓRIA. 0 e 1 únicos elementos do sistema de numeração de base 2

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

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

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

GERENCIAMENTO DE DISPOSITIVOS

Tecnologias de Construção de Memórias e Memórias RAM, entrelaçada e Virtual

Componentes do Computador e. aula 3. Profa. Débora Matos

Sistemas Operacionais: Sistema de Arquivos

Acadêmicos: Luís Fernando Martins Nagata Gustavo Rezende Vinícius Rezende Santos

ARQUITETURA DE COMPUTADORES

Sistema de Arquivos EXT3

Sistema de Arquivos FAT

Programação de Computadores I. Linguagem C Vetores

Memória cache. Prof. Francisco Adelton

Notas da Aula 15 - Fundamentos de 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

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

Memória Cache. Prof. Leonardo Barreto Campos 1

Introdução à Computação: Sistemas de Computação

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

AULA 5 Sistemas Operacionais

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

Capítulo 4 Gerenciamento de Memória

Introdução à Organização de Computadores Memória Principal

ROM-BIOS Inicialização Sistemas de Arquivos Formatação

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

Arquitetura e Organização de Computadores

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Arquitetura de Computadores. Tipos de Instruções

5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS Os Programas de Avaliação

Conjunto organizado de informações da mesma natureza, agrupadas numa unidade independente de processamento informático

EXEMPLO: Processo para atualização da hora Processo para monitoramento da necessidade de proteção de tela. Figura Exemplo

Armazenar dados e programas que serão utilizados pelo processador (CPU Unidade Central de Processamento)

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

SISTEMA DE ARQUIVOS. Instrutor: Mawro Klinger

Máquina Multinível. Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa.

Sistemas Operacionais

Organização e Arquitetura de Computadores I

SISTEMAS OPERACIONAIS. Sistemas de Arquivos Apostila 09

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

Dispositivos de Armazenamento. Prof. Flávio Humberto Cabral Nunes

SOP - TADS Sistemas de Arquivos Cap 4 Tanenmbaum

Transcrição:

Sistemas Operacionais Gerência de Memória Paginação e Segmentação Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Slides baseados nas apresentações dos prof. Tiago Ferreto e Alexandra Aguiar

Introdução Particionamento contíguo Causa desperdício Fragmentação interna Mau uso dos espaços fixos definidos na memória principal Fragmentação externa Mau uso dos espaços Proposta de solução Exploração de espaços não contíguos de alocação de memória Paginação Segmentação Segmento-paginação

Paginação Objetivo Evitar o desperdício de memória Das partições fixas Reduz a quantidade de fragmentações internas Das partiçôes variáveis Maximiza o uso de espaços de memória (elimina frag. externa) Como Permite que processos utilizem áreas não contíguas de memória Quebra de memória em várias pequenos pedaços (Quadro) Todos de mesmo tamanho Quebra de processo em vários pequenos pedaços (Página) Todos de mesmo tamanho Exige recurso de vinculação de páginas à quadros Tabela de páginas (page tables)

Processos e Quadros A.0 A.1 A.2 A.3 D.0 B.0 D.1 B.1 D.2 B.2 C.0 C.1 C.2 C.3 D.3 D.4 13 07 4--- 0 14 18 5--- 1 29 6--- 2 Free frame list 10 11 3 3 12 4 Processo A C B Tabela Processo de páginas D Tabela de páginas

Paginação Página lógica Pode ser carregada em qualquer página física disponível Não causa fragmentação externa Pode causar fragmentação interna às páginas Tamanho das páginas Definido pela MMU Quando processo é disparado Verifica se há páginas físicas livres suficientes para o processo

Exemplo de Paginação

Paginação Endereçamento de um processo Dividido em páginas lógicas de tamanho fixo Endereço lógico Número de página lógico + deslocamento Endereço gerado pelo processador Tabela de páginas por processo Relacional páginas lógicas e páginas físicas Utilizado durante o processo de tradução Endereçamento físico Gerado a partir de tradução Consulta a tabela de páginas referente a cada processo

Endereço Lógico Exemplo Endereçamento de 16 bits Páginas de 1K Endereçamento página 10 bits 1K Número de páginas 6 bits 64 páginas Figura (a) Particionamento fixo Endereçamento contíguo Figura (b) Paginação (Página 1 + desloc. de 478 posições)

Tabela de páginas Implementação da tabela de páginas Registradores de acesso rápido Dão suporta somente tabelas de páginas pequenas Memória física Cada acesso a página necessita de dois acessos a memória achar página acessar página Registrador base e limite da tabela de cada página PTBR (Page Table Base Register) PTLR (Page Table Limit Register) Memória física e TLB (translation lookaside buffer) Memória cache interna à MMU Memória associativa indexação baseada no conteúdo

Paginação

Arquitetura de tradução de Endereços

Segmentação Técnica que permite gerenciar a memória baseada em segmentos Como Explora a separação de áreas específicas de um processo código, variáveis, pilha Cada segmento possui um identificador e tamanho

Processo na visão de usuário

Segmentação Exemplo: Código gerado a partir de um compilador Segmentos Tabela de símbolos o Variáveis, labels, etc Texto-fonte o Instruções, etc Constantes Árvore de análise Pilha de chamadas

Visão Lógica da Segmentação 1 2 1 4 3 4 2 3 Espaço do usuário Espaço de endereçamento físico

Arquitetura da Segmentação Endereço lógico consiste de duas partes: Número do segmento Posição nesse segmento Tabela de Segmentos Mapeia endereços físicos bi-dimensionais Cada entrada na tabela possui: Base Endereço físico inicial do segmento na memória principal Limite Especifica o tamanho do segmento

Segmentação Endereço lógico Número de segmento + deslocamento Tabela segmento mapeia segmento para valores Base início do segmento na memória física Limite Tamanho do segmento Permite compartilhamento de segmentos entre processos Bibliotecas compartilhadas

Segmentação Quantidade exata de memória é alocada para cada segmento Não existe fragmentação interna, mas... Fragmentação externa pode ser reduzida

Segmentação Exemplo Endereçamento de 16 bits Endereçamento Intra segmento Depende do nro de segmento Depende do deslocamento máximo no segmento Figura (a) Particionamento Endereçamento contíguo Figura (b) Segmentação (Segmento + desloc. de 752 posições)

Segmentação

2 Segmentação

Paginação x Segmentação

2 Exemplo de segmentação

Compartilhamento de Segmentos

Exercícios 1) Considere um espaço de endereçamento lógico de 8 páginas de 1K cada, mapeados em uma memória física de 32 frames. a) Quantos bits tem o endereço lógico? b) Quantos bits tem o endereço físico?

Exercícios 2) O sistema operacional XYZ utiliza paginação como mecanismo de gerência de memória. São utilizadas páginas de 1KByte. Um endereço lógico utiliza 20 bits. Um endereço físico ocupa 24 bits. Cada entrada na tabela de páginas contém, além do número da página física, um bit de válido/inválido e um bit que indica apenas leitura (read only). Mostre como podem ser calculados os seguintes valores: Tamanho máximo para a memória física Maior programa que o sistema suporta. Quantas entradas possui a tabela de páginas. Quantos bits são necessários para a tabela de páginas (cálculo exato)

Exercícios Gerência de memória 1) Considere um espaço de endereçamento lógico de 8 páginas de 1K cada, mapeados em uma memória física de 32 frames. a) Quantos bits tem o endereço lógico? 13 b) Quantos bits tem o endereço físico? 15 Para endereçar uma informação dentro de uma página de 1k Precisamos de 10 bits. (2 10 = 1024 posições) Para endereçar as 8 páginas Precisamos de 3 bits (2 3 = 8 posições) Para endereçar os 32 frames Precisamos de 5 bits (2 5 = 32 posições)

Resposta 2 Páginas de 1KB, deslocamento de 10bits Endereçamento lógico: 20 bits, sendo 10 para deslocamento, sobram 10 para endereçar as páginas. Logo, no máximo 1024 páginas. Se cada página tem 1KB, programa máximo suportado é de 1MB. Endereçamento físico: 24 bits, sendo 10 para deslocamento, 2 para controle, sobram 12 para endereçar os frames. Logo, no máximo 4096 frames. Tamanho máximo da memória física 4MB. Tabela de páginas possui 1024 entradas (por processo) Cada entrada possui 12 bitos, logo cada tabela de páginas consome 12288 bits.

Segmentação paginada Espaço lógico é dividido em Segmentos Cada segmento é dividido em páginas lógicas Endereço lógico Segmento + página + deslocamento Tabelas de segmentos Possui apontadores para tabelas de páginas de cada segmento

Segmentação paginada

Segmentação paginada endereço lógico segmento página deslocamento endereço físico pag fis deslocamento teste Tabela de Páginas do seg 1 pág. lógica pág. física Tabela de Segmentos segmento base limite