Você está na página 1de 21

Sistemas Operacionais Segmentao e Gerncia de Pginas

Prof. Andr Luis Meneses Silva alms@ufs.br www.campusitabaiana.ufs.br/ nsi

Agenda
Segmentao Necessidade por Substituio Algoritmos de Substituio de Pginas

Segmentao
Esquema de gerenciamento de memria que admite viso da memria pelo usurio Um programa uma coleo de segmentos. Um segmento uma unidade lgica como: programa principal, procedimento, funo, mtodo, objeto, variveis locais, variveis globais, bloco comum, pilha, tabela de smbolos, arrays

Viso de um programa pelo usurio

Viso lgica da segmentao


1 1 2 3 4 3 2 4

espao do usurio

espao da memria fsica

Arquitetura da segmentao
Endereo lgico consiste em uma tupla de dois: <nmero-segmento, deslocamento>, Tabela de segmento mapeia endereos fsicos bidimensionais; cada entrada de tabela tem: base contm o endereo fsico inicial onde os segmentos residem na memria limite especifica o tamanho do segmento Registrador de base da tabela de segmento (STBR) aponta para o local da tabela de segmento na memria Registrador de tamanho da tabela de segmento(STLR) indica o nmero de segmentos usados por um programa;

Hardware de segmentao

Arquitetura de segmentao (cont.)


Proteo A cada entrada na tabela de segmento, associe: bit de validao = 0 segmento ilegal privilgios read/write/execute Bits de proteo associados a segmentos; o compartilhamento de cdigo ocorre no nvel de segmento Como os segmentos variam em tamanho, a alocao de memria um problema de alocao dinmica de armazenamento Um exemplo de segmentao aparece no diagrama a seguir

Exemplo de segmentao

Substituio de Pgina
Prevenir a sobrecarga de memria pela modificao da rotina de tratamento de falta de pgina. A rotina agora, deve dar suporte a substituio de pgina. Para aumentar o desempenho
Uso do bit modificado para reduzir a sobrecarga de transferncia de pginas. Somente pginas modificadas so escritas no disco.

Algoritmo Bsico de Substituio


1. Encontre a localizao da pgina desejada no disco. 2. Encontre um frame (quadro) livre: - Se existe algum frame livre, use-o. - Seno, use o algoritmo de substituio de pginas. 3. Traga a pgina desejada para o frame escolhido. Atualize a pgina e a tabela de pginas

4. Recomece o processo do ponto onde o mesmo parou.

Algoritmos de Substituio de Pginas


So 3 os algoritmos mais comuns para substituio de pginas:
FIFO Algoritmo timo. LRU

Em nossos exemplos, usaremos os seguintes endereos de pginas. 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5

Algoritmo FIFO
String de Referncia: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 3 frames (3 pginas podem estar na memria ao mesmo tempo por processo).

1 2 3
4 frames

1 2 3

4 1 2

5 3 4 9 page faults

1 2 3 4

5 1 2 3

4 5 10 page faults

2
3 4

Beladys Anomaly: more frames more page faults

FIFO Anomalia de Belady

Substituir pginas que no sero usadas por um longo perodo de tempo. 4 frames exemplo. 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5
1 2 3 4 5 4 6 page faults

Algoritmo timo

Como saber?
Usado como parmetro de comparao de outros algoritmos.

String de referncia: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5
1 2 3 4 1 2 5 4 1 2 5 3 1 2 4 3

Menos Recentemente Usado (LRU) Algoritmo


5
2 4

Implementao com contadores


Toda entrada de pgina possui um contador; Quando uma pgina precisa ser substituda, olhar no contador para determinal qual ser a mudana.

Alocao de Frames
Cada processo precisa de um nmero mnimo de pginas. Pode ser usado dois esquemas de alocao
Alocao fixa. Alocao por prioridade.

Alocao Fixa/Prioridade
Alocao Fixa
Alocao Igual
Quantidade de Frames livres / nmero de processos.

Alocao Proporcional
Aloca de acordo com o tamanho do processo. Processos maiores ganham mais frames.

Alocao por Prioridade


Similar a proporcional, no entanto, a prioridade levada em considerao em detrimento ao tamanho do processo.

Se um processo no possui pginas suficientes, a taxa de falta de pgina muito alta. Isso leva a:
Baixa utilizao da CPU Sistema Operacional pensa que necessrio aumentar o grau de multiprogramao. Outro processo adicionado ao sistema.

Thrashing

Thrashing um processo est ocupado realizando swapping in e swapping out.

Thrashing

Referncia

Tanenbaum, Captulo 3.