FACULDADE DE ENGENHARIA
LICENCIATURA EM ENGENHARIA INFORMÁTICA
SISTEMA OPERATIVO
3º ANO
Maio, 2021
Legenda:
M = 1, segmento modificado; M = 0, segmento não modificado
Segment base, o primeiro endereço físico do segmento.
Length, o tamanho do segmento.
Organização de memória virtual: Segmentação
Da Memória Virtual-paginação
Um endereço virtual usando paginação é composto por
dois campos:
1. Número de páginas: usado com um índice para a
tabela de páginas que contem os enderecos base e de
cada página em memória.
2. Deslocamento: é combinado com o endereço-base
para definir o endereço físico para ser enviado à
unidade de memória.
Organização de memória virtual:
Implementação da Tabela de Páginas
Cada processo tem uma Tabela de Páginas, onde há uma
entrada para cada página do processo. Com a memória virtual,
um processo pode consistir de um grande número de páginas,
impossibilitando alocar a Tabela de Páginas dentro da memória
física. As Tabelas de Páginas desses processos são
implementadas em memória virtual (disco).
Para evitar esse problema, é usada uma memória cache
especial Translation Lookaside Buffer (TLB), para entradas da
Tabela de Páginas.
Organização de memória virtual:
Translation Lookaside Buffer (TLB)
O Translation Lookaside Buffer (TLB) funciona como uma
memória cache e contém as entradas (i.e. as linhas) da Tabela
de Páginas mais recentemente usadas. Para localizar uma
dada página, TLB é consultado e se encontrar (TLB hit), o
número do bloco correpondente é obtido e se nao encontrar
(TLB miss).
Organização de memória virtual: Tabelas
de Páginas
Existem duas formas básicas de projetar tabelas de páginas:
Ter uma única tabela de páginas, através de uma matriz de
rápidos registradores de hardware, com uma entrada para cada
página virtual, indexada pelo número da página. Esta é uma
solução cara se a tabela de páginas é grande;
Manter a tabela de páginas inteiramente na memória principal,
sendo que o hardware precisa de apenas um registrador que
aponta para o início da tabela de páginas.
Algoritmos de substituição de páginas
Quando ocorre uma falta de página, o sistema operacional
tem de escolher uma página para remover da memória a fim
de abrir espaço para a que está chegando. Se a página a ser
removida foi modificada enquanto estava na memória, ela
precisa ser reescrita para o disco a fim de atualizar a cópia em
disco. Se, no entanto, ela não tiver sido modificada (por
exemplo, ela contém uma página de código), a cópia em disco
já está atualizada, portanto não é preciso reescrevê-la.
Algoritmos de substituição de páginas
Vários critérios podem ser usados para :escolher “vítimas”, ou seja,
páginas a transferir da memória para a área de troca no disco como:
Idade da página;
Frequência de acessos à página;
Data do último acesso;
Prioridade do processo proprietário;
Conteúdo da página;
Páginas especiais.
Algoritmos de substituição de páginas
O algoritmo ótimo de substituição de página;