SO I Parte - 8 1 - Aula

Você também pode gostar

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 39

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 1
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.

Introduo
Memria virtual uma tcnica que combina memria principal e secundria Maximizar o nmero de processos na memria Reduzir a fragmentao Permitir estruturas e dados maiores que a memria
Arquitetura de Sistemas Operacionais Machado & Maia

Conceitos Fundamentais
Espao de Endereamento Real
So os endereos da memria fsica (real) do sistema computacional.

Espao de Endereamento Virtual


So os endereos virtuais criados pelo sistema operacional para serem entregues s aplicaes.

Conceitos Fundamentais
Endereo virtual 0 Endereo real 0 Endereo real 1 Endereo real 2 Endereo real 3

Endereo virtual 1 Endereo virtual 2 Endereo virtual 3 Endereo virtual 4 Endereo virtual 5

. . .
Endereo virtual V

. . .
Endereo real R

Arquitetura de Sistemas Operacionais Machado & Maia

Espao de endereamento virtual

Espao de endereamento real

Conceitos Fundamentais
Como ocorre a carga de um programa em um ambiente de memria virtual?
Quando o usurio solicita ao sistema a carga de um programa, na verdade o programa no necessita ser carregado inteiro para a RAM. O cdigo do programa ser dividido em blocos, e estes blocos sero carregados virtualmente no espao de endereamento virtual, e no na memria real (fsica) como estudamos at agora.

Conceitos Fundamentais
Ento, na verdade, ao carregar um programa, o sistema operacional cria uma memria fictcia, baseada em disco, e faz a sua carga nesta memria. A aplicao pensa que est na RAM, mas no est! Ela continua no disco, dividida em blocos!

Conceitos Fundamentais
Assim, os blocos do programa no ocupam a RAM desnecessariamente, pois permanecem no disco. Estes blocos vo sendo carregados para a RAM quando o cdigo contido neles vai sendo solicitado para execuo.

Conceitos Fundamentais
http://driverentry.com.br/blog/?p=302

Conceitos Fundamentais
Quando vrios programas so carregados, criado um espao de endereamento virtual para cada um deles, e todos permanecem em disco. Estes espaos de endereamento virtual so protegidos e independentes!

Conceitos Fundamentais
http://driverentry.com.br/blog/?p=302

Conceitos Fundamentais
Mapeamento
Se cada programa, ao ser carregado, na verdade permanece em disco, em seu espao de endereamento virtual, ento preciso que exista alguma estrutura de controle por parte do S.O. para gerenciar onde se encontra cada um dos blocos de cada programa. A tcnica responsvel por isto chamada de Mapeamento, e o controle dos blocos alocados fica em uma Tabela de Mapeamento.

Conceitos Fundamentais

http://blogs.technet.com/b/suporte/archive/2010/01/27/gest-o-de-mem-ria-kernel-modevs-user-mode.aspx

Mapeamento e a Tabela de Mapeamento:

Conceitos Fundamentais

Conceitos Fundamentais
Cada Processo tem sua tabela de Mapeamento:
Espao de endereamento virtual de A Endereo virtual 1 Tabela de mapeamento de A

. . .
Memria Principal

Processo A

Espao de endereamento virtual de B Tabela de mapeamento de B

Endereo virtual 1

. . .

Processo B

Arquitetura de Sistemas Operacionais Machado & Maia

VAMOS PENSAR?
Considerando o que foi visto at agora, rena sua equipe e tente responder a estas questes: -Quais so as vantagens imediatas do fato do programa ser dividido em blocos e carregado em partes para a RAM? - Uma vez que o programa vai sendo carregado aos poucos (blocos) do disco, e que esta leitura pode ser considerada como sendo muito lenta, qual o impacto da tcnica de memria virtual sobre o desempenho global do sistema? - Pondere o que melhor: manter muitos ou poucos blocos de um programa na RAM.

Tcnicas
Existem duas tcnicas fundamentais para a gerncia de Memria Virtual:
Paginao Segmentao

Daremos nfase tcnica de Paginao, pois a mais utilizada atualmente pelos S.O.

Paginao
Por definio, a Paginao uma tcnica de gerncia de Memria Virtual onde o espao de endereamento virtual e o espao de endereamento real so divididos em blocos de mesmo tamanho chamados de Pginas.
Arquitetura de Sistemas Operacionais Machado & Maia

Paginao
As pgina no espao de endereamento virtual so chamadas de Pginas Virtuais. As pginas no espao de endereamento real so chamadas de Pginas Reais ou Frames.
Por questes didticas, vamos chamar as Pginas Virtuais apenas de Pginas e as Pginas Reais apenas de Frames.
Arquitetura de Sistemas Operacionais Machado & Maia

Paginao
Quando se solicita a carga de um programa, o S.O. vai ler este programa, carreg-lo em seu espao de endereamento virtual (mantido em disco). Este espao de endereamento virtual, na verdade, organizado em pginas, e o programa ser fatiado e cada pedao colocado em uma destas pginas!
Aqui estamos vendo um programafonte apenas por questes didticas. Na verdade o Executvel que ser carregado!

Paginao
Tabela de Pginas
A Tabela de Pginas a responsvel por armazenar as informaes referentes ao local de cada pgina do processo.
Pgina 3, est no disco ou na RAM? (ou seja, ainda se encontra no espao de endereamento virtual ou j foi carregada?).

Paginao
Tabela de Pginas:
Memria Principal Memria Virtual Pgina real 0 Pgina virtual 0 Pgina real 1 Pgina virtual 1 Tabela de pginas Pgina virtual 2 ETP

. . .
Pgina real R

. . . .
Pgina virtual V

Memria Secundria

Arquitetura de Sistemas Operacionais Machado & Maia

Paginao
Tabela de Pginas
Cada processo tem a sua Tabela de Pginas. As T.P. so constitudas de ETPs (Entradas na Tabela de Pginas). Cada ETP armazena vrias informaes sobre as pginas e sua localizao!
Quantas ETPs uma T.P. possui?

VAMOS PENSAR?
Imagine um Sistema Operacional que opera com memria virtual por Paginao. Cada pgina tem tamanho de 4 Kb. Um determinado programa carregado, sendo que este possui 49 Kb de tamanho. Quantas pginas virtuais sero criadas para a carga deste programa? Haver fragmentao interna em alguma delas? Qual(is)? Quantas ETPs a Tabela de Mapeamento ter? Tempo da atividade: 5 minutos.

PESQUISE!

Paginao
Ainda sobre a Tabela de Pginas...
As ETPs armazenam as informaes referentes traduo de um endereo virtual em um endereo real.
Ou seja, a pgina n encontra-se em disco ou na RAM? Se estiver na RAM, em qual frame se encontra?

Porm, as ETPs armazenam tambm outras informaes sobre as pginas, como por exemplo o bit de validade, que indica se a pgina est carregada ou no.

Paginao
Bit de Validade, Page Fault e Page In:
Endereo virtual Tabela de pginas Memria Principal Bit de validade 0
Pag e

Page in
f au lt

Memria secundria

Memria Principal Tabela de pginas

Bit de validade 1 Memria secundria

Arquitetura de Sistemas Operacionais Machado & Maia

Paginao
Traduo do endereo virtual para real:
Como o sistema sabe onde se encontra um endereo especfico, quando referenciado? So necessrias duas informaes:
NPV (nmero da pgina virtual) e; Deslocamento.

Paginao
Traduo do endereo virtual para real:
O NPV obtido na tabela de pginas. Deslocamento significa quantos endereos, a partir do topo daquela pgina, est o endereo sendo referenciado para execuo. Por exemplo...

Paginao

Suponha que este endereo esteja sendo referenciado para execuo Ele se encontra na NPV 2 e tem Deslocamento 4.

Pgina virtual

Paginao
Traduo do endereo virtual para real:
NPV

Deslocamento Endereo virtual

Desloc.

T abela de pginas

ETP End. do frame

End. do frame

Desloc.

Frame Deslocamento Endereo fsico

Arquitetura de Sistemas Operacionais Machado & Maia

Paginao
Polticas de Busca de Pgina
Quando um determinado endereo referenciado para execuo, o S.O. precisa verificar se a pgina que contm este endereo j est carregada na memria ou no.
Isto facilmente verificado atravs do estado do Bit de Validade de sua ETP.

Uma vez constatado que a pgina no est na memria, o sistema precisa l-la do disco e fazer a carga na RAM.

Paginao
Polticas de Busca de Pgina
Porm, isto pode ocorrer de duas maneiras: Paginao Antecipada, ou; Paginao por Demanda.
a

Paginao
Polticas de Busca de Pgina
Na Paginao Antecipada, o sistema aproveita a leitura que far em disco e leva no somente a pgina que contm o endereo referenciado, e carrega tambm algumas pginas vizinhas. J na Paginao por demanda, carrega-se apenas a pgina que contm o endereo referenciado.

VAMOS PENSAR?
Discuta com seus colegas de equipe as possveis vantagens e desvantagens das tcnicas de Paginao Antecipada e Paginao por Demanda, listando-as.

Tempo da atividade: 5 minutos.

Para saber mais sobre o assunto, acesse:


http://driverentry.com.br/blog/?p=302 http://blogs.technet.com/b/suporte/archive/ 2010/01/27/gest-o-de-mem-ria-kernelmode-vs-user-mode.aspx

http://www.cin.ufpe.br/~can/Arquivos/geren cia.pdf

RESUMINDO...
Nesta primeira parte do Mdulo voc viu que os programas, quando colocados em execuo em um sistema que implementa Memria Virtual, no so carregados totalmente para a memria RAM. Na verdade eles so divididos em blocos e os blocos vo sendo levados para a memria principal conforme seus endereos so referenciados. Tambm aprendeu como funciona a tcnica de Paginao e os conceitos envolvidos nesta tcnica.

FIM DO MDULO 8 PARTE 1

Prof. MSc. Marco Antonio Alves Pereira

Você também pode gostar