Sistemas Operacionais. - Gerência de Memória -
|
|
- Júlio Galindo do Amaral
- 6 Há anos
- Visualizações:
Transcrição
1 Sistemas Operacionais - Gerência de Memória -
2 Memória Virtual É uma técnica sofisticada de gerência de memória As memórias principal e secundária são combinadas, dando ao usuário a impressão de existir uma memória muito maior do que a MP O conceito da memória virtual está em desvincular o endereçamento feito pelo programa dos endereços físicos da MP Assim, o programa não fica limitado ao tamanho da memória física disponível
3 Memória Virtual Anteriormente, vimos que o uso de registradores base e limite eram usados para criar uma abstração de espaços de endereçamento Porque usar a memória virtual? Ainda existe um outro problema: gerenciar programas que utilizam quantidades excessivas de memória Solução: usar a técnica de overlay? A técnica de overlay exige que o programador se preocupe em dividir o seu código de forma que os módulos possam ser trazidos para a memória de forma independente trabalho árduo e lento A ideia é atribuir esta tarefa ao sistema
4 Memória Virtual Um programa em um ambiente de memória virtual faz referência a endereços virtuais No momento da execução de uma instrução, o endereço virtual é traduzido para um endereço físico Esta tradução é chamada mapeamento O conjunto de endereços virtuais que um processo pode endereçar é chamado de espaço de endereçamento virtual Analogamente o conjunto de endereços reais é chamado espaço de endereçamento real
5 Espaço de endereçamento virtual Espaço de endereçamento real Memória Virtual O espaço de endereçamento virtual não possui relação direta com o espaço de endereçamento real Endereço virtual 0 Endereço virtual 1 Endereço virtual 2 Endereço virtual 3 Endereço virtual 4 Endereço virtual 5... Endereço virtual V Endereço real 0 Endereço real 1 Endereço real 2 Endereço real 3... Endereço real R Um programa pode fazer referência a endereços virtuais que estejam fora dos limites do espaço real
6 Mapeamento Nos sistemas modernos a tarefa de tradução de endereços virtuais é realizada pelo HW juntamente com o sistema operacional O dispositivo de HW responsável por esta tradução é conhecido como MMU (Memory Management Unit) O MMU é acionado sempre que é feita referência a um endereço virtual Cada processo tem seu próprio espaço de endereçamento virtual O mecanismo de tradução deve manter tabelas de mapeamento exclusivas para cada processo
7 Mapeamento O sistema deve fazer referência a tabela de mapeamento do processo em execução Espaço de endereçamento virtual de A Endereço virtual 1... Tabela de mapeamento de A Um registrador é usado para guardar o endereço da tabela de mapeamento corrente As tabelas mapeiam blocos de dados O tamanho do bloco da memória irá definir o número de entradas da tabela de mapeamento Processo A Espaço de endereçamento virtual de B Endereço virtual 1... Processo B Tabela de mapeamento de B Memória Principal
8 Memória Virtual Quando o programa é executado só uma parte do código fica residente na memória principal O restante do código fica na memória secundária até o momento em que for referenciado Assim, o sistema operacional utiliza a memória secundária como uma extensão da MP O sistema operacional deve ser responsável por Trazer parte do código referenciado que esteja na MP Escolher qual parte do código residente na MP ira sofrer um swap out
9 Paginação A memória virtual por paginação é uma técnica onde o espaço de endereçamento virtual e real são divididos em blocos do mesmo tamanho Divide a memória física em blocos de tamanho fixo chamados quadros (frames) Divide a memória lógica em blocos de mesmo tamanho chamados páginas Evita o problema de ajustar trechos de memória de tamanhos variáveis Nos esquemas anteriores as partições tinham tamanhos variáveis
10 Paginação Quando um processo precisa ser executado, suas páginas são carregadas em qualquer quadro disponível O mapeamento do endereço virtual em real é feito através da tabela de páginas Cada processo possui sua própria tabela de páginas A MMU é responsável por fazer a tradução Memória Virtual Página virtual 0 Página virtual 1 Página virtual Tabela de páginas ETP Memória Principal Página real 0 Página real 1... Página real R Memória Secundária Página virtual V
11 Paginação Cada endereço virtual é dividido em duas partes: número da página (p) e deslocamento dentro da página (d) O número da página é usado como índice da tabela de página, que conterá o endereço base de cada quadro (f) na memória física O endereço real é obtido combinando o endereço do frame (f) com o deslocamento dentro da página (d)
12 Paginação Exemplo: Memória lógica de 16 bytes (16 bytes = 128 bits = 2 7 bits) p p d d d d d Páginas de 4 bytes (4 bytes = 32 bits = 2 5 bits) Memória física de 32 bytes (32 bytes = 256 bits = 2 8 bits) f f f d d d d d Entrada da tabela de páginas possui 3 bits e pode referenciar até 2 3 frames
13 Paginação Em geral, uma entrada da tabela de páginas possui 4 bytes Com 4 bytes (32 bits) pode-se referenciar até 2 32 quadros Se o tamanho de um quadro é 4 Kbytes (4096 bits = 2 12 bits), então é possível endereçar: 2 12 x 2 32 = 2 44 bits = 4Tbytes
14 Tabela de Páginas Além da informação sobre a localização da página, a tabela de páginas possui outras informações como: Bit de validade: indica se uma página está (1) ou não (0) na memória principal Bit de proteção: indica qual tipo de acesso é permitido na página, onde 3 bits podem ser usados para habilitar e desabilitar cada uma das operações básicas em uma página (leitura, escrita e execução) Bit de modificação: indica 1 quando a página foi escrita na memória principal Bit de referência: indica 1 quando a página foi referenciada na memória principal
15 Paginação Quando um processo faz referência a um endereço virtual, a MMU verifica através do bit de validade se a página está na memória Se for feita referência a um endereço de uma página que não está carregada na MP, então ocorre um page fault (falha de página) Neste caso, o sistema transfere a página da memória secundária para a memória principal O número de page faults gerados por cada processo em um determinado intervalo de tempo é definido como taxa de paginação do processo Se a taxa de paginação dos processos atingir valores elevados, o excesso de operação de E/S poderá comprometer o sistema
16 Page fault Paginação Endereço virtual Memória Principal Tabela de páginas Bit de validade 0 Page in Memória secundária Tabela de páginas Memória Principal Bit de validade 1 Memória secundária
17 Política de Busca de Páginas Ao se carregar uma página para a memória pode-se adotar duas estratégias diferentes: paginação por demanda e paginação antecipada Paginação por Demanda As páginas do processo são transferidas da memória secundária para a principal apenas quando são referenciadas Leva para a MP apenas as páginas realmente necessárias à execução do programa
18 Política de Busca de Páginas Paginação Antecipada Além da página referenciada, carrega para a memória principal outras páginas que podem ser necessárias ao processo ao longo do processamento Se o programa estiver armazenado sequencialmente no disco, economiza-se tempo ao levar um conjunto de páginas Caso o programa não necessite da paginação antecipada, o sistema terá perdido tempo e ocupado memória desnecessariamente
19 Política de Busca de Páginas Pode se usar uma estratégia combinada: A técnica de paginação antecipada pode ser empregada no momento da criação de um processo Quando um processo é criado, diversas páginas do programa que estão na memória secundária devem ser carregadas para a MP gera um alto número de page faults Se o sistema optar por carregar um conjunto de páginas, a taxa de paginação do processo deverá cair imediatamente Ao diminuir o número de page faults, diminui-se o tempo gasto com operações de E/S e o desempenho do sistema aumenta
20 Working Set MP contém páginas de diferentes processos Durante a execução de um processo, algumas páginas são carregadas e outras são swapped out Ao se escolher uma página para ser retirada da MP, existe a possibilidade de enviar para MS uma página de outro processo, logo antes desta ser utilizada É importante reduzir a taxa de page faults, sem prejudicar os outros processos Quando o sistema gasta a maior parte do tempo fazendo swapping, ocorre um problema conhecido como thrashing
21 Working Set Para evitar o thrashing é necessário adivinhar qual parte de código será mais necessária no futuro princípio da localidade Princípio da Localidade: É a tendência do processador referenciar instruções e dados na memória principal localizados em endereços próximos Por exemplo, esta tendência pode ser justificada pela alta incidência de estruturas de repetição e acessos a vetores Página 0 Página 1 Página 2 Página 3 Página 4 Inicialização WHILE () DO BEGIN END; Imprime resultados
22 Princípio da Localidade Localidade espacial: quando um item é referenciado, existe grande probabilidade que itens com endereços próximos sejam referenciados em seguida Localidade temporal: Quando um item é referenciado, existe grande probabilidade que ele seja referenciado novamente em breve
23 Working Set O conceito de working set está diretamente ligado ao princípio da localidade O working set de um processo é o conjunto de páginas constantemente referenciadas pelo processo O working set deve permanecer na MP para que o processo execute eficientemente ter um limite máximo de páginas permitidas Se o tamanho do working set for muito grande Então, menor será a chance de falhas de página Porém, menos processos irão compartilhar a memória
24 Working Set Uma maneira de implementar o modelo de working set é analisar a taxa de paginação de cada processo Caso um processo tenha uma taxa de paginação acima de um limite definido pelo sistema o limite de páginas reais deve ser aumentado na tentativa de alcançar o working set Caso um processo tenha uma taxa de paginação abaixo de um certo limite O sistema pode reduzir o limite de páginas sem comprometer o seu desempenho
25 Política de Alocação de Páginas Determina quantos quadros (frames) um processo pode manter na memória principal Existem duas alternativas: fixa e variável Na Política de Alocação Fixa Cada processo tem um número máximo de frames que pode ser usado durante a execução Na Política de Alocação Variável O número máximo de frames alocado para um processo durante a sua execução pode variar
26 Política de Alocação de Páginas Política de Alocação Fixa Se o número de frames alocado para um processo for pouco, uma página do próprio processo deve ser descartada para que outra seja carregada O limite de frames deve ser definido no momento da criação do processo com base no tipo de aplicação que será executada Se o limite for pequeno o processo terá alto índice de page faults Se o limite for alto poucos processos compartilharão a memória, podendo aumentar o swapping de processos O n o de frames pode ou não ser igual para todos os processos Alocar o mesmo número de frames parece justo, porém pode não ser uma boa opção, pois os processos possuem necessidades diferentes
27 Política de Alocação de Páginas Política de Alocação Variável Durante a execução dos processos o número máximo de frames pode variar em função de sua taxa de paginação e ocupação da memória principal Um processo com alta taxa de paginação Pode ter o limite máximo de frames aumentado para diminuir o alto índice de page faults Um processo com baixa taxa de paginação Pode ter seus frames alocados para outros processos Este mecanismo é mais flexível, porem exige que o SO monitore constantemente o comportamento dos processos
28 Política de Substituição de Páginas A política de substituição pode ser classificada segundo o seu escopo: local ou global Escopo Local Apenas as páginas do processo que gerou o page fault podem ser candidatas a substituição As páginas dos demais processos não são avaliadas para substituição Escopo Global Todas as páginas alocadas na MP são candidatas a substituição
29 Política de Substituição de Páginas Existe uma relação entre o escopo da política de alocação e de substituição A política de alocação fixa permite apenas a política de substituição com escopo local A política de alocação variável permite as políticas de substituição com escopo local e global Variável e Local: de tempos em tempos, o número de frames pode ser recalculado, mas a substituição é só local Variável e Global: o número de frames varia quando os processos alocam frames de outros processos Mais adotada
30 Algoritmos de Substituição de Páginas O maior problema na gerência da memória virtual com paginação não é decidir qual página será carregada na memória principal A dificuldade é decidir qual página será retirada da memória principal Os algoritmos de substituição de página têm o objetivo de selecionar os frames que tenham menor chance de serem referenciados em um futuro próximo Quanto mais sofisticado o algoritmo de substituição de páginas, maior será a sobrecarga para o sistema operacional
31 Algoritmos de substituição de páginas OPT ou MIN: Algoritmo Ótimo Possui a melhor taxa de falha de página dentre todos os algoritmos Substitui a página que ficará mais tempo sem ser referenciada no futuro Difícil saber de antemão a string de referência (a ordem em que as páginas serão referenciadas durante a execução) Como produz um resultado ótimo, é usado para estudos comparativos para se testar a eficiência de outros algoritmos
32 OPT String de Referência: 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1 9 falhas de página
33 Algoritmos de substituição de páginas FIFO (First In First Out) Quando uma página precisar ser substituída, a página mais antiga será escolhida para sair da memória Fácil de entender e programar É razoável pensar que uma página que já foi carregada para a MP há mais tempo, já tenha sido referenciada o suficiente Porém, isto nem sempre é verdade e seu desempenho pode não ser bom Pode ser que a primeira página carregada seja a mais utilizada no sistema
34 FIFO String de Referência: 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1 15 falhas de página
35 FIFO Anomalia de Belady: a taxa de falha de página pode aumentar enquanto a quantidade de quadros aumenta String de Referência: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5
36 Algoritmos de substituição de páginas LRU (Least Recently Used) Substitui a página menos recentemente usada, ou seja aquela cuja última referência foi feita há mais tempo Se for considerado o princípio da localidade, é provável que uma página que não tenha sido referenciada recentemente não seja usada novamente em um futuro próximo Boa estratégia Possui maior sobrecarga pois deve manter atualizado o momento do último acesso a cada página (usa um timestamp)
37 LRU String de Referência: 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1 12 falhas de página
38 Algoritmos de substituição de páginas NRU (Not Recently Used) Usa um bit de referência para indicar se a página foi usada recentemente ou não Inicialmente, quando uma página é trazida para a memória, o seu bit de referência é zero Quando uma página que já está na memória é referenciada o seu bit muda para 1 O algoritmo substitui a página que não foi usada recentemente Pode ser mais eficiente ao se usar bits de referência adicionais
39 Algoritmos de substituição de páginas Bits de Referência adicionais (NRU diferenciado) Ao invés de utilizar um bit para indicar se a página foi referenciada recentemente, utiliza-se uma cadeia de bits Por exemplo, uma cadeia de 1 byte poderia indicar a referência a uma página nos 8 últimos períodos Uma página com bits de referência: Indica que a página não teve acesso nos 8 últimos períodos Indica que uma página teve pelo menos 1 referência a cada período foi usada mais recentemente do que a página
40 Algoritmos de substituição de páginas Bits de referência adicionais (NRU diferenciado) Neste caso o algoritmo NRU trabalha com o bit de referência e o bit de modificação (dirty bit), criando 4 classes de páginas: (0,0) não usada recentemente, nem modificada melhor página para substituir (0,1) não usada recentemente, mas modificada não tão boa, pois precisará ser escrita antes da substituição (1,0) usada recentemente, porém não modificada é provável que logo seja usada novamente (1,1) usada e modificada recentemente é provável que logo seja usada novamente, além de ter que ser escrita no disco antes de ser substituída
41 Algoritmos de substituição de páginas No algoritmo que usa o bit de referência e o bit de modificação A página substituída será aquela de menor classe Considera também as páginas modificadas, tentando minimizar a quantidade de E/S necessária
42 Algoritmos de substituição de páginas Segunda Chance Cria uma modificação no algoritmo FIFO, com o objetivo de não substituir uma página intensamente usada O bit de referência da página mais antiga é inspecionado: Se o bit = 0, então a substituição prossegue Se o bit = 1, então a página recebe uma segunda chance, seu bit de referência é zerado e sua hora de chegada é reiniciada (vai pro fim da fila) Se uma página é usada com frequência, e seu bit está sempre 1, então ela não será substituída
43 Algoritmos de substituição de páginas Segunda Chance Suponha uma falha de página no tempo 20 A página mais antiga é A Suponha que A possui o bit de referência = 1 e não será substituída
44 Algoritmos de substituição de páginas Algoritmo do Relógio (Segunda Chance Melhorado) É utilizado o mesmo algoritmo do segunda chance Inspeciona o bit de referência Porém, ao invés de inserir uma página que obteve uma segunda chance no final da fila, utiliza-se uma fila circular para melhorar o desempenho
45 Algoritmos de substituição de páginas Algoritmos baseados em contadores São mantidos contadores com o número de referências feito a cada página LFU (Least Frequently Used) A página com a menor contagem é substituída Privilegia páginas bastante utilizadas Páginas recém trazidas terão contadores com valores baixos MFU (Most Frequently Used) A página com maior contagem é substituída Baseia-se no argumento que a página com menor contagem acabou de ser trazida para a memória e ainda está para ser usada
46 Tamanho da Página Na paginação não existe fragmentação externa: todo quadro livre de memória poderá ser alocado a algum processo Pode acontecer alguma fragmentação interna se os requisitos de memória de um processo não coincidirem com os limites da página O último quadro alocado pode não estar completamente cheio Exemplo: Tamanho de Página = bytes Memória requerida pelo processo = bytes Processo alocará 11 quadros 10 completos ( bytes) bytes Resulta em uma fragmentação interna de bytes, no último quadro
47 Tamanho da página O tamanho da página está associado a arquitetura do hardware O tamanho da página é uma potência de 2 Normalmente está entre 512bytes e 16Mbytes Se o tamanho da página é pequeno: a fragmentação interna é menor porém a tabela de páginas pode ficar muito grande custos de E/S são menos eficientes
48 Tamanho da Página Considere o seguinte exemplo 32 bits para endereçamento virtual (2 32 endereços) páginas de tamanho = 4 Kbytes = 2 12 bits Qual seria o tamanho da tabela de página por processo se cada entrada da tabela de páginas ocupasse 4 bytes? Desta forma teríamos o endereço virtual configurado da seguinte forma: p = 20 bits 20 bits para indicar o número da página 12 bits para indicar o deslocamento dentro da página Tamanho da página = bytes = 4 Mbytes d = 12 bits
49 Exercício 1 Um sistema operacional implementa gerência de memória virtual por paginação. Considere endereços virtuais com 16 bits e a tabela de páginas de um processo com no máximo 256 entradas. Indique para cada endereço virtual a seguir a página virtual em que o endereço se encontra e o respectivo deslocamento dentro da página a) b) bits p p p p p p p p d d d d d d d d c) São necessários: 8 bits para referenciar o número da página 256 entradas = 2 8 entradas Sobram 8 bits para o deslocamento
50 Exercício 1 a) Página Virtual: 1 Deslocamento: 51 b) Página Virtual: 8 Deslocamento: 1 c) Página Virtual: 9 Deslocamento: 0
51 Exercício 2 Uma memória virtual possui páginas de 1024 endereços (para este exemplo, 1024 bytes). Existem 8 páginas virtuais e 4096 bytes de memória real. A tabela de páginas de um processo está descrita abaixo, sendo que o asterisco indica que a página não está na MP. a) Faça a lista/faixa de todos os endereços virtuais que irão causar page fault. b) Indique o endereço real correspondente aos seguintes endereços virtuais: 0, 1023, 1024, 6500 e Página Frame * 3 * * *
52 Exercício endereços = bits de deslocamento 8 páginas = 2 3 páginas 3 bits para indicar o número da página Endereço Virtual: p p p d d d d d d d d d d 4096 bytes de memória virtual dividida em páginas de 1024 bytes 4 frames = 2 2 frames 2 bits para indicar o número do frame Endereço Real: f f d d d d d d d d d d
53 Exercício 2 Faça a lista/faixa de todos os endereços virtuais que irão causar page fault. Considerando que cada página possui 1024 endereços e as páginas 2, 3, 5 e 7 não estão na MP, então as seguintes faixas de endereços causarão page fault: Página Frame * 3 * * *
54 Exercício 2 Indique o endereço real correspondente aos seguintes endereços virtuais: virtual real virtual real Página Frame * 3 * * * virtual real virtual real virtual real
55 TLB Suporte do HW Normalmente cada processo possui a sua própria tabela de páginas A tabela de páginas pode ser implementada como um conjunto de registradores dedicados Porém, se a tabela de páginas for muito grande o uso de registradores se torna inviável Nestes casos, a tabela de página é mantida na MP e um registrador (PTBR - Page Table Base Register) guarda o endereço da tabela de página O problema é o tempo gasto para acessar um local de memória referenciado pelo usuário: são necessários dois acessos à memória (um para a tabela de página e outro para o endereço efetivo)
56 TLB Solução padrão é usar a TLB (Translation Look-aside buffer) A TLB é implementada em um cache especial e fornece uma pesquisa rápida Cada entrada da TLB consiste em duas partes: uma chave e um valor A TLB contém apenas algumas entradas da tabela de páginas Quando um endereço lógico é gerado pela CPU, seu número de página é buscado na TLB Se o número de página for encontrado, seu número de quadro estará disponível imediatamente Se o número de página não for encontrado (TLB miss), deve então ser feita uma referência a tabela de página
57 Hardware de Paginação com TLB
58 Paginação em Múltiplos Níveis Em sistemas que implementam apenas um nível de paginação, o tamanho das tabelas de páginas pode ser um problema 0 Tabela de páginas Endereço Virtual NPV Desloc. 20 bits 12 bits Mb 20 (2-1) 32 bits Por exemplo, em um sistema onde vários processos estejam residentes na MP, é difícil e custoso gerenciar tabelas de 4 Mbytes
59 Paginação em Múltiplos Níveis Uma boa solução é usar tabelas de páginas em múltiplos níveis No esquema da paginação com dois níveis existe uma tabela diretório que possui uma entrada para cada tabela de página Neste caso, cada entrada da tabela diretório possuirá: O número da página de nível 1 (entrada da tabela de diretório) Permite localizar e endereço da tabela de páginas na tabela diretório O número da página de nível 2 (entrada da tabela de página) Permite localizar o endereço do frame na tabela de páginas O deslocamento dentro da página
60 Paginação em Múltiplos Níveis Paginação em 1 nível 2 20 entradas na TP e cada entrada com 4 bytes 2 20 x 4 bytes = 4 Mbytes NPV 1 10 bits Endereço Virtual NPV 2 10 bits Desloc. 12 bits Tamanho da TP = 4 Mbytes Paginação em 2 níveis 2 10 entradas na tabela de diretório e cada entrada com 4 bytes 2 10 x 4 bytes = 4 Kbytes Tabela diretório Tabela de páginas Tamanho da Tabela de diretório = 4 Kbytes frame
61 Paginação em Múltiplos Níveis A paginação em 2 níveis pode ser estendida para mais níveis A vantagem da paginação em múltiplos níveis é que estarão residentes na MP apenas as tabelas de páginas realmente necessárias Reduz o espaço ocupado na memória principal Para evitar que ocorra muito page fault, a ideia é que o princípio da localidade também seja aplicado às tabelas de mapeamento
62 TLB A gerência de memória virtual utiliza a técnica de mapeamento para traduzir endereços virtuais em reais O mapeamento implica em pelo menos dois acessos à MP Um acesso para a tabela de páginas E outro acesso no endereço efetivo (frame) Para agilizar o acesso: A tabela de páginas pode ser implementada como um conjunto de registradores dedicados Porém, se a tabela de páginas for grande o uso de registradores se torna inviável
63 TLB A solução: Seguindo o princípio da localidade, a maioria das aplicações referencia um número reduzido de frames na MP por vez Logo, apenas uma parte da tabela de páginas é realmente necessária na memória principal Com base neste princípio foi introduzida uma memória especial chamada TLB (Translation Lookaside Buffer) A TLB é implementada como uma memória cache Possui o mapeamento apenas dos endereços virtuais mais recentemente referenciados
64 TLB A TLB fornece uma pesquisa rápida Cada entrada da TLB consiste em duas partes: uma chave e um valor A TLB contém apenas algumas entradas da tabela de páginas Quando um endereço lógico é gerado pela CPU, seu número de página é buscado na TLB Se o número de página for encontrado, seu número de quadro estará disponível imediatamente Se o número de página não for encontrado (TLB miss), deve então ser feita uma referência a tabela de página
65 Hardware de Paginação com TLB
66 Segmentação É a técnica de gerência de memória onde o espaço de endereçamento virtual é dividido em blocos de tamanhos diferentes chamados segmentos Um programa é dividido logicamente em sub-rotinas e estruturas de dados, que são alocados em segmentos na memória principal PROGRAM Segmento; VAR A: ARRAY... C:... PROCEDURE X; END; FUNCTION Y; Procedimento X Programa Principal Função Y Array A END; BEGIN END. Variável C...
67 Segmentação A principal diferença entre paginação e segmentação é: Na paginação os programas são divididos em páginas de tamanho fixo sem qualquer ligação com a sua estrutura do programa A segmentação permite uma relação entre a lógica do programa e a sua divisão na memória
68 Segmentação A definição dos segmentos é realizada pelo compilador O espaço de endereçamento virtual de um processo possui um número máximo de segmentos Cada segmento pode variar de tamanho dentro de um limite O tamanho do segmento pode ser alterado durante a execução do programa Espaço de endereçamento independentes permitem que uma sub-rotina seja alterada sem a necessidade de recompilar o programa principal e outras sub-rotinas
69 Segmentação Segmentos possuem espaço de endereçamento independentes
70 Segmentação O mecanismo de mapeamento é semelhante ao da paginação, neste caso, os segmentos são mapeados através de tabelas de segmentos Cada processo possui sua própria tabela de segmentos Os endereços virtuais são compostos pelo número do segmento virtual e por um deslocamento N o do segmento (sv) Deslocamento (d) O número do segmento virtual identifica a entrada da tabela de segmentos que contém o endereço do segmento físico O deslocamento indica a posição do endereço virtual em relação ao endereço inicial do segmento O endereço físico é a combinação do endereço do segmento e do deslocamento
71 Segmentação Tradução do endereço virtual Segmento virtual Deslocamento Endereço virtual Desloc. Tabela de segmentos ETS End. do segmento Desloc. Segmento na memória principal Deslocamento Endereço físico
72 Segmentação Cada entrada da tabela de segmentos possui informações adicionais como: Tamanho: especifica o tamanho do segmento Bit de validade: indica se o segmento está na MP Bit de modificação: indica se o segmento foi alterado Bit de referência: indica se o segmento foi referenciado recentemente Bit de proteção: indica o tipo de acesso ao segmento
73 Segmentação Uma vantagem da segmentação em relação a paginação é A facilidade em lidar com estruturas de dados dinâmicas O tamanho do segmento pode ser facilmente alterado Na paginação, a expansão de um vetor implica na alocação de novas páginas e consequentemente no ajuste da TP Diferentemente da paginação, a segmentação não possui fragmentação interna Existe a fragmentação externa, quando áreas livres não são grandes o suficiente para alocar novos segmentos
74 Segmentação Fragmentação externa
75 Segmentação Apenas os segmentos referenciados são levados para a MP Se as aplicações não forem desenvolvidas em módulos, grandes segmentos estarão na MP desnecessariamente Para alocar segmentos na MP, o sistema operacional mantém informações com as áreas livres e ocupadas da memória Quando um novo segmento é referenciado o SO seleciona um espaço livre suficiente para que o segmento seja alocado na MP Pode ser adotada a política best-fit, first-fit ou worst-fit
76 Segmentação com Paginação Tem o objetivo de combinar vantagens das duas técnicas Paginação Evita a fragmentação externa Segmentação Mais fácil para lidar com estruturas de dados dinâmicas, já que o tamanho do segmento pode ser facilmente alterado
77 Segmentação com Paginação Divide o espaço de endereçamento virtual em segmentos Cada segmento é dividido em páginas Na visão do programador a sua aplicação continua mapeada em segmentos de tamanhos diferentes Por outro lado, o sistema trata cada segmento como um conjunto de páginas do mesmo tamanho Assim, um segmento não precisa estar contíguo na memória Elimina o problema da fragmentação externa encontrado na segmentação pura
78 Segmentação com Paginação O endereço virtual é formado por: Número do segmento virtual Número da página virtual Deslocamento N o do segmento (sv) N o da página (p) Deslocamento (d) O número do segmento virtual indica a entrada da tabela de segmentos A tabela de segmentos indica o endereço da tabela de páginas que contém o endereço O número da página identifica a entrada da tabela de páginas O deslocamento indica a posição do endereço dentro da página O endereço real é o endereço do frame encontrado na TP combinado com o deslocamento
79 Segmentação com Paginação Segmento virtual Endereço virtual Num. segmento Num. página Deslocamento Tradução do endereço virtual Tabela de segmentos ETS End. da tabela de páginas Tabela de páginas ETP Endereço do frame Endereço do frame Deslocamento Endereço físico
80 Paginação Segmentação Consideração Paginação Segmentação O programador precisa saber qual técnica está sendo usada? O espaço de endereçamento virtual pode exceder o tamanho da memória física? Não Sim Sim Sim Quantos espaços de endereçamento lineares existem? 1 Vários Os procedimentos e dados podem ser distinguidos e protegidos separadamente? O compartilhamento de procedimentos é facilitado? Não Não Sim Sim
81 Paginação Segmentação Consideração Paginação Segmentação Os programas são divididos em pedaços de tamanhos iguais Sim Não Possui fragmentação Sim, interna Sim, externa Por que esta técnica foi inventada? Para se obter um espaço de endereçamento maior do que a memória física Para permitir a divisão dos programas logicamente e facilitar o compartilhamento e proteçã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
Leia maisSistemas Operacionais
Sistemas Operacionais GERÊNCIA da MEMÓRIA VIRTUAL MACHADO/MAIA: CAPÍTULO 10 Prof. Pedro Luís Antonelli Anhanguera Educacional MEMÓRIA VIRTUAL -INTRODUÇÃO A Memória Virtual (virtual memory) é uma técnica
Leia maisSistemas Operacionais
Sistemas Operacionais Gerência de Memória Memória virtual Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Slides baseados nas apresentações dos prof. Tiago Ferreto e Alexandra Aguiar
Leia maisGerência da Memória. Adão de Melo Neto
Gerência da Memória Adão de Melo Neto 1 Memória Principal Antigamente Recurso escasso Desenvolvimento de um sistema operacional (SO) que não ocupassem muito espaço de memória principal (MP) Atualmente
Leia maisLABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO
LABORATÓRIO DE SISTEMAS OPERACIONAIS PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO Gerência de Memória Virtual Conteúdo retirado do livro Arquitetura de Sistemas Operacionais Francis Berenger Machado
Leia maisSistemas 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 profneto_ti@hotmail.com Introdução Memória virtual
Leia maisSistemas de Informação. Sistemas Operacionais
Sistemas de Informação Sistemas Operacionais GERÊNCIA DE MEMÓRIA VIRTUAL SUMÁRIO 6 GERÊNCIA DE MEMÓRIA VIRTUAL: 61 Introdução; 62 Espaço de Endereçamento Virtual; 63 Mapeamento; 64 Memória Virtual por
Leia maisSistemas Operacionais. - Gerência de Memória -
Sistemas Operacionais - Gerência de Memória - Gerenciamento de Memória A organização e a gerência de memória são fatores importantes no projeto de sistemas operacionais Um dos objetivos é desenvolver um
Leia maisFundamentos 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
Leia maisGERENCIAMENTO DE MEMÓRIA
GERENCIAMENTO DE MEMÓRIA Sistemas Operacionais Gerenciamento de memória O que vem em sua cabeça quando pensa em memória? Cache RAM Velocidade Custo Memória Secundária Capacidade 2 Hierarquias de Memórias
Leia maisAULA 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
Leia maisSSC0640 Sistemas Operacionais I
SSC0640 Sistemas Operacionais I 15ª Aula Gerenciamento de Memória Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Slides adaptados de Marcos José Santana / Regina H. C. Santana / Luciana A. F. Martimiano
Leia maisSwapping. Desvantagem:
Swapping Visa dar uma maior taxa de utilização à memória principal, melhorando seu compartilhamento Visa também resolver o problema da falta da memória principal (MP) em um sistema Funcionamento Programa
Leia maisSISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar
- Aula 6-1. Memória Virtual Conceitos Importantes: Princípio da Localidade: Quando um programa que acessa uma porção relativamente pequena do espaço endereçável em um instante qualquer. Por este princípio,
Leia maisOrganizaçã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
Leia maisGerê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
Leia maisSistemas operacionais P A G I N A Ç Ã O D E M E M Ó R I A
Sistemas operacionais P A G I N A Ç Ã O D E M E M Ó R I A O Espaço de Endereçamento lógico de um processo pode ser não contínuo; aloca-se memória física ao processo sempre que esta é disponível. A memória
Leia maisCURSO 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.
Leia maisSistemas de Computação. Gerenciamento de memória
Gerenciamento de memória Localização de processos Um programa fica armazenado em disco como um arquivo executável binário e tem que ser colocado na memória para começar a ser executado Os processos podem
Leia maisGerência de memória II
Gerência de memória II Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2017 1 / 48 Sumário 1 Memória Virtual Segmentação Paginação 2 Alocação de páginas
Leia maisGerê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
Leia maisSegmentaçã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
Leia maisGerenciamento de memória
Gerenciamento de memória O que faz? Controla o uso dos espaços em memória Controla os modos de endereçamento dos processos Como funciona a memória? Hierarquia de memória A falta de desempenho A velocidade
Leia maisOrganização e Arquitetura de Computadores I
Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Nível do Sistema Operacional (Parte
Leia maisMEMÓ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
Leia maisGerenciamento 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
Leia maisCapí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
Leia maisCapítulo 7 Gerência de Memória
Universidade Federal de Itajubá UNIFEI Instituto de Engenharia de Sistemas e Tecnologias da Informação IESTI CCO 004 Sistemas Operacionais Prof Edmilson Marmo Moreira 51 Introdução Capítulo 7 Gerência
Leia maisUFRJ IM - DCC. Sistemas Operacionais I. Unidade III Memória Primária. 29/04/2014 Prof. Valeria M. Bastos
UFRJ IM - DCC Sistemas Operacionais I Unidade III Memória Primária 29/04/204 Prof. Valeria M. Bastos ORGANIZAÇÃO DA UNIDADE Processador - Escalonamento Memória Primária Fundamentos Formas de Particionamento
Leia maisGerê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
Leia maisUniversidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.
Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização e Arquitetura Básicas
Leia maisGerenciamento 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
Leia maisSistemas Operacionais. Prof. MSc. André Yoshimi Kusumoto
Sistemas Operacionais Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com Fundamentos Gerência de memória Memória Virtual Todo o espaço lógico mapeado no espaço físico O tamanho do programa
Leia maisSistemas Operacionais I Memória Virtual
Sistemas Operacionais I Memória Virtual Antônio Augusto FröhlichGeovani Ricardo Wiedenhoft grw@lisha.ufsc.br http://www.lisha.ufsc.br/~grw May 6, 2008 1 Motivação Limitação do espaço físico Programas aumentam
Leia maisDivisão da lacuna em espaços na base 2: Eficiente quanto à velocidade e Ineficiente quanto à fragmentação.
% % & & Sistema Buddy Divisão da lacuna em espaços na base 2:! 1, 2, 4, 8,, até o limite da memória Até encontrar uma lacuna suficiente! Eficiente quanto à velocidade e Ineficiente quanto à fragmentação
Leia maisSistemas Operacionais: Memória Virtual
Sistemas Operacionais: Memória Virtual Memória virtual Memória virtual: separação entre a visão lógica do usuário e a memória física Somente uma parte do programa necessita estar na memória para executar
Leia maisGerenciamento de Memória
Gerenciamento de Memória Conceitos básicos Swapping Alocação contígua Paginação Segmentação Segmentação com paginação Atribuição de endereços (ligação) de código e dados na memória A atribuição de endereços
Leia maisGerenciamento 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
Leia maisGerência de Memória. Aspectos de Projeto
Gerência de Memória Aspectos de rojeto olíticas de Busca de áginas de um rocesso Determina em que instante uma página deve ser trazida para memória principal O objetivo é minimizar o número de faltas de
Leia maisDurante a evolução das arquiteturas de computadores e principalmente dos Sistemas Operacionais, muitas tecnologias tiveram que ser aprimoradas para
UM ESTUDO SOBRE O MECANISMO DE PAGINAÇÃO DE MEMÓRIA E OS ALGORITMOS DE SUBSTITUIÇÃO DE PÁGINAS FIFO E LRU Fernando Sales Ferreira, fernandobrabat@hotmail.com William Antônio Faria Da Silva, William_8716@hotmail.com
Leia maisSistemas Operacionais Gerenciamento de Memória. Carlos Ferraz Jorge Cavalcanti Fonsêca
Sistemas Operacionais Gerenciamento de Memória Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Memória Física vs. Memória do Programa Memória P Física Tamanho dos softwares
Leia maisFundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 19: Memória Virtual: Introdução Diego Passos Última Aula Paginação Método de gerenciamento de memória mais usado hoje. Espaço de endereçamento de um processo é
Leia maisUFRJ IM - DCC. Sistemas Operacionais I. Unidade III Memória Virtual. 26/05/2014 Prof. Valeria M. Bastos
UFRJ IM - DCC Sistemas Operacionais I Unidade III Memória Virtual 26/05/2014 Prof. Valeria M. Bastos 1 Processador Memória Primária Memória Virtual Fundamentos Organização Lógica Gerenciamento de Recursos
Leia maisSistemas Operacionais
Introdução Memória virtual Trabalho sob a Licença Atribuição-SemDerivações-SemDerivados 3.0 Brasil Creative Commons. Para visualizar uma cópia desta licença, visite http://creativecommons.org/licenses/by-nc-nd/3.0/br/
Leia maisOrganização e Arquitetura de Computadores
Organização e Arquitetura de Computadores Gerência de Memória Alexandre Amory Edson Moreno Índice 1. Introdução e histórico de Gerência de Memória 2. Endereçamento da Memória Principal Introdução Sistema
Leia maisSistemas 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
Leia maisMemória virtual. Sistemas de Computação
Memória virtual Fundamentos Memória virtual separação da memória lógica do usuário da memória física somente uma parte do programa precisa estar na memória para execução espaço de endereçamento lógico
Leia maisSistemas Operacionais
Melhorias Sistemas Operacionais Paginação por demanda Substituição de páginas Trabalho sob a Licença Atribuição-SemDerivações-SemDerivados 30 Brasil Creative Commons Para visualizar uma cópia desta licença,
Leia maisSistemas Operacionais. Prof. André Y. Kusumoto
Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Fundamentos Gerência de memória Memória Virtual Todo o espaço lógico mapeado no espaço físico O tamanho do programa é limitado
Leia maisSistemas de Informação. Sistemas Operacionais
Sistemas de Informação Sistemas Operacionais GERÊNCIA DE MEMÓRIA SUMÁRIO 5. GERÊNCIA DE MEMÓRIA: 5.1 Introdução; 5.2 Funções Básicas; 5.3 Alocação Contígua Simples; 5.4 Técnica de Overlay; ; 5.6 Swapping.
Leia maisUFRJ IM - DCC. Sistemas Operacionais I. Unidade III Memória Virtual. Prof. Antonio Carlos Gay Thomé Prof. Aux. Simone Markenson Pech 1
18/9/009 UFRJ IM - DCC Sistemas Operacionais I Unidade III Memória Virtual 18/9/009 Prof. Antonio Carlos Gay Thomé Prof. Aux. Simone Markenson Pech 1 ORGANIZAÇÃO DA UNIDADE Processador Memória Primária
Leia maisSistemas Operacionais
Sistemas Operacionais GERÊNCIA da MEMÓRIA MACHADO/MAIA: CAPÍTULO 09 Prof. Pedro Luís Antonelli Anhanguera Educacional Gerenciamento da Memória Programas precisam ser trazidos para a memória para serem
Leia maisInfra-Estrutura de Software IF677
Infra-Estrutura de Software IF677 Gerenciamento de Memória Tópicos Gerenciamento básico de memória Troca de processos Memória virtual Paginação Gerenciamento de Memória Idealmente, o que todo programador
Leia maisSubstituição de Páginas
Substituição de Páginas Pedro Cruz EEL770 Sistemas Operacionais Lembranças sobre memória Tempo virtual Segmentação de memória Realocação Estática Dinâmica Sobreposições MMU Memory Management Unit Página
Leia maisMemória Virtual. Ciclo 4 AT2. Prof. Hermes Senger
Memória Virtual Ciclo 4 AT2 Prof. Hermes Senger Nota O presente material foi elaborado com base no material didático do livro Sistemas Operacionais, 3ª edição, de H.M.Deitel, P.J. Deitel, D.R. Choffnes,
Leia maisSistemas Operacionais
Introdução Sistemas Operacionais Paginação por demanda ção Trabalho sob a Licença Atribuição-SemDerivações-SemDerivados 3. Brasil Creative Commons. Para visualizar uma cópia desta licença, visite http://creativecommons.org/licenses/by-nc-nd/3./br/
Leia maisAULA 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
Leia maisEA075 Memória virtual
EA075 Memória virtual Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato 1 Motivação Problema: programas cujos tamanhos ultrapassavam
Leia maisCapítulo 6 Nível do Sistema Operacional
Capítulo 6 Nível do Sistema Operacional - Sistema Operacional: Programa que, do ponto de vista do programador, adiciona uma grande quantidade de instruções e funcionalidades bem além das disponibilizadas
Leia maisMemó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
Leia maisWilliam 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:
Leia maisCap. 10 Gerência de Memória Virtual 1
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 Introdução Espaço de Endereçamento Virtual Mapeamento
Leia maisSistemas Operacionais
Introdução Memória virtual Trabalho sob a Licença Atribuição-SemDerivações-SemDerivados 3.0 Brasil Creative Commons. Para visualizar uma cópia desta licença, visite http://creativecommons.org/licenses/by-nc-nd/3.0/br/
Leia maisSSC0640 Sistemas Operacionais I
SSC0640 Sistemas Operacionais I 13ª Aula Gerenciamento de Memória Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Slides adaptados de Marcos José Santana / Regina H. C. Santana / Luciana A. F. Martimiano
Leia maisSISTEMAS OPERACIONAIS. Gerência de Memória Apostila 7
SISTEMAS OPERACIONAIS Gerência de Memória Apostila 7 1.0 INTRODUÇÃO Historicamente, a memória principal sempre foi vista como um recurso escasso e caro. Uma das maiores preocupações dos projetistas foi
Leia maisARQUITETURA DE COMPUTADORES
01001111 01110010 01100111 01100001 01101110 01101001 01111010 01100001 11100111 11100011 01101111 00100000 01100100 01100101 00100000 01000011 01101111 01101101 01110000 01110101 01110100 01100001 01100100
Leia maisSSC0611 Arquitetura de Computadores
SSC0611 Arquitetura de Computadores 5ª e 6ª Aulas Revisão de Hierarquia de Memória Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Memória Memória Todo componente capaz de armazenar bits de informação
Leia maisSSC0640 Sistemas Operacionais I
SSC0640 Sistemas Operacionais I 14ª Aula Gerenciamento de Memória Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Slides adaptados de Marcos José Santana / Regina H. C. Santana / Luciana A. F. Martimiano
Leia maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Memória Cache Slide 1 Introdução Tamanho Função de Mapeamento Política de Escrita Tamanho da Linha Número de Memórias Cache Cache em Níveis Slide 2 Introdução
Leia maisGERÊNCIA DE MEMÓRIA. INF009 Laboratório de Sistemas Operacionais
GERÊNCIA DE MEMÓRIA INF9 Laboratório de Sistemas Operacionais Agenda Motivação Gerência de memória com monoprogramação Gerência de memória com multiprogramação Partições Fixas Divisão e Alocação das Partições
Leia maisPrincípio da Localidade Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer Localidade
Memória Cache Princípio da Localidade Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer Localidade Temporal Um item referenciado tende a
Leia maisEA960 Memória virtual
EA960 Memória virtual Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato 1 Motivação Vimos no tópico anterior como a memória cache pode
Leia maisAula 10 Gerenciamento de Memória
Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 10 Gerenciamento de Memória Capítulo9 PLT página159 2 1 Gerenciamento de
Leia maisMemória virtual. Pedro Cruz. EEL770 Sistemas Operacionais
Memória virtual Pedro Cruz EEL770 Sistemas Operacionais Avisos Menos de um mês para a 1ª apresentação do trabalho Dia 22/9/2017 O que fizeram até agora? Análises Estratégias Problemas Soluções Presenças
Leia maisGestã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
Leia maisGerência de Memória. Gerência de Memória Introdução e Particionamento. Novo capítulo. Aulas anteriores. Plano da aula. Memória lógica & física
Aulas anteriores Gerência de Memória Introdução e Particionamento Marcelo Johann Ciclo de Compilação, ligação e carga INF - Sistemas Operacionais I N - Marcelo Johann - 9/ Aula : Slide INF - Sistemas Operacionais
Leia maisProf. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Instituto de Ciência e Tecnologia - ICT
Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Instituto de Ciência e Tecnologia - ICT 1 Hierarquia de Memória Alocação particionada estática e dinâmica Gerenciamento dos
Leia maisGestã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: Transferência: quando transferir um bloco de
Leia maisSISTEMAS OPERACIONAIS
SISTEMAS OPERACIONAIS Gerência de Memória (cont) Andreza leite andreza.leite@univasf.edu.br O Grande Problema Alocação Contínua: Fragmentação 3 Fragmentação de Memória A gestão de memória mediante partições
Leia maisSistemas Operacionais. Gerência de Memória
Sistemas Operacionais Gerência de Memória Sumário 1. Introdução 2. Funções Básicas 3. Alocação Contígua Simples 4. Técnica de Overlay 5. Alocação Particionada 1. Estática 2. Dinâmica 6. Estratégias de
Leia maisGerenciamento de Memória
Gerenciamento de Memória Prof. Clodoaldo Ap. Moraes Lima Paginação Espaço de endereço de um processo pode ser não contíguo; ao processo é alocado memória física sempre que disponível. Divide memória física
Leia maisArquitetura e Organização de Computadores
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Suporte ao Sistema Operacional Prof. Helcio
Leia maisCapítulo 4 Gerenciamento de Memória
Capítulo 4 Gerenciamento de Memória 4.1 Gerenciamento básico de memória 4.2 Troca de processos 4.3 Memória virtual 4.4 Algoritmos de substituição de páginas 4.5 Modelagem de algoritmos de substituição
Leia maisSistemas Operacionais. Gerenciamento de Memória
Sistemas Operacionais Gerenciamento de Memória Prof. Arliones Hoeller arliones.hoeller@ifsc.edu.br Abril de baseado no material do Prof. Fröhlich em http://www.lisha.ufsc.br/~guto 6 de março de Prof. Arliones
Leia maisGestã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?
Leia maisSegmentaçã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
Leia maisESTRATÉ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
Leia maisFundamentos de Sistemas Operacionais. Gerência de Memória. Prof. Edwar Saliba Júnior Março de Unidade Gerência de Memória
Gerência de Memória Prof. Edwar Saliba Júnior Março de 2007 1 Memorial... Programas em execução e dados acessados por ele devem estar na memória principal (ou pelo menos parte dele); Porém, a memória principal
Leia maisLISTA DE EXERCICIOS 2
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA SISTEMAS OPERACIONAIS I N - INF01142 LISTA DE EXERCICIOS 2 Não há gabarito, nem respostas aos exercícios
Leia maisSISTEMAS 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 (soufes@gmail.com) 2ª. Lista de Exercícios Parte
Leia maisSISTEMAS OPERACIONAIS
SISTEMAS OPERACIONAIS Gerência de Memória Andreza Leite andreza.leite@univasf.edu.br Plano da Aula 2 Introdução Necessidade gerenciador de memória Sistemas gerenciais de memória Alocação contínua n Máquina
Leia maisAlgoritmos de Substituição de Páginas. Igor Gustavo Hoelscher Renan Arend Rogério Corrêa Medeiros
Algoritmos de Substituição de Páginas Igor Gustavo Hoelscher Renan Arend Rogério Corrêa Medeiros 2 Introdução No momento em que ocorre uma page fault o sistema operacional precisa escolher uma página a
Leia maisArquitetura de Sistemas Operacionais. Francis Berenger Machado Luiz Paulo Maia. Capítulo 9 Gerência de Memória
Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 9 Gerência de Memória Cap. 5 Gerência de Memória 1 Sumário Introdução Funções básicas Alocação contígua simples Técnica
Leia maisCapítulo 9: Memória Virtual. Operating System Concepts 8th Edition
Capítulo 9: Memória Virtual Sobre a apresentação (About the slides) Os slides e figuras dessa apresentação foram criados por Silberschatz, Galvin e Gagne em 2009. Esse apresentação foi modificada por Cristiano
Leia maisInfra-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
Leia maisOrganizaçã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
Leia maisMemó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
Leia maisInfra-Estrutura de Software
Infra-Estrutura de Software Gerência de Memória Tópicos Gerenciamento básico de memória Troca de processos (swapping) Memória virtual Troca de páginas/paginação (paging) Gerenciador de Memória Componente
Leia maisAdministraçã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
Leia mais