Gestão de memória - Memory Management Unit (MMU)
|
|
|
- Walter Botelho Martins
- 9 Há anos
- Visualizações:
Transcrição
1 Gestão de memória - Memory Management Unit (MMU) A distinção entre espaço de edereçamento virtual e espaço de endereçamento físico é fundamental na eficiente gestão do recurso memória física (RAM) por parte dos sistemas operativos. Há que atender nomeadamente a: protecção partilha memória virtual Criar a ilusão que cada processo tem disponível memória física para todo todo o seu espaço de endereçamento A ilusão é conseguida criando uma extensão em disco da memória disponível. Conseguir executar o maior de número de programas possível mantendo uma celeridade de execução global satisfatória (evitar trashing). A concretização destes objectivos com um misto de mecanismos hardware e políticas e algoritmos implementados pelo SO. Nesta primeira parte iremos estudar os mecanismo hardware de suporte, a chamada MMU Sistemas Operativos 1
2 Arquitecturas de MMU Suporte hardware à construção de espaços de endereçamento virtual Arquitectura Segmentada Arquitectura Paginada Arquitectura Segmentada/Paginada Espaço de endereçamento virtual Memória física MMU Sistemas Operativos 2
3 Visão aplicacional de arquitectura segmentada Na arquitectura segmentada os segmentos são visíveis às aplicações e resultam de um modelo de programação orientada à organização do código e dados em módulos, ocupando segmentos distintos. Daqui resultam mecanismo de ponteiros necessariamente mais sofisticados: Ex: necessidade de ponteiros dentro do mesmo segmento, que apenas necessitam de offset e ponteiros para segmentos externos, que têm de incluir número de segmento e offset. Segmentos aplicacionais dentro de um processo.o espaço virtual é segmentado Memória Segmentos Físcos (SF) MMU para Segmentação SFN SF1 Espaço livre Espaço ocupado Sistemas Operativos 3
4 Arquitectura Segmentada (Segmentação) Endereço Virtual Segmentado RAM S n-1 Selector S 0 O n-1 Offset O 0 Tabela de Descritores de segmento + Endereço Físico Segmento Físico Registo interno, alterável por instrução privilegiada, que indica o endereço físico da tabela de segmentos Limite Permissões A, M, P, R/W,E Endereço Base R/W r/w or r/o E - executable P- present A- accessed M- modified Sistemas Operativos 4
5 Características da Segmentação Vantagens Mapeamento simples o que reduz a complexidade do hardware. A associação de uma cache de segmentos em uso evita o acesso constante à tabela de descritores. Facilita a recolocação de código e dados. Facilita a criação de regiões de memória partilhada entre processos. Desvantagens Modelo de ponteiros complexo. Gestão mais complexa da memória disponível. O facto dos blocos a gerir terem dimensões variáveis gera problemas já vistos na implementação de heaps, nomeadamente a fragmentação externa. Implementação de memória virtual pouco eficiente, devido ao tempo dispendido em escritas/leituras do disco para segmentos grandes (> 64KB) Sistemas Operativos 5
6 Visão aplicacional de arquitectura paginada Na arquitectura paginada as páginas são transparentes às aplicações: O espaço de endereçamento que as aplicações vêm é sempre linear, tal como o espaço de endereçamento físico. A organização lógica nada tem a ver com a organização física (ex: uma instrução ou uma variável global podem começar no final de uma página e terminar na página seguinte ocupando endereços físicos não adjacentes. Páginas lógicas e páginas físicas têm sempre a mesma dimensão. O espaço virtual é linear, dividido, de forma transparente, em páginas lógicas (ou virtuais), de dimensão constante Memória física MMU Para paginação Espaço livre Espaço ocupado O tamanho das pág físicas (page frames) é igual ao das páginas virtuais Sistemas Operativos 6
7 Arquitectura Paginada (Paginação) A N Endereço virtual linear Número da Página Offset A 0 RAM (page frames) Tabela de Páginas Índice da PTE Registo interno que indica o endereço físico da tabela de páginas Page Table Entry Flags Page Frame Number Endereço Base da Page Frame Page frame Sistemas Operativos 7
8 Arquitectura Paginada (exemplo para x86) tabela de páginas de 1º nível (page directory) tabelas de páginas de 2º nível Memória física (page frames) Flags Page Frame Number 0 Flags Page Frame Number 0 Page Frame CR index 1 index 2 offset Endereço virtual linear Sistemas Operativos 8
9 Entrada de tabela de páginas PTE (Page Table Entry) (exemplo para i386) bits mais significativos do endereço da page frame Available 0 0 D A 0 0 S R / / P U W P Present (indica que a página está associada a uma page frame) R/W Read/Write (indica se a página pode ser modificada) S/U Supervisor/User (indique que a página pode ser usada em user mode) 0 bits reservados (já utilizados em versões mais recentes do CPU) Bits alterados automaticamente pela MMU: A Acessed (indica que a página for acedida) D Dirty (indica que a página foi modificada Available Disponíveis para uso pelo Sistema Operativo Sistemas Operativos 9
10 Arquitectura Segmentada/Paginada (exemplo para x86) Endereço Virtual Segmentado 15 Selector 0 31 Tabela de Descritores (GDT,LDT) Offset RAM (page frames) Descritor de Segmento Endereço Base + 0 PTE 1023 PTE Page frame Endereço virtual linear Offset CR Sistemas Operativos 10
11 Exercício Considere um processador com endereços virtuais de 36 bits que utiliza uma estrutura de paginação de dois níveis. Os endereços virtuais são divididos em: 11 bits para a diretoria de páginas e 11 bits para as tabelas de páginas de 2º nível. Sabendo que as tabelas de páginas ocupam sempre uma página, indique: qual a dimensão das páginas e de cada PTE? quantas páginas existem no espaço de endereçamento virtual? Sistemas Operativos 11
12 Variantes em CPU s modernos da família x86 - Physical Address Extensions (PAE) 40 Page Frame Base PTEs passaram a 64 bits devido ao aumento para 40 do número de bits para especificar a page frame. O espaço de endereçamento físico passa a ter um máximo de 2 52 bytes. O espaço de endereçamento virtual mantem-se em 2 32 bytes, a que correspondem 2 20 páginas virtuais mapeadas agora em três níveis de tabelas Sistemas Operativos 12
13 Paginação na arquitectura x64 40 PTEs passaram a 64 bits devido ao aumento para 40 do número de bits para especificar a page frame. O espaço de endereçamento físico passa a ter um máximo de 2 52 bytes. O espaço de endereçamento virtual é agora de 2 48 bytes, a que correspondem 2 36 páginas virtuais mapeadas em quatro níveis de tabelas Sistemas Operativos 13
14 Paginação A necessidade da cache TLB (Translation Lookaside Buffer) O que fazer à TLB na comutação de processos? Retirado do livro Operating Systems de William Stallings, 6ª Edição Sistemas Operativos 14
15 Cache (de PTE s e de dados) - overall system Sistemas Operativos 15
16 Objectivos de aprendizagem Compreender e enunciar as principais características das arquitecturas segmentada e paginada. Identificar vantagens/desvantagens de cada um dos modelos. Nas arquitecturas paginadas: explicar a necessidade de existência de arquitecturas multi-nível explicar a necessidade da cache TLB sintetizar características da arquitectura (dimensões de PTE, de página (lógica e física), de espaços de endereçamento virtual e memória física, número de níveis, etc.), a partir de informações parcelares sobre a arquitectura. Enunciar e compreender as flags típicas presentes num PTE justificar as dimensões típicas das páginas nas arquitecturas actuais Sistemas Operativos 16
17 Bibliografia Stallings, Operating Systems, 6ª Ed. Cap. 8, Virtual Memory Secção 8.1, Hardware and Control Structures Solomon,Russinovitch- Windows Internal, 5ªEd Cap. 9, Memory Management Secção 9.6, Address Translation Sistemas Operativos 17
Gestão de memória - Memory Management Unit (MMU)
Gestão de memória - Memory Management Unit (MMU) A distinção entre espaço de edereçamento virtual e espaço de endereçamento físico é fundamental na eficiente gestão do recurso memória física (RAM) por
Gestão de Memória algoritmos e políticas
Gestão de Memória algoritmos e políticas Criação de espaços de endereçamento virtual com gestão eficiente (gasto mínimo) da memória física disponível O que carregar(colocar em memória física) e quando?
Gestão de Memória. Espaço de Endereçamento
Gestão de Memória Parte I Mecanismos Espaço de Endereçamento Conjunto de posições de memória que um processo pode referenciar E se referenciar outras posições de memória? HW de gestão de memória desencadeia
Gestão de Memória. Espaço de Endereçamento
Gestão de Memória Parte I Mecanismos Espaço de Endereçamento Conjunto de posições de memória que um processo pode referenciar Para ler, escrever ou executar E se referenciar outras posições de memória?
Espaço de Endereçamento
Gestão de Memória Parte I - mecanismos Sistemas Operativos 2015 / 2016 Espaço de Endereçamento Conjunto de posições de memória que um processo pode referenciar E se referenciar outras posições de memória?
Gerência de Memória. Endereçamento Virtual (1) Paginação. Endereçamento Virtual (2) Endereçamento Virtual (3)
Endereçamento Virtual (1) Gerência de Memória Paginação Espaço de endereçamento dos processos não linearmente relacionado com a física Cada vez que são usados, os endereços virtuais são convertidos pela
Modelação de algoritmos de substituição de páginas Anomalia Belady
Gestão de Memória 1. Conceitos Básicos 2. Swapping 3. Memória Virtual 4. Algoritmos de substituição de páginas 5. Modelação de algoritmos de substituição de páginas 6. Questões no desenho de sistemas de
GERENCIAMENTO DE PROCESSOS
GERENCIAMENTO DE PROCESSOS Sistema Monotarefa: Executa Espera (E/S) Executa Espera (E/S) Tempo O tempo de (E/S) é muito maior que o de processamento. O processador fica ocioso a maior parte do tempo. Março
Organização de um Sistema Operativo
Gestão de Memória 1. Conceitos Básicos 2. Swapping 3. Memória Virtual 4. Algoritmos de substituição de páginas 5. Modelação de algoritmos de substituição de páginas 6. Questões no desenho de sistemas de
MEMÓRIA LÓGICA E FÍSICA (1)
GERÊNCIA DE MEMÓRIA memória = vetor de palavras (ou bytes), cada uma com endereço próprio a memória é usada para armazenar os diversos programas em execução, bem como os dados sobre a execução dos programas
William Stallings Arquitetura e Organização de Computadores 8 a Edição
William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 8 Suporte do sistema operacional slide 1 Objetivos e funções Conveniência: Tornar o computador mais fácil de usar. Eficiência:
Sistemas Operacionais Aula 16 Memória Virtual
Sistemas Operacionais Aula 16 Memória Virtual Ivan da Silva Sendin [email protected] FACOM - Universidade Federal de Uberlândia Sistemas OperacionaisAula 16Memória Virtual p. 1 Memória Virtual - Definição
Sistemas Operativos Cap. VII Gestão Memória
Sistemas Operativos Cap. VII Gestão Memória Prof. José Rogado [email protected] Universidade Lusófona 7.1 Gestão de Memória Introdução Carregamento de Código Relocação Unidade de Gestão Memória
Gerência de Memória. Paginação
Gerência de Memória Paginação Endereçamento Virtual (1) Espaço de endereçamento dos processos não linearmente relacionado com a memória física Cada vez que são usados, os endereços virtuais são convertidos
Organização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Slide 1 Memória Virtual os primeiros computadores (início dos anos 60) tinham memória principal muito reduzida O PDP-1 funcionava com uma memória de 4096 palavras
Gerência de memória III
Gerência de memória III Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2016 1 / 45 Sumário 1 Memória Virtual Segmentação Paginação 2 Alocação de páginas
Memória virtual. Sistemas Segmentados
Memória virtual Sistema de memória virtual - aquele onde os endereços usados pelos programas podem ser distintos dos endereços físicos da memória central Os endereços que os programas usam são endereços
Memória. Gestão do espaço lógico Paginação Segmentação com paginação
Memória Gestão do espaço lógico Paginação Segmentação com paginação Paginação Divide-se a memória física em pequenos blocos de tamanho fixo chamados de páginas físicas (ou frames) o tamanho é uma potência
Espaço de Endereçamento
Gestão de Memória Parte I - mecanismos Sistemas Operativos 2011 / 2012 Espaço de Endereçamento Conjunto de posições de memória que um processo pode referenciar E se referenciar outras posições de memória?
AULA 14 - Memória Virtual
AULA 14 - Memória Virtual A idéia básica da memória virtual é permitir que programas muito maiores que a memória disponível possam ser executados. Para isso, em 1961 Fotheringham criou o método conhecido
Segmentação de Memória
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
SISTEMAS OPERACIONAIS. 2ª. Lista de Exercícios Parte 2
SISTEMAS OPERACIONAIS INF09344 - Sistemas Operacionais / INF02780 - Sistemas Operacionais / INF02828 - Sistemas de Programação II Prof a. Roberta Lima Gomes ([email protected]) 2ª. Lista de Exercícios Parte
AULA Nº 11 SISTEMAS OPERACIONAIS. Técnicas de Memória Virtual
AULA Nº 11 SISTEMAS OPERACIONAIS Técnicas de Memória Virtual 1 Contextualizando Vimos Introdução ao Gerenciamento de Memória Agora Técnicas de Memória Virtual 2 O que é Memória Virtual (MV)? É uma técnica
Sumário. Sistemas Operativos 1
Sumário Requisitos mínimos do hardware para suportar um SO protegido (ex: Windows/Linux) Mecanismos hardware de suporte nas arquitecturas x86/x64 Sequência de chamada de serviços sistema no Windows a 32
Sistemas Operativos 7ª parte - Gestão de Memória
Sistemas Operativos 7ª parte - Gestão de Memória Prof. José Rogado [email protected] Prof. Pedro Gama [email protected] Universidade Lusófona Revistos para a LIG por Dr Adriano Couto 1 Gestão de Memória
Capítulo 8: Gestão de Memória
Capítulo 8: Gestão de Memória SUMÁRIO: Conhecimentos de base Gestão de memória? Porquê? Amarração de instruções e dados à memória Endereços lógicos e físicos Locação contígua Paginação Segmentação Segmentação
Sistemas Operacionais Gerenciamento de Memória. Carlos Ferraz Jorge Cavalcanti Fonsêca
Sistemas Operacionais Gerenciamento de Memória Carlos Ferraz ([email protected]) Jorge Cavalcanti Fonsêca ([email protected]) Memória Física vs. Memória do Programa Memória P Física Tamanho dos softwares
Sistemas Operacionais Memória Virtual
Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Memória Virtual Prof. José Gonçalves Dias Neto [email protected] Introdução Memória virtual
CURSO TÉCNICO EM INFORMÁTICA SISTEMAS OPERACIONAIS II MEMÓRIA VIRTUAL
CURSO TÉCNICO EM INFORMÁTICA SISTEMAS OPERACIONAIS II MEMÓRIA VIRTUAL O Processo passa a possuir um espaço de endereçamento virtual. Este espaço de endereçamento pode ser maior que a memória física. S.O.
Sistemas Opera r cionais Gerência de Memória
Sistemas Operacionais Gerência de Memória Gerência de Memória Idealmente, o que todo programador deseja é dispor de uma memória que seja grande rápida não volátil Hierarquia de memórias pequena quantidade
Gestão de Memória. Algoritmos de Gestão de Memória
Gestão de Memória Parte II Algoritmos Algoritmos de Gestão de Memória Tipos de decisões que o sistema operativo tem de tomar em relação à memória principal: Reserva: onde colocar um bloco de informação?
Capítulo 6 Gerência de Memória 103
Capítulo 6 Gerência de Memória 103 out. Mais tarde, ele sofrerá um swap-in, ou seja, será copiado novamente para a memória. Seu descritor de processo volta então para a fila do processador, e sua execução
Capítulo 8: Memória Principal. Operating System Concepts 8 th Edition
Capítulo 8: Memória Principal Silberschatz, Galvin and Gagne 2009 Objetivos Fornecer uma descrição detalhada das várias formas de organizar a memória do computador Discutir várias técnicas de gerenciamento
Fundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 6 Gerenciamento de Memória Prof. Galvez Considerações Gerais Multiprogramação implica em manter-se vários processos em memória Memória necessita ser alocada de
Sistemas Operacionais
Sistemas Operacionais Gerência de Memória Memória virtual Edson Moreno [email protected] http://www.inf.pucrs.br/~emoreno Slides baseados nas apresentações dos prof. Tiago Ferreto e Alexandra Aguiar
Infra-Estrutura de Software
Infra-Estrutura de Software Gerência de Memória Tópicos Gerenciamento básico de memória Troca de processos na memória (swapping) Memória virtual Troca de páginas/paginação (paging) Segmentação Gerenciador
Paginação e Segmentação. Memória Principal
Paginação e Segmentação Memória Principal Paginação Memória Principal Paginação A paginação é um recurso gerenciado por Hardware; Ela divide a memória física em várias partes de tamanho igual, chamados
Gerenciamento de Memória
Gerenciamento de Memória Walter Fetter Lages [email protected] Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica ENG04008 Sistemas de Tempo Real Copyright
Gerenciamento de Memória
Gerenciamento de Memória Prof. Clodoaldo Ap. Moraes Lima 1 Segmentação Objetivo Melhorar o aspecto de localidade de referência em sistemas de memória virtual Em sistema paginado, os itens que são transferidos
Gestão de Memória em Arquitecturas RISC
Artigo de Síntese Cadeira de Microprocessadores Gestão de Memória em Arquitecturas RISC Maio de 2002 Ana Rita Varela, 45086 Filipa Martins Soares, 45135 Gestão de Memória em Arquitecturas RISC 1 Introdução
SSC0640 Sistemas Operacionais I
SSC0640 Sistemas Operacionais I 15ª Aula Gerenciamento de Memória Profa. Sarita Mazzini Bruschi [email protected] Slides adaptados de Marcos José Santana / Regina H. C. Santana / Luciana A. F. Martimiano
ESTRATÉGIAS DE ALOCAÇÃO AULA 11 Sistemas Operacionais Gil Eduardo de Andrade
ESTRATÉGIAS DE ALOCAÇÃO AULA 11 Sistemas Operacionais Gil Eduardo de Andrade O conteúdo deste documento é baseado no livro do Prof. Dr. Carlos Alberto Maziero, disponível no link: http://dainf.ct.utfpr.edu.br/~maziero
UNIX Gerência de Memória
UNIX Gerência de Memória Introdução Unix implementado sobre muitos computadores diferen tes baseada, segmentada, paginada, segmentada/paginada A gerência de memória garante: Proteção do espaço de endereçamento
Gerência de Memória Memória Virtual e Paginação
Memória Virtual e Paginação Carlos Gustavo A. da Rocha Memória virtual O tamanho das memórias aumenta rápido :) Mas o tamanho dos softwares aumenta mais rápido :( Devido a isto os SOs devem ser capazes
Aula 12. Gerência de Memória - Paginação
Aula 12 Gerência de Memória - Paginação 11 Gerência de memória- o contexto da paginação 12 O que é a paginação 13 Implementação 14 Referências: Capítulo 9 (94) O contexto da paginação Revisão de gerência
Gerenciamento de Memória
Gerenciamento de Memória Prof. Alexandre Beletti Ferreira Gerência de Memória Sistemas Monoprogramáveis = gerenciamento simplificado Sistemas Multiprogramáveis = gerenciamento crítico (muitos usuários
Reserva de memória não-contígua significa que a memória atribuída a um objecto pode ser composta de bocados espalhados pela memória física.
Gestão de Memória Não-Contígua Reserva de memória não-contígua significa que a memória atribuída a um objecto pode ser composta de bocados espalhados pela memória física. Embora os endereços virtuais sejam
Gestão de Memória. mecanismos de gestão de memória protecção da memória algoritmos de gestão de memória. P. Ferreira/J. A. Marques - INESC/IST 01/02 1
Gestão de Memória mecanismos de gestão de memória protecção da memória algoritmos de gestão de memória 1 Mecanismos de Gestão de Memória 2 Objectivos e Organização da Gestão de Memória objectivo: Gerir
Sistemas Operacionais Aula 12: Gerência de Memória. Ezequiel R. Zorzal
Sistemas Operacionais Aula 12: Gerência de Memória Ezequiel R. Zorzal [email protected] www.realidadeaumentada.com.br Objetivos Fornecer uma descrição de várias maneiras de organizar o hardware de memória.
Administração de Memória
Administração de Memória 4.1 Administração básica de memória 4.2 Swapping 4.3 Memória Virtual 4.4 Algoritmos de substituição de páginas 4.5 Modelando algoritmos de substituição de páginas 4.6 Tópicos de
Gerenciamento de memória Memória Virtual
Sistemas Operacionais Gerenciamento de memória Memória Virtual Capítulos 8 Operating Systems: Internals and Design Principles W. Stallings Requisitos Memória Virtual e Paginação referências em um processo
LISTA DE EXERCÍCIOS 02
FACULDADE: CENTRO UNIVERSITÁRIO DE BRASÍLIA UniCEUB CURSO: CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: SISTEMAS OPERACIONAIS CARGA HORÁRIA: 75 H. A. ANO/SEMESTRE: 2016/01 PROFESSOR: EDUARDO FERREIRA DOS SANTOS HORÁRIOS:
Segmentação com paginação Intel 386. Esquema de tradução de endereço Intel 386
Segmentação com paginação Intel 386 O processador Intel 386 usava segmentação com paginação para gerenciamento de memória com um esquema de paginação em dois níveis. Esquema de tradução de endereço Intel
Memória Virtual. Adriano J. Holanda 1/3/2016
Memória Virtual Adriano J. Holanda 1/3/2016 Paginação Páginas O SO lida com páginas de memória física ao invés de bytes ou palavras. As páginas são gerenciadas pela MMU (Memory Management Unit Unidade
Capítulo 9: Memória Virtual. Operating System Concepts 8 th Edition
Capítulo 9: Memória Virtual Silberschatz, Galvin and Gagne 2009 Objetivos Descrever os benefícios de um sistema de memória virtual Explicar os conceitos de paginação sob demanda, algoritmo de substituição
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 10 Gerência de Memória Virtual Cap 10 Gerência de Memória Virtual 1 Sumário Introdução Espaço de Endereçamento Virtual
Módulo 3 - Estrutura e configuração de Sistemas Operativos monoposto
Módulo 3 - Estrutura e configuração de Sistemas Operativos monoposto 20-05-2009 - Aula nº 121,122 Funções de um Sistema Operativo Gestão do processador ao nível da sua planificação Gestão da Memória Gestão
7 Mecanismos de gestão de memória. Prof. Ricardo Silva
7 Mecanismos de gestão de memória Prof. Ricardo Silva Introdução Um programa reside no disco sob a forma de ficheiro executável Para ser executado, o programa tem de ser colocado em memória e associado
