Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouElza Neusa Desconhecida Fontes Alterado mais de 8 anos atrás
1
zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE
2
zeque - Grad. CC2 Sistemas Operacionais l Gerenciamento do Espaço Plano de Apresentação Introdução Armazenamento Hierarquia de Memória Memória Real Memória Virtual Memória Real x Memória Virtual Mapeamento de Endereços Espaço de Endereçamento Virtual Funcionamento de Programas Introdução Relocação Compartilhamento Proteção Objetivos Estratégias Particionamento da Memória Partições Fixas Partições Variáveis Tradução de Endereços
3
zeque - Grad. CC3 Sistemas Operacionais l Gerenciamento do Espaço Plano de Apresentação (cont.) Suporte de Hardware para a Tradução buffers de tradução look- aside registradores base-limite Organização da Memória Paginação Segmentação Paginação/Segmentação Multiníveis Operação em modo Dual Modo Sistema Modo Usuário Swapping Alocação de Memória quando carregar? onde carregar? quem retirar? Políticas de Substituição randômica FIFO ótima não, menos e mais usada recentemente
4
zeque - Grad. CC4 Sistemas Operacionais l Gerenciamento do Espaço Plano de Apresentação (cont.) Políticas de Substituição segunda chance cíclica relógio de páginas péssima Conjunto de Trabalho Objetivos Descrição Outras Características da Paginação
5
zeque - Grad. CC5 Armazenamento l principal ou primário usado para guardar instruções e dados de um programa durante o tempo de execução do mesmo l secundário ou on-line usado para guardar com baixo custo, grandes volumes de programas e dados, tornando-os disponíveis para um pronto processamento l terciário ou off-line usado para guardar com baixo custo e abundância, grandes volumes de programas e dados não disponíveis para um pronto processamento
6
zeque - Grad. CC6 Hierarquia de Memória Caching x Arquivamento Caching x Arquivamento REGISTRADORES MEMÓRIA CACHE MEMÓRIA PRINCIPAL MEMÓRIA SECUNDÁRIA MEMÓRIA TERCIÁRIA arquivamento caching
7
zeque - Grad. CC7 Hierarquia de Memória Quanto mais baixo for o nível da memória: Quanto mais baixo for o nível da memória: l Tempo de Acesso menor é o tempo de acesso l Velocidade de Acesso maior é a velocidade de acesso l Capacidade de Armazenamento menor é a capacidade de armazenamento l Custo de Armazenamento maior é custo por bit armazenado
8
zeque - Grad. CC8 Hierarquia de Memória Tabela Tabela
9
zeque - Grad. CC9 Memória Real l também conhecida como Memória Principal ou Memória Primária l memória contínua suprida pelo hardware l endereços disponíveis na memória principal são chamados de endereços reais l espaço de endereços reais é o intervalo de endereços disponíveis em uma memória principal
10
zeque - Grad. CC10 Memória Virtual l memória contínua vista pelos processos l espaço de endereçamento virtual é o intervalo de endereços que um processo pode referenciar l dissociação entre espaço de endereçamento de um processo do espaço de endereços da memória principal l endereços referenciados por um processo são chamados de endereços virtuais l endereços virtuais devem ser mapeados em endereços reais durante o tempo de execução
11
zeque - Grad. CC11 Memória Real x Memória Virtual Memória Real Memória Real l física l sem proteção l tamanho limitado l compartilhamento visível l compartilhamento de dados Memória Virtual l abstrata l protegida l tamanho ilimitado l compartilhamento transparente l compartilhamento de dados e de código x
12
zeque - Grad. CC12 Mapeamento de Endereços l endereço virtual deve ser mapeado em endereço real para a execução da instrução que o referencia Memória Virtual Memória RealMecamismo de Mapeamento de Endereços
13
zeque - Grad. CC13 Espaço de Endereçamento Virtual Localização Localização l parte na memória principal l parte no disco Swapping Swapping l troca entre partes de programas que se encontram em memória principal e disco (memória secundária)
14
zeque - Grad. CC14 Funcionamento de Programas Fluxo de Execução Fluxo de Execução l programas não executam randomicamente REGRA 90-10 REGRA 90-10 l programas gastam 90% do seu tempo em 10% do seu código
15
zeque - Grad. CC15 Funcionamento de Programas Princípio da LOCALIDADE Princípio da LOCALIDADE l execução futura se comporta como execução passada l localidade temporal serão referenciadas as mesmas localidades que foram referenciadas no passado recente: laços de execução, subrotinas, pilhas e contadores l localidade espacial serão referenciadas as localidades próximas daquelas referenciadas no passado recente: varreduras de arrays, execução de código seqüencial, estilos de descrições de variáveis relacionadas próximas umas das outras
16
zeque - Grad. CC16 Relocação l capacidade que um processo tem de poder executar uma das suas partições em qualquer partição da memória que possa contê-la o espaço de endereços de um processo pode ser alocado em endereços físicos distintos l suporte de hardware registradores: base - limite
17
zeque - Grad. CC17 Compartilhamento l permissão de acesso controlado a uma região de memória reentrância compartilhamento l redução da quantidade de memória necessária ao armazenamento
18
zeque - Grad. CC18 Proteção l garantir que o espaço de endereços de um processo não será invadido por um processo não autorizado do Sistema Operacional dos processos de usuário l suporte de hardware registradores limite registrador baixo (base) ou alto (limite) registrador de tamanho tradução de endereços operação em modo dual
19
zeque - Grad. CC19 Gerenciamento do Espaço Objetivos Objetivos l obter o melhor uso dos recursos de armazenamento l conhecer o uso da memória feito pelos processos l esconder detalhes do hardware e com isso criar a ilusão que a memória não tem limite l dar a cada processo a impressão que ele executa sozinho apesar de ter outros processos em execução l permitir que processos possam ser executados independentemente da necessidade de memória
20
zeque - Grad. CC20 Gerenciamento do Espaço Estratégias Estratégias l de carga quando carregar uma porção do programa? por demanda por antecipação l de alocação onde carregar uma porção do programa? l de substituição qual a porção de um programa deve ser substituída?
21
zeque - Grad. CC21 Particionamento da Memória l Partições Fixas tradução e carga absolutas tradução e carga relocáveis SISTEMA OPERACIONAL APLICAÇÃO 2 APLICAÇÃO 1 000000 400000 ffffff MULTIPROGRAMAÇÃO MEMÓRIA FÍSICA SISTEMA OPERACIONAL APLICAÇÃO 000000 ffffff MONOPROGRAMAÇÃO SEM USO 999999
22
zeque - Grad. CC22 Particionamento da Memória l Partições Variáveis sem swapping com swapping Sistema Operacional processoA processoB processoD processoC processoE processoF livre Sistema Operacional processoA livre processoD processoC processoE processoF livre Sistema Operacional processoA processoB processoD processoC processoE livre processoF termina processoB termina
23
zeque - Grad. CC23 Particionamento da Memória l Partições Variáveis fragmentação causada por cargas de processos que não utilizam uma partição completamente união quando uma partição é liberada, ela é unida a partições livres adjacentes formando uma partição única compactação transferência de todas as partições ocupadas que seguem uma partição livre para a criação de uma única partição livre de grande tamanho
24
zeque - Grad. CC24 Tradução de Endereços l execução associada a referência à memória l toda referência à memória é traduzida de um endereço virtual em um endereço real CPU Tradução de Endereço Memória Física Endereço Virtual Endereço Físico Leitura/Escrita de dados
25
zeque - Grad. CC25 Tradução de Endereços Com Suporte do Hardware Com Suporte do Hardware Endereço Virtual Endereço Físico Tradução de Endereços CPU MMU Memória Física Mapeamento
26
zeque - Grad. CC26 Suporte de Hardware para a Tradução Mecanismos para tradução Dinâmica Mecanismos para tradução Dinâmica l tabelas de tradução l buffers de tradução look-aside l registradores base limite l relocação l proteção
27
zeque - Grad. CC27 Tabelas de Tradução Indica que partições da memória virtual se encontram na memória real e onde elas estão Indica que partições da memória virtual se encontram na memória real e onde elas estão l tamanho das tabelas x tamanho das partições maior a partição/menor a tabela overhead do mecanismo de tradução tempo de transferência da memória secundária necessidade de memória física l endereçamento bi-dimensional: v=(p,d) # Partição: pDeslocamento: d Endereço virtual: v
28
zeque - Grad. CC28 Buffers de Tradução Look-aside - TLB l evitar busca na tabela de páginas para traduções freqüentes CPU Memória Física Endereço Virtual Endereço Físico Leitura/Escrita de dados TLB? Tradução MMU Tradução de Endereço lembra não lembra
29
zeque - Grad. CC29 Registradores de BASE e LIMITE Endereço Virtual Endereço Físico limite + > ERRO base
30
zeque - Grad. CC30 Paginação Divisão do espaço de endereços em PÁGINAS de igual tamanho Divisão do espaço de endereços em PÁGINAS de igual tamanho Divisão da memória principal em PÁGINAS de igual tamanho às do espaço de endereços (MOLDURAS DE PÁGINAS) Divisão da memória principal em PÁGINAS de igual tamanho às do espaço de endereços (MOLDURAS DE PÁGINAS)
31
zeque - Grad. CC31 Paginação moldura #deslocamento endereço físico tabela de páginas moldurapermissãopresença 00 01. n página #deslocamento endereço virtual endereço da tabela de páginas tamanho da tabela de páginas ERRO>
32
zeque - Grad. CC32 Segmentação Divisão do espaço de endereços em SEGMENTOS Divisão do espaço de endereços em SEGMENTOS l um segmento é uma região lógica de memória contígua l segmentos: procedimentos, módulos de programa, dados
33
zeque - Grad. CC33 Segmentação endereço físico segmento # deslocamento endereço virtual tabela de segmentos iníciotamanhopermissão 00 01. n presença endereço físico endereço da tabela de segmentos ERRO > +
34
zeque - Grad. CC34 Paginação / Segmentação Fragmentação Fragmentação l externa: espaço livre entre regiões de memória alocadas l interna: espaço livre dentro de uma região de memória alocada
35
zeque - Grad. CC35 Paginação / Segmentação prós&contras prós&contras l segmentação + eficiente para endereços esparsos + de fácil compartilhamento - alocação complexa da memória l paginação + de fácil compartilhamento + alocação simples da memória - tabelas de páginas para endereços esparsos
36
zeque - Grad. CC36 Multiníveis Árvore de Tabelas Árvore de Tabelas l o mais baixo nível: páginas l mais alto níveis: tipicamente segmentos moldura #deslocamento endereço físico página #deslocamento endereço virtual segmento # moldura #deslocamento endereço físico tabela de páginas moldurapermissãopresença 00 01. n tabela de segmentos end tab de págtam tab pág 00 01. n > ERRO
37
zeque - Grad. CC37 Multiníveis Alocação de Tabelas Alocação de Tabelas l de segmentos: usualmente em registradores especiais l de páginas: usualmente na memória principal prós&contras prós&contras + alocar somente as entradas necessárias das tabelas de páginas + fácil alocação da memória + compartilhamento a nível de segmento ou página - um apontador para cada página - tabelas de páginas devem ser contíguas - duas consultas às tabelas por referência à memória
38
zeque - Grad. CC38 Operação em Modo Dual Modos de execução suportados pelo hardware Modos de execução suportados pelo hardware Modos Modos l Modo de Sistema l Modo de Usuário
39
zeque - Grad. CC39 Modo Usuário SISTEMA USUÁRIO SISTEMA USUÁRIO l executando programa de usuário cria processo aloca e inicia espaço de endereços carrega programa em memória aloca e inicia tabela de tradução executa programa inicializa registradores inicializa apontadores para tabela de tradução inicializa a palavra de status do processador inicia a execução do programa
40
zeque - Grad. CC40 Modo Sistema Usuário Sistema Usuário Sistema l voluntário: Chamada ao Sistema l involuntário: Interrupção/Exceção l quando de uma Chamada ao Sistema, Interrupção ou Exceção: passa o status do sistema para o modo sistema muda a pilha de execução para o kernel salva o contador de programa atual desvia para o kernel salva o estado anterior de todos os registradores usados
41
zeque - Grad. CC41 SWAPPING transferência de processos entre a memória principal e a memória secundária transferência de processos entre a memória principal e a memória secundária Espaço de Toca: espaço de memória secundária reservado ao SWAPPING Espaço de Toca: espaço de memória secundária reservado ao SWAPPING swapping in swapping in l secundária principal swapping out swapping out l principal secundária
42
zeque - Grad. CC42 Alocação de Memória Quando carregar na memória ? Quando carregar na memória ? Onde Carregar na memória ? Onde Carregar na memória ? Quem deve ser substituído na memória ? Quem deve ser substituído na memória ?
43
zeque - Grad. CC43 Quando Carregar? Carregamento por demanda Carregamento por demanda Carregamento por antecipação Carregamento por antecipação
44
zeque - Grad. CC44 Quando Carregar? mecanismo de carregamento mecanismo de carregamento l se presente então acessa a memória senão PAGE FAULT ou TLB MISS solicita carregamento ao SO escolhe memória para carregamento, se memória não disponível então escolhe memória a ser substituída reescrevendo, se necessário, dessa memória para o disco e atualizando a sua tabela e TLB carrega do disco para memória atualiza tabela l transparente aos processos: hardware deve salvar instrução de falha
45
zeque - Grad. CC45 Onde Colocar? Paginação Paginação l simplicidade l o carregamento de uma página virtual é feito sobre uma MOLDURA qualquer da memória
46
zeque - Grad. CC46 Onde Colocar? Segmentação Segmentação l políticas de alocação melhor ajuste - best fit: escolhe o segmento de memória disponível que cause o menor fragmento externo lista de segmentos em ordem crescente de tamanhos pior ajuste - worst fit: escolhe o segmento de memória disponível que cause o maior fragmento externo lista de segmentos em ordem decrescente de tamanhos primeiro ajuste - first fit: escolhe o primeiro segmento de memória disponível que possa conter o segmento (variação: primeiro ajuste circular) lista de segmentos em ordem crescente de endereços
47
zeque - Grad. CC47 Quem Retirar? substituição substituição l decisão sobre quais são as páginas que devem ser retiradas da memória (SWAPPING OUT) que novas páginas sejam carregadas (SWAPPING IN) l candidatas ao SWAPPING páginas de processos já concluídos páginas de processos bloqueados há muito tempo páginas de processos prontos mas que foram acessados há muito tempo páginas que não foram modificadas desde que foram carregadas
48
zeque - Grad. CC48 Políticas de Substituição decisão sobre qual a moldura a ser substituída decisão sobre qual a moldura a ser substituída
49
zeque - Grad. CC49 Substituição Randômica l selecionar randomicamente uma moldura de página a ser substituída descrição simples método pobre: páginas retiradas podem estar frequentemente em uso gerando alta taxa de page faults
50
zeque - Grad. CC50 Substituição FIFO l seleciona a página que foi carregada a mais tempo manter lista de todas as páginas da memória por ordem cronológica de carregamento cada página reside na memória por um mesmo tempo retira páginas que podem estar sendo usadas pesadamente
51
zeque - Grad. CC51 Substituição Ótima (MIN ou OPT) l selecionar a moldura que será referenciada no futuro mais distante método ótimo por apresentar a mais baixa taxa de page faults não é implementável pela sua incapacidade de estabelecer o futuro de acessos primeira execução para coletar os tempos de referência execução segunda para medir o desempenho da política utilização comparativa sem utilidade prática
52
zeque - Grad. CC52 Não Usada Recentemente - NRU NRU - not recently used NRU - not recently used l selecionar a moldura considerando o seu passado recente de acesso relógio para marcar o passado recente é necessário (“agora” e “antes”) implementação inclui bits R (referência: leitura/escrita) e M (modificação: escrita) para cada página classificação das páginas segundo o estado dos bits R e M l fácil, eficiente, performante l variações: estratégias para zerar o relógio lista circular para escolha mais justa consideração de timestamp
53
zeque - Grad. CC53 Menos Usada Recentemente - LRU LRU - least recently used LRU - least recently used l substitui a página que não está sendo usada há mais tempo é uma aproximação da política ótima necessidade de hardware especial para a sua implementação ou de software que o substitua devido a uma implementação cara, uma aproximação desta política é usualmente escolhida classificação das páginas onde as páginas mais usadas recentemente estão na frente e as menos usadas estão atrás
54
zeque - Grad. CC54 Mais Usada Recentemente - MRU MRU - most recently used MRU - most recently used l substitue a página que foi acessada há menos tempo considera que uma página usada recentemente não será mais usada no futuro próximo método pobre
55
zeque - Grad. CC55 Segunda Chance Cíclica l dá outra canche à página que deveria ser substituída e que foi recentemente usada manter lista ordenada de páginas se página a ser substituída foi referenciada no passado recente, marca esta página como “não referenciada” e a coloca no final da lista se na busca de uma página para substituição uma página a qual foi dada uma outra chance for encontrada, esta página será a escolhida aproximação da política LRU
56
zeque - Grad. CC56 Relógio de Páginas l variação da segunda chance cíclica manter lista circular de páginas
57
zeque - Grad. CC57 Substituição Péssima (MAX ou PES) l selecionar a moldura que será referenciada no futuro mais próximo método péssimo por apresentar a mais alta taxa de page faults não é implementável pela sua incapacidade de estabelecer o futuro de acessos primeira execução para coletar os tempos de referência execução segunda para medir o desempenho da política utilização comparativa sem utilidade prática
58
zeque - Grad. CC58 Conjunto de Trabalho Objetivo Objetivo l redução da taxa de page faults Descrição Descrição l estimar páginas de um processo que estão sendo usadas correntemente l um conjunto de trabalho é constituído pelas páginas correntemente usadas de um processo
59
zeque - Grad. CC59 Conjunto de Trabalho Descrição Descrição l conjunto de trabalho e estado de processo um processo pronto é aquele pode ter o seu conjunto de trabalho residindo na memória l conjunto de trabalho e substituição um conjunto de trabalho deve ser substituído integralmente por outro conjunto de trabalho l tamanho do conjunto de trabalho estático: quantidade fixa dinâmico: número de páginas varia com o tempo
60
zeque - Grad. CC60 Relativos à Paginação trashing trashing l sobrecarga da memória, páginas são retiradas da memória mesmo que elas ainda sejam referenciadas no futuro próximo locality locality l durante uma fase de execução de programa, as referencias são feitas unicamente sobre um pequeno número de páginas prefetching / prepaging prefetching / prepaging l carregamento das páginas de um processo antes mesmo que elas sejam referenciadas
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.