1 gerência de memória - sidney c. de lucena gerência de memória sidney cunha de lucena baseado...
TRANSCRIPT
1G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
Gerência de Memória
Sidney Cunha de Lucena
Baseado no livro “Arquitetura de Sistemas Operacionais”,
Francis Berenger Machado e Luiz Paulo Maia.
2G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Conceitos Básicos• Alocação Contígua• Alocação Particionada• Troca de Processos• Memória Virtual• Mapeamento• Paginação• Segmentação• Swapping em Memória Virtual• Thrashing• Resumo
Gerência de MemóriaSumário:
3G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Sistemas Multiprogramados: múltiplos processos sendo executados simultaneamente num mesmo computador.
– Divisão de recursos: CPU, dispositivos e memória RAM.
• Memória é compartilhada pelos processos em execução.– Cada processo deve possuir uma área exclusiva da memória
RAM para seu uso.
• Gerência de Memória: organiza e disciplina o compartilhamento da memória pelos múltiplos processos em execução.
Conceitos Básicos:
4G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Funções Básicas da Gerência de Memória:
– manter o maior número possível de processos em memória, maximizando o compartilhamento da CPU e demais recursos;
– maximizar o compartilhamento de espaço da memória;
– executar programas com requisitos de memória além da capacidade física da RAM;
– proteção das áreas de memória ocupadas por cada processo.
Conceitos Básicos:
5G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Maneira mais simples: alocação contígua da memória.
Alocação Contígua:
M em ória Pr in cip a lRegistrad o rSistem a
O peracion a l
Á rea p a rap rog ram a
• Registrador delimita as áreas do Sist. Op. e do usuário (proteção).
• Uso ineficiente do espaço, somente um usuário ocupando-o.
6G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• A técnica de overlay permite que módulos independentes de um mesmo programa sejam carregados numa mesma área de memória em momentos diferentes.
Uso de Overlay:
• Áreas de overlay definidas pelo programador.
• Expande limites da memória principal.
• Não possui compartilhamento por usuário.
M em ó ria Pr in cip a l
C a d astra m en to
Im pressão
Sistem a O p eracion a l2 K b
3 K b
4 K b
4 Kb
2 Kb
2 Kb1 K b
M ódu lo p rincip a l
Á rea d e overlay
Á rea l ivreÁ rea n ãou til izada
7G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Alocação Particionada Estática: memória é dividida em partições fixas, cada processo ocupará uma determinada partição.
Alocação Particionada:
M em ória Prin cip a l
Sistem a O p eracio n a l
2 Kb
5 Kb
8 Kb
Pa rtiçã o 1
Pa rtiçã o 2
Pa rtiçã o 3
A
B
D
C
E
3 Kb
6 Kb
1 Kb
4 Kb
2 Kb
8G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Alocação Particionada Estática: é gerada uma tabela de alocação de partições, a proteção é através de registradores que armazenam limites inferior e superior de cada partição.
Alocação Particionada:
M em ór ia Pr in cipa l
Sistem a O p eracio n a l
1
2
3
Program a C
Á rea l ivre
Program a B
Pa rtiçã o Tam a nh o Livre
1 2 Kb N ão
2 5 Kb Sim
3 8 Kb N ão
9G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Problema: fragmentação interna.
– Um processo por partição, espaço não utilizado é perdido.
Alocação Particionada:
M em ó ria Pr in cip a l
Sistem a O p eracio n a l
1 Kb
3 Kb
5 Kb
Pro gram a C
Pro gram a A
Pro gram a E
BD6 Kb 4 K b
10G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Alocação Particionada Dinâmica: partições alocadas dinamicamente de acordo com os requisitos de memória dos programas.
Alocação Particionada:
M em ória Pr in cipa lM em ó ria Pr in cipa l
Sistem a O p eracion a lSistem a O p era cion a l
4 Kb
1 Kb
3 Kb
5 Kb
2 Kb
15 K b
Program a C
Program a B
Program a A
Program a EBA
2 KbE
3 KbC
1 Kb 4 Kb
11G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Problema: fragmentação externa.
– Término dos processos deixa espaços que podem ser insuficientes para novos programas.
Alocação Particionada:
M em ór ia Prin cip a l
Sistem a O p era cion a l
4 Kb
3 Kb
5 Kb
Pro gram a C
Pro gram a A
D
6 Kb
12G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Problema: fragmentação externa.
– Dois tipos de solução: reunir espaços adjacentes ou relocação dinâmica.
Alocação Particionada:
M em ó ria Pr in cipa lM em ória Pr in cipa l
Sistem a O p eracio n a lSistem a O p eracion a l
8 Kb
4 Kb
3 Kb
5 Kb5 Kb
Pro gram a C
Pro gram a APro gram a A
M em ó r ia Pr in cip a lM em ó r ia Pr in cip a l
Sistem a O p eracio n a l
Relo caçã o
Sistem a O p eracio n a l
4 Kb
3 Kb
12 K b
5 Kb
Pro gram a C
Pro gram a CPro gram a A
Pro gram a A
obs: método muito custoso!
13G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Estratégias de Alocação.– Best-Fit:
Alocação Particionada:
M em ória Pr in cipa l
Sistem a O p eracio n a l
4 Kb
3 Kb
5 Kb
Progra m a C
Progra m a A
F1 Kb
Sistem a O p eracion a l
2 Kb
Pro gram a C
Pro gram a FPro gram a A
Á rea l ivre
14G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Estratégias de Alocação.– Worst-Fit:
Alocação Particionada:
M em ória Pr in cipa l
Sistem a O p eracio n a l
4 Kb
3 Kb
5 Kb
Progra m a C
Progra m a A
F1 Kb
Sistem a O p eracio n a l
4 Kb
Program a C
Progra m a A
Á rea l ivre
Pro gram a F
15G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Estratégias de Alocação.– First-Fit:
Alocação Particionada:
M em ória Pr in cipa l
Sistem a O p eracio n a l
4 Kb
3 Kb
5 Kb
Progra m a C
Progra m a A
F1 Kb
Sistem a O p era cio na l
3 K b
Pro gram a C
Pro gram a A
Á rea livre
Pro gram a F
16G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Problema: e se não houver memória RAM suficiente para acomodar todos os processos?
• Solução: realizar uma troca de processos, ou swapping.
– Um dos processos em RAM é deslocado para uma memória secundária (swap out) e dá lugar ao “novo” processo (swap in).
– Opta-se por remover o processo em wait com menos chance de ser executado (possivelmente pode optar por um processo em ready).
– Uma área do disco passa a ser usada como memória secundária (área de swap).
– Mais tarde, o processo swapped out é escalonado e swapped in, voltando a ser executado.
Troca de Processos (Swapping):
17G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Swapping:– necessário haver relocação
dinâmica; – permite um maior
compartilhamento;– custo elevado p/operações
de swap in e swap out.
• Problema: não havendo espaço para crescimento ou relocação, e/ou a área de swap estiver cheia, o processo poderá ficar em estado de espera ou ser terminado.
Troca de Processos (Swapping):
M em ória Pr in cip a l
M em ória Pr in cip a l
Sistem aO peracio n a l
Sistem aO peracio n a l
Pro gram a A
Pro gram a A
Pro gram a G
Á rea LivreSw ap in
Sw a p o u t
A rq u ivod e Sw a p
Pro gram a E
Pro gram a E
Pro gram a B
Pro gram a H
H
B
B
18G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• A técnica de memória virtual fundamenta-se em desvincular o espaço de endereçamento físico (RAM) do espaço de endereçamento usado pelo programa.
• Para tal é criado um espaço de endereçamento virtual, linear e contínuo (semelhante a um vetor), para atender os requisitos de memória de um dado programa abstraindo-se questões de implementação física.
• Os objetivos principais desta técnica são o de maximizar o número de processos em memória, reduzir a fragmentação e permitir estruturas de dados maiores que a memória física.
Memória Virtual:
19G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• O espaço de endereços virtuais, arranjados na forma de vetor, corresponde à memória virtual e pode ser maior que o espaço de memória real.
Memória Virtual:
Espa
ço d
e en
dere
çam
ento
virtu
al
Espa
ço d
e en
dere
çam
ento
realEn dereço vir tu a l 0
En dereço vir tu a l 1En dereço vir tu a l 2En dereço vir tu a l 3En dereço vir tu a l 4En dereço vir tu a l 5
.
.
.En dereço vir tu a l V
En dereço rea l 0En dereço rea l 1En dereço rea l 2En dereço rea l 3
.
.
.En dereço rea l R
20G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• A porção de memória virtual ativa do programa fica situada na memória principal, o restante fica armazenado em disco.
Memória Virtual:
M em ória V irtua l
.
.
.
.
M em ória Pr in cipa l
M em ó r ia Secu nd á r ia
.
.
.
21G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• A unidade de gerenciamento de memória mapeia os endereços virtuais em endereços físicos.
Mapeamento:
M em ória V irtua l
M em ór ia Pr in cip a l
M ap eam en to
.
.
.
.
.
.
• OBS: um programa não precisa estar em endereços contíguos da memória principal para ser executado.
22G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• O mecanismo de tradução se encarrega de manter tabelas de mapeamento exclusivas para cada processo.
Mapeamento:
Processo A
Esp a ço d een dereça m en to
virtua l d e A
En dereço vir tu a l 1
.
.
.
Tab ela dem a pea m en to
d e A
Esp a ço d een dereça m en to
virtua l d e B
En dereço vir tu a l 1
.
.
.
Tab ela dem a pea m en to
d e B
Processo B
M em ó ria Pr in cip a l
23G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Problema: se cada entrada na tabela de mapeamento representar uma célula da memória virtual, o espaço ocupado pela tabela seria da ordem de tamanho da memória virtual, inviabilizando sua implementação.
• Solução: particiona-se a memória virtual em blocos.– Cada bloco da memória virtual estará representado por uma
entrada na tabela de mapeamento.– Tamanho do bloco determina o número de entradas na tabela de
mapeamento.– 3 técnicas são usadas para o particionamento em blocos:
paginação, segmentação e segmentação com paginação.– Abordagens também se apoiam no princípio da localidade.
Mapeamento:
24G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• A técnica mais comum utilizada para implementar memória virtual é a paginação.
• Nesta técnica, tanto memória virtual como memória principal são divididas em blocos de igual tamanho chamados páginas.– Tamanho do bloco determina o nível de fragmentação.
• Quando uma página referenciada não é encontrada na RAM, diz-se que houve um page fault.
• Na ocorrência de um page fault, realiza-se uma operação de paginação, ou seja, de troca de páginas entre a memória principal e a memória virtual em disco.
Paginação:
25G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Cada processo possui sua própria tabela de páginas.– Uma página virtual contém um bloco de endereços virtuais.
Paginação:
M em ória V ir tua l
.
.
.
.
Págin a virtua l 0
Pá g in a virtua l 1
Pág in a virtua l 2
Pág in a virtua l V
Tab ela dep ágin as
ETP
M em ó ria Pr in cipa l
M em ória Secu nd á r ia
.
.
.
Págin a rea l 0
Pág in a rea l 1
Pág in a rea l R
• ETP: Entrada da Tabela de Páginas, associada a cada página virtual de um processo.
• Os blocos da memória principal que abrigam as páginas reais são chamados frames.
26G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• O endereço virtual é composto pelo número da página virtual (NPV) mais seu deslocamento na página.
• O NPV serve para indexar a tabela de páginas e obter o endereço do frame.
• O endereço físico correspondente ao endereço virtual é obtido a partir do endereço físico do frame encontrado na tabela de páginas mais o deslocamento.
Paginação:
Págin a virtua l
D eslo cam en to
En dereço virtu a l
D eslo c.N PV
En d . do fra m eETP
Tab ela de pá gina s
En d . do fra m e D eslo c.
Fram e
D eslo cam en to
En dereço físico
27G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• O bit de validade numa ETP indica se a página em questão encontra-se na memória principal ou não.
• Se a ETP da página que contém o endereço virtual desejado tem bit de validade 0, ou seja, não está na memória principal, ocorre um page fault.
Paginação:
En dereço virtu a l
Tab ela de pá gina s
Bit d e va l id ad e0
M em ó r ia Pr in cipa l
M em ó ria secun d ária
Page fau lt
Tab ela de pá gina s
Bit d e va l id ad e1
M em ó r ia Pr in cipa l
M em ó ria secun d ária
Pa ge in
28G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Quando ocorre um page fault, a página referenciada é carregada para a memória principal (page in) no local de uma página que já se encontrava na RAM (page out, supondo memória RAM cheia). Esta página a ser substituída é escolhida segundo algum algoritmo de substituição.
Paginação:
M em ó ria Pr in cip a l
A rq u ivo dep agin açã o
Page out
Pa g e in
29G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Políticas de Substituição de Página:– Política de Substituição Local: apenas páginas referentes ao
processo corrente podem ser substituídas.– Política de Substituição Global: páginas de qualquer processo
podem ser substituídas.
• Políticas de Busca de Páginas:– Paginação por Demanda: páginas são transferidas para a
memória principal apenas quando referenciadas.– Paginação Antecipada: além da página referenciada, o sistema
carrega um conjunto de outras páginas para a memória esperando que elas venham a ser referenciadas mais tarde.
Paginação:
30G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Políticas de Alocação de Página: determina quantos frames cada processo pode manter na memória principal.
– Política de Alocação Fixa: cada processo tem um número máximo de frames que podem ser usados durante sua execução.
• Definido no momento da criação do processo de acordo com o tipo de aplicação que será executada.
– Política de Alocação Variável: número máximo de frames pode variar durante sua execução de acordo com a taxa de paginação e a ocupação da memória principal.
• Mais flexível, mas exige overhead para o monitoramento dos processos.
Paginação:
31G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Algoritmos de Substituição de Páginas: procuram manter o working set (de páginas) dos processos na memória principal sem comprometer o desempenho do sistema.
Paginação:
tem poP2 P3 P4 P5 P2 P5 P5 P5 P5 P6
t1 t2 t3
ta tb
32G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Algoritmos de Substituição de Páginas: o algoritmo ótimo seria (utopicamente) aquele que selecionasse uma página que não será mais referenciada ou que será a menos referenciada.
• Exemplos de algoritmos:
– Aleatório;– FIFO (escolhe a página mais antiga);– LFU (Least Frequetly Used);– LRU (Least Recently Used);– NRU (Not Recently Used, similar ao LRU porém mais simples);– FIFO circular (se a página mais antiga foi referenciada
recentemente, ela vai para o final da fila).
Paginação:
33G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Paginação em Múltiplos Níveis:
– Problema: tamanho das tabelas de páginas de um nível continuam grandes para dados realistas (ex: páginas de 4K endereços em arquitetura de 32 bits ocupam cerca de 4MB).
– Solução: usar tabelas de páginas em múltiplos níveis (princípio da localidade é aplicado às tabelas de mapeamento).
• Apenas as informações sobre páginas realmente necessárias aos processos ficam residentes na memória principal.
• Em outras palavras: a tabela de páginas também passa a ser paginada.
Paginação:
34G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Paginação em Múltiplos Níveis:
Paginação:
Ta b ela d iretó r io
D esloc.12 b its
N PV 110 b its
En dereço V irtua lN PV 210 b its
Ta b ela de pá g ina s
fra m e
35G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Paginação em Múltiplos Níveis:
Paginação:
M em ór ia Prin cip a l10 23
Tab ela d ire tó r io0
1
2
3
012
10 23
Tab ela de pá g ina s 1
3
012
10 23
Tab ela de pá g ina s 0
3
012
10 23
Tab ela de pá g ina s 1 023
3
fram e 10 0fram e 20 00
fram e 40 00fram e 30 0 100
40 00
20 00
30 0
36G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Translation Lookaside Buffer (TLB):
– Se vale do princípio da localidade e mapea endereços virtuais em endereços físicos para evitar o acesso à tabela de páginas.
– Funciona como uma memória cache, mantendo a tradução dos endereços virtuais das páginas mais referenciadas recentemente.
– Campos da TLB:
Paginação:
37G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Translation Lookaside Buffer (TLB):
Paginação:
M em ór ia p rincip a l
D eslo c.N PV
En dereço V irtua l
Tran sla tio n Lo oka sid e Buff er (TLB)BV Tag En d. Físico010101
Tab ela de map eam en toBV En d. Físico
11
1
0
101
M em ória secun dá ria
38G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Proteção: cada página conta com dois bits de proteção nas ETPs, um permitindo ou não acesso de leitura, outro permitindo ou não acesso de escrita.
Paginação:
L G En dereço dap ág in a / seg m en to
Bits d e p ro teçã o
D escriçã oSem a cesso
A cesso d e leitu raA cesso p a ra le itu ra / g ravação
LG001011
39G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Espaço de endereços é dividido em blocos de diferentes tamanhos chamados segmentos.
• Mantém uma relação lógica com a estrutura do programa e sua alocação na memória principal.
• A definição dos segmentos costuma ser realizada pelo compilador e cada segmento pode representar um procedimento, uma função, um vetor ou uma pilha.
• É atribuído a cada processo um número máximo de segmentos e um tamanho máximo para cada segmento.
• Pode ter problema de fragmentação externa.
Segmentação:
40G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
naSegmentação:
PRO G RA M Segm ento ; V A R A : A RRA Y... C : . ..PRO C ED U RE X;EN D ;FU N C TIO N Y;
EN D ;
BEG IN
EN D.
Proced im ento X
Program a Pr in cipa l
Fu nçã o Y
A rra y A
Va riáve l C...
41G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• O mecanismo de mapeamento é semelhante ao da paginação.
• Campos da ETS:
Segmentação:D eslocam en to
En dereço virtu a l
D esloc.
En d. do segm en toETS
Ta b ela de seg m en tos
D eslo c.
Segm ento n am em ór ia pr in cipa l
D eslocam en to
En dereço físico
Segm ento virtua l
42G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Paginação x Segmentação:
Segmentação:
43G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Segmentação com paginação: realiza paginação para cada segmento.
• Procura oferecer as vantagens de ambas as técnicas.
Segmentação:
En dereço do fra m e D eslo ca m en to
D esloca m en toN um .seg m en to
N um .p ág in a
En dereço vir tu a l
Segm ento virtua l
En d . da ta bela d e p á g in a sETS
Tab ela de seg m en to s
En dereço do fra m eETP
Ta b ela de pá gina s
En dereço físico
44G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Exatamente a mesma técnica de swapping, porém aplicada às páginas ou segmentos referentes aos processos swapped out e, posteriormente, swapped in.
Swapping em Memória Virtual:
M em ó ria Pr in cipa l
Pro cesso AProcesso B
Processo E
Processo D
Pro cesso CProcesso F
M em ó ria Pr in cipa l
Pro cesso A
Pro cesso F
Processo BProcesso D
Processo CA rq u ivo desw a pp in g
Pro cesso B
Sw ap ou t
Sw ap in
45G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Ocorre quando há uma taxa elevada de faults, sejam de segmentos ou de páginas, seja a nível de sistema ou de processo.
• Acarreta uma degradação no desempenho da máquina: uma página ou segmento swapped out em breve será requisitada para fazer swap in, causando um efeito cascata.
• CPU perde muito tempo com swapping de páginas/segmentos.
• Se houver uma demanda de memória, pelos processos a serem executados, maior que a capacidade da memória principal, a única solução é aumentar esta capacidade.
Thrashing:
46G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Sistemas atuais trabalham com múltiplos processos disputando recursos e compartilhando memória, daí a necessidade de um gerenciamento de memória.
• Cada processo utiliza uma determinada área de memória, demanda total de memória costuma ser maior que a memória RAM disponível.
• Solução é utilizar o disco para armazenamento temporário. Duas técnicas são empregadas: Troca de Processos (Swapping) e Memória Virtual.
Resumo:
47G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Troca de Processos:– se um novo processo é iniciado e não há área de memória
disponível para alocá-lo, um dos processos em RAM é jogado para o disco (swapped out) para abrir espaço;
– quando algum processo em espera na área de swap for novamente escalonado para execução, ele é jogado de volta para a RAM (swapped in) em alguma área disponível que o comporte;
– problemas de fragmentação;– quando falta espaço para um processo crescer, ele é swapped
out;– processos precisam caber na memória RAM.
Resumo:
48G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Memória Virtual:– é criado um espaço de endereçamento virtual linear,
semelhante a um vetor, para atender aos requisitos de memória do programa;
– a memória virtual pode ser maior que a memória principal, usa o disco para armazenar os endereços que não estão ativos;
– a unidade de gerenciamento mapea os endereços virtuais em endereços físicos, cada processo tem sua própria tabela de mapeamento;
– vantagens da Memória Virtual: maximização do número de processos em memória, redução da fragmentação e permitir estruturas de dados maiores que a RAM;
– técnica mais usada é a paginação, que divide a memória virtual em blocos de igual tamanho chamados páginas;
Resumo:
49G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
na
• Memória Virtual:– quando ocorre um page fault, é realizada uma operação de
paginação (page out, page in);– a segmentação divide a memória virtual em blocos de
diferentes tamanhos chamados de segmentos. Cada segmento está associado a um módulo do programa;
– é possível fazer segmentação com paginação e buscar as vantagens de ambas as técnicas.
• Pode-se aplicar a técnica de swapping em memória virtual:– Processos em estado de espera são preferidos para swap-out.
• Problemas de Thrashing ocorrem quando se tem uma taxa elevada de transferências entre memória principal e secundária.
Resumo:
50G
erên
cia
de M
emór
ia -
Sidn
ey C
. de
Luce
naReferências:
Arquitetura de Sistemas Operacionais (capítulos 9 e 10). Francis Berenger Machado e Luiz Paulo Maia. 3a edição - LTC, 2002.
Sistemas Operacionais - Conceitos e Aplicações (capítulos 9 e 10). Abraham Silberschatz, Peter Galvin e Greg Gagne. 1a edição - Editora Campus, 2000.
Exercícios recomendados: Livro do Silberschatz, páginas 207-209 e 240-243.Obs: há uma edição mais recente nas livrarias.