Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Professor: Fabricio Farias
Concurso Público para Provimento de Cargo Docente da Carreira de Magistério Superior do Instituto de Tecnologia/Campus Belém, da Universidade Federal do Pará. Edital n° 277/2016 Gerência de memória: definições e conceitos fundamentais, swapping, memória virtual e paginação e segmentação de memória Professor: Fabricio Farias
2
Objetivos e Metodologia
O objetivo principal da aula de hoje é ensinar os principais conceitos relacionados ao estudo de gerenciamento de memória. A metodologia utilizada é composta por explanação teórica do conteúdo, apresentação de exemplos e resolução de exercícios.
3
Conhecimentos Prévios Desejados
Arquitetura de computadores [1]. Sistemas operacionais – Processos [2][3]. Estrutura de dados [4].
4
Agenda Introdução Gerenciamento básico da memória
Troca (swapping) de processos Memória virtual Paginação e algoritmos de substituição de páginas Segmentação Resumo da aula Exercícios Referências
5
Introdução Em 1946, J. von Neumann já postulava que: Idealmente, o que todos desejavam é dispor de uma memória que fosse grande rápida não volátil [5] Hierarquia de memórias [1] pequena quantidade de memória rápida, de alto custo - cache quantidade considerável de memória principal de velocidade média, custo médio gigabytes de armazenamento em disco de velocidade e custo baixos O gerenciador de memória trata a hierarquia de memórias
6
Introdução O papel do gerenciador de memória é:
Manter o endereço para a informação em uso; Alocar memória para os processos quando eles precisam; Liberar a memória quando não mais utilizada. A abstração de uma memória é o seu Endereço. Divisão dos sistemas de gerenciamento de memória: Aquele que movem processo de um lado para o outro entre a memória principal e o disco durante a execução (swapping e paginação); e Aquele que não o fazem.
7
Tipos básicos de gerenciamento de memória
Monoprogramação sem troca de processos ou paginação Multiprogramação com partições fixas
8
Três maneiras simples de organizar a memória
Gerenciamento Básico de Memória Monoprogramação sem Troca de Processos ou Paginação Sistemas MS-DOS Três maneiras simples de organizar a memória - um sistema operacional e um processo de usuário
9
Multiprogramação com Partições Fixas
60K 50K Limitações de espaço físico. - O programa não pode crescer em dados e instruções. ? 100K 80K 20K 50K 180K 100K 80K 30K Partições fixas de memória filas de entrada separadas para cada partição fila única de entrada
10
Solução Proposta: Técnicas de Troca de Processos
Duas técnicas são empregadas: Troca (swapping) de processo: Trazer todo o processo para a memória, processar e devolver todo; Memória virtual: Permite que programas possam ser processados mesmo que estejam parcialmente na memória.
11
Troca (swapping) de Processos
12
Troca (swapping) Definição: Consiste em trazer o processo de forma integra para memória, executar ele por determinado quanta de tempo e devolver para o disco. Processos ociosos são armazenados no disco, então eles não usam qualquer memória quando eles não estão executando.
13
Troca de Processos (1) Não possui partição de tamanho fixo
Os processos podem crescer. Necessário criar espaços para garantir o crescimento. Alterações na alocação de memória à medida que processos entram e saem da memória Regiões sombreadas correspondem a regiões de memória não utilizadas naquele instante
14
Troca de Processos (2) Alocação de espaço para uma área de dados em expansão Alocação de espaço para uma pilha e uma área de dados, ambos em expansão
15
Gerenciamento de Memória com Mapas de Bits ou Listas
1,2,3,4,5 6,7,8 Parte da memória com 5 segmentos de processos e 3 segmentos de memória livre pequenos riscos simétricos denotam as unidades de alocação regiões sombreadas denotam segmentos livres Mapa de bits correspondente Mesmas informações em uma lista encadeada
16
Memória Virtual
17
Memória Virtual Criado por Fotherringham em 1961 para substituir os overlays. Definição: Na memória virtual cada programa tem seu próprio espaço de endereço, que é dividido em pedaços chamados de páginas. Cada página é uma faixa contínua de endereços.
18
Memória Virtual Paginação (1)
Localização e função da MMU
19
Paginação (2) Sem memória virtual: Com memória virtual: CPU MMU
1 1 1 1 2 2 MMU 2 2 3 3 3 3 4 4 Memória física 5 5 6 6 7 7 Tabela de endereços de memória Memória física Tabela de endereços de memória Fonte da imagem do HD: Antes a tabela apontava para exatamente o endereço físico da memória Memória secundária
20
Tabela de endereços de memória
Paginação (3) Exemplo de Tratamento de falha de página: O usuário deseja acessar a informação armazenada na posição 7 da tabela de endereços. Não está na memória física CPU 1 1 MMU 2 2 3 3 4 Memória física 5 6 Valor armazenado em 2 é transmitido para o HD 7 Tabela de endereços de memória Fonte da imagem do HD: Memória secundária
21
Tratamento de faltas de página com paginador externo
22
Tabela de Páginas (1) A relação entre endereços virtuais e endereços físicos de memória dada pela tabela de páginas
23
Tabela de Páginas (2) Exemplo: Suponhamos que o usuário deseje acessar o endereço indicado como 1 na memória virtual. MMU 1 2 3 ..... HD MV MP MMU 1 2 3 ..... HD MV MP MMU 1 2 3 ..... HD MV MP
24
Tabelas de Páginas (3) Operação interna de uma MMU com 16 páginas.
25
Entrada típica de uma tabela de páginas
Tabelas de Páginas(3) Entrada típica de uma tabela de páginas
26
Algoritmos de Substituição de Páginas
27
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
28
O Algoritmo de Substituição de Página Ótimo
Substitui a página necessária o mais a frente possível ótimo mas não realizável Estimada através de... registro do uso da página em execuções anteriores do processo ... apesar disto ser impraticável
29
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
30
Algoritmo de Substituição de Página Segunda Chance (SC)
Operação do algoritmo segunda chance lista de páginas em ordem FIFO 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)
31
Algoritmo de Substituição de Página Relógio
32
Finalizando: 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
33
Segmentação
34
Segmentação Definição: É uma sequencia linear de endereços, de 0 até algum máximo que é dividido em espaços independentes. Segmentos diferentes podem e normalmente têm comprimentos diferentes.
35
Segmentação (1) Problema: Espaço de endereçamento unidimensional com tabelas crescentes Uma tabela pode atingir outra
36
Permite que cada tabela cresça ou encolha, independentemente
Segmentação (2) Solução: Permite que cada tabela cresça ou encolha, independentemente
37
Comparação entre paginação e segmentação
38
Implementação de Segmentação Pura
(a)-(d) Desenvolvimento de fragmentação externa (e) Remoção da fragmentação via compactação
39
Resumo da Aula Introdução sobre a importância de gerência de memória
Conceitos sobre tipos básicos de memórias Troca (swapping) Memoria virtual Paginação Segmentação Exercícios
40
Exercícios Faça uma comparação entre gerenciamento de memórias baseado em mapa de bits e listas encadeadas. Cite quais são as vantagens e desvantagens de cada uma das duas (mapa e lista). Explique detalhadamente os gerenciamentos básicos de memória. Explique o swapping e apresente um diagrama que exemplifique o seu funcionamento. Explique o overlay e seu funcionamento. Explique graficamente o funcionamento da memória virtual. Cite 3 diferenças entre a paginação e a segmentação.
41
Referências [1] A. Tanenbaum, et al., Organização estruturada de computadores, pearson, 5ª edição, [2] A. Tanenbaum, et al., Sistemas operacionais modernos, Pearson, 4ª edição, [3] Deitel & Choffens. Sistemas Operacionais, 3ª edição. Prentice- Hall, [4] R. Tamassia, et al., Algoritmos & estrutura de dados, Bookman, 5ª edição, [5] A. W. Burks, H. H. Goldstine e J. von Neumann, Preliminary Discussion of the Logical Design of an Eletronic Computing Instrument (1946).
42
Próxima aula Implementação prática de algoritmos de substituição de página em Java. Explicação teórica e prática sobre segmentação com paginação.
43
Obrigado! Profº Fabricio Farias
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.