Вы находитесь на странице: 1из 33

SISTEMAS OPERACIONAIS

Prof. MSc. Marco Antonio Alves Pereira

AVISO:
Todos os slides do curso foram elaborados com base em contedo da Internet, devidamente referenciados ao seu lado direito. Esta coletnea de informaes tem objetivo puramente educacional e no ser comercializado, descaracterizando-se o plgio ou qualquer tipo de utilizao indevida. Todos os crditos e direitos dos textos, imagens e vdeos utilizados pertencem aos seus respectivos proprietrios, no estando incorporados ao presente trabalho.

MDULO 8 PARTE 2
GERNCIA DE MEMRIA VIRTUAL

Prof. MSc. Marco Antonio Alves Pereira

Ao final deste Mdulo, voc estar fera em:


http://www.votepelosanimais.org.br/

Entender os conceitos bsicos de Memria Virtual.

Compreender como possvel executar programas maiores do que a memria disponvel.


Conhecer as tcnicas utilizadas pelos Sistemas Operacionais para implementao da Memria Virtual.

Working Set
Working Set (conjunto de trabalho) pode ser definido como sendo o conjunto de pginas que o processo est acessando com frequncia, em um determinado intervalo de tempo, e que portanto devem ser mantidas na memria.

Working Set
Conceito de localidade
Pgina 0 Inicializao WHILE () DO BEGIN

Pgina 1

Durante a execuo deste lao, o sistema deve manter estas pginas na memria principal!

Pgina 2

Pgina 3

END;

Pgina 4

Imprime resultados

Arquitetura de Sistemas Operacionais Machado & Maia

Working Set
Taxa de page fault x limite de pginas reais
Taxa de page fault
Arquitetura de Sistemas Operacionais Machado & Maia

Limite de pginas reais

Algoritmos de Substituio de Pginas


Quando a memria est cheia e novas pginas precisam ser carregadas, o sistema operacional precisa escolher qual pgina de um processo ser substituda. Para isso, so necessrios critrios e algoritmos especficos que selecionem a pgina a ser retirada da memria, de modo a causar o menor prejuzo possvel ao sistema.

timo Aleatrio FIFO First In, First Out LFU Least Frequently Used LRU Least Recently Used NRU Not Recently Used FIFO com buffer de pginas FIFO circular

Arquitetura de Sistemas Operacionais Machado & Maia

Algoritmos de Substituio de Pginas

Bits de referncia e modificao


Alguns algoritmos utilizam os bits de Referncia e Modificao para efetuar a escolha da pgina que ser substituda:

Arquitetura de Sistemas Operacionais Machado & Maia

Algoritmos de Substituio de Pginas

PESQUISE!

11

FIFO com Buffer de Pginas


Este algoritmo, antes de mais nada, FIFO! Portanto, a pgina candidata a substituio, inicialmente, a primeira que entrou na memria. Porm esta pgina, ao ser referenciada para substituio, colocada temporariamente em um buffer, na prpria memria, e no imediatamente levada para disco.
Por qu???

Arquitetura de Sistemas Operacionais Machado & Maia

Algoritmos de Substituio de Pginas

FIFO com Buffer de Pginas


Porque, pelo Conceito de Localidade, esta pgina pode ser referenciada novamente em curto espao de tempo, e se acontecer, ela j se encontra na memria, no sendo preciso fazer uma operao de I/O para carreg-la.

Arquitetura de Sistemas Operacionais Machado & Maia

Algoritmos de Substituio de Pginas

FIFO com Buffer de Pginas


incio Lista de pginas livres fim

(a)

(c)

(b)

fim

Lista de pginas alocadas

incio

Arquitetura de Sistemas Operacionais Machado & Maia

Algoritmos de Substituio de Pginas

FIFO Circular (Clock)


Novamente, FIFO! Portanto, a primeira pgina carregada na memria a candidata a substituio. Porm, antes de ser retirada, o sistema verifica o BR (bit de referncia). Se estiver setado para 1, significa que esta pgina foi recentemente utilizada, e portanto o sistema lhe dar uma nova chance de permanecer na memria.

Arquitetura de Sistemas Operacionais Machado & Maia

Algoritmos de Substituio de Pginas

FIFO Circular (Clock)


Ento, verifica-se a prxima pgina. Se o BR estiver setado como 1, passa-se prxima, e assim por diante...
Mas, ao dar uma chance pgina, o sistema seta o BR para 0 (zero)!

Ou seja, quanto mais usada for uma pgina, mais ela ficar na memria!

Arquitetura de Sistemas Operacionais Machado & Maia

Algoritmos de Substituio de Pginas

FIFO Circular (Clock)


BR= 1 P1 BR= 1 Pn P2 pgina mais antiga BR= 0 P3 pgina selecionada Pn BR= 0 P1 BR= 0 P2

BR= 0 P3

P5 (a)

P4

P5 (b)

P4

Arquitetura de Sistemas Operacionais Machado & Maia

Algoritmos de Substituio de Pginas

Tamanho de Pgina
O tamanho das pginas interfere no desempenho do sistema?
Pginas pequenas reduzem o problema da fragmentao. Mas quanto menor for o tamanho da pgina, maior ser a tabela de pginas, bem como mais elevado o nmero de page faults (taxa de paginao).
Consequncia disto???

Tamanho de Pgina
Apesar de pginas maiores aumentarem a chance de ocorrer fragmentao interna, esta a tendncia de projetos atuais de sistemas operacionais, devido queda do custo e abundncia de memria disponvel nos computadores.
Prefere-se ganhar em desempenho, diminuindose a taxa de page faults (taxa de paginao).

Tamanho de Pgina
Fragmentao interna
Pgina 0 PROGRAM Frag; VAR

Pgina 1

PROCEDURE A;

Pgina 2

END;

Pgina 3

BEGIN

END. Pgina 4 Fragmentao

Arquitetura de Sistemas Operacionais Machado & Maia

Translation Lookaside Buffer


A traduo de endereos virtuais em endereos reais consome tempo do sistema. Portanto, para tentar economizar este tempo, foi desenvolvido o conceito de TLB. O TLB nada mais do que um buffer que armazena as ltimas tradues de endereos efetuadas pelo sistema.

Translation Lookaside Buffer


Assim, antes de realizar os clculos de traduo de um endereo, quando referenciado, o sistema verifica se esta traduo j no se encontra no TLB.
Conceito parecido com o da memria Cache, no?

Em funo do Conceito de Localidade, existe grande chance de esta traduo j ter sido realizada!

Translation Lookaside Buffer


Translation Lookaside Buffer (TLB)
Endereo Virtual NPV Desloc. Translation Lookaside Buffer (TLB) BV 0 1 0 1 Memria principal 0 1 Tag End. Fsico

Tabela de mapeamento BV 1 1 1 0 End. Fsico

1 0 1

Memria secundria

Arquitetura de Sistemas Operacionais Machado & Maia

Proteo de Memria
A proteo em memria virtual por paginao se d em nvel de pgina. A autorizao de acesso determinada pgina se d atravs do estado de dois bits que se encontram na ETP de cada pgina, que so os chamados bits L e G.

Proteo de Memria
Proteo para pginas
Arquitetura de Sistemas Operacionais Machado & Maia

ETP de uma pgina:

Endereo da pgina/ segmento

Bits de proteo

Proteo de Memria
Mecanismo de proteo
LG 00 10 11 Descrio Sem acesso Acesso de leitura Acesso para leitura/ gravao
Arquitetura de Sistemas Operacionais Machado & Maia

Compartilhamento de Memria
Para que ocorra o compartilhamento de determinado contedo de uma pgina entre vrios processos, basta que a tabela de pginas aponte para uma mesma pgina na memria.
Reentrncia Dados compartilhados

Compartilhamento de Memria
Endereo virtual 1 Tabela de mapeamento de A

. . .
Memria Principal

Processo A Pgina

Espao de endereamento virtual de B Tabela de mapeamento de B

Endereo virtual 1

. . .

Processo B

Arquitetura de Sistemas Operacionais Machado & Maia

Espao de endereamento virtual de A

Swapping em Memria Virtual


Swapping em memria virtual
Processo F Memria Principal Processo A Processo B

Processo C

Sw
Processo D Processo E

ap

ou

Memria Principal

Processo B Processo A

ap Sw

in
Arquivo de swapping

Processo C Processo F

Processo B Processo D

Arquitetura de Sistemas Operacionais Machado & Maia

Thrashing
Excessiva transferncia de pginas e/ou segmentos entre a memria principal e memria secundria
Ocorre em dois nveis:
no prprio processo
no sistema
Arquitetura de Sistemas Operacionais Machado & Maia

Thrashing
Se existirem mais processos para serem executados que memria real disponvel, a nica soluo a expanso da memria principal.
Este problema no ocorre apenas em sistemas que implementam memria virtual, mas tambm em sistemas com outros mecanismos de gerncia de memria
Arquitetura de Sistemas Operacionais Machado & Maia

RESUMINDO...
Nesta segunda parte do Mdulo estudamos que importante o sistema manter as pginas mais usadas pelo processo na memria (working set). Vimos tambm que importante que o sistema escolha com critrio qual pgina ser substituda, evitando prejuzo ao sistema. Estudamos a influncia do tamanho das pginas no desempenho do sistema, bem como ocorre a proteo e o compartilhamento de pginas. E por fim discutimos que pode ocorrer swapping em memria virtual por paginao, e que o trashing um efeito perigoso ao desempenho do sistema.

FIM DO MDULO 8 PARTE 2

Prof. MSc. Marco Antonio Alves Pereira

Вам также может понравиться