A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Professor: Fabricio Farias

Apresentações semelhantes


Apresentação em tema: "Professor: Fabricio Farias"— Transcrição da apresentação:

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


Carregar ppt "Professor: Fabricio Farias"

Apresentações semelhantes


Anúncios Google