• Nenhum resultado encontrado

Estudo de técnicas de paginação.

N/A
N/A
Protected

Academic year: 2021

Share "Estudo de técnicas de paginação."

Copied!
79
0
0

Texto

(1)

UNIVERSIDADE FEDERAL DA PARAÍBA CENTRO DE CIÊNCIAS E TECNOLOGIA - CCT

ESTUDO DE TÉCNICAS DE PAGINAÇÃO ANTONINO MOHGIOVI

TESE SUBMETIDA AO CORPO DOCENTE DA COORDENAÇÃO DOS PRO-GRAMAS DE PÓS-GRADUAÇÃO DE ENGENHARIA DO CENTRO DE CIÊN CIAS E TECNOLOGIA DA UNIVERSIDADE FEDERAL DA PARAÍBA CO MO PARTE DOS REQUISITOS NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE MESTRE EM CIÊNCIAS - ( R . S c ) .

APROVADO POR: j\S\lít(?jfc;g*CetY& KtftC&ti

£

ÁU?1*Í?3T-V P r o f /BRUNO C. DA NÕ BÍCEGAT QUEIROZ

P r e s i d e n t e -COMISSÃO

P r o f ORION DE OLIVEIRA SILVA

-•a

A

P r o f . ADRIAN JAMES WEERHEIM

• ^ J A ^ C . M A J I T H I A

O r i e n t a d o r

-C A M P I N A GRANDE

ESTADO DA P A R A Í B A - BRASIL

(2)
(3)

é

AGRADECIMENTOS

Ao p r o f e s s o r JAY C. MAJITHIA, meu o r i e n t a d o r , p e l o empenho e dedicação com que me acompanhou durante a elaboração deste t r a b a l h o ;

Ao p r o f e s s o r MÁRIO T. HATTORI, ?e..a revisão dos ma -n u s c r i t o s desta Tese;

 CAPES p e l a ajuda f i n a n c e i r a e ã Universidade Fede-r a l da PaFede-raíba pelas condições m a t e Fede-r i a i s , indispensáveis ã Fede-r e a

lização desta obra;

Ao Centro de Prestação de Serviços Técnicos de Per -nambuco - CETEPE, na pessoa do seu Presidente Di-.- ROLDÃO GOMES TORRES, pelo apoio o f e r e c i d o , e membros da Divisão de Apoio Tec n i c o , p e l a colaboração e atenção dispensada na d a t i l o g r a f i a do t e x t o .

(4)

Este t r a b a l h o tem por o b j e t i v o a a n a l i s e de técnicas de paginação, em sistema que u t i l i z a m memoria v i r t u a l . Para o seu desenvolvimento, â apresentação dos conceitos de pagina , e de sua utilização fez-se necessária.

Para a t i n g i r a f i n a l i d a d e deste t r a b a l h o , as t e c n i -cas consideradas foram d i s c u t i d a s de início, i n d i v i d u a l m e n t e , quanto a sua f i l o s o f i a de suostituição das páginas, bem como da sua implementação, e em seguida uma comparação e n t r e as mesmas f o i r e a l i z a d a , baseada em modelos matemáticos, onde os r e s u l t a d o s o b t i d o s foram os mesmos alcançados empiricamente por vários pesquisadores.

Conclusões a r e s p e i t o dos r e s u l t a d o s , teóricos e prã ticos,são apresentadas.

Uma simulação destas técnicas com o i n t u i t o de se testarem aqueles r e s u l t a d o s é também sugerida.

(5)

4

o

ABSTRACT

The s u b j e c t o f t h i s paper i s an a n a l y s i s o f paging techniques used i n systems which operate i n v i c t u a l memory mode.

An e x p l a n a t i o n o f t h e concepts o f "page" and "paging" was necessary f o r t h e i n t r o d u c t i o n o f t h e s u b j e c t .

I n order t o a t t a i n t h e d e s i r e d o b j e c t i v e s , each o f t h e paging techniques considered i s discussed, w i t h r e g a r d t o i t s philosophy o f page replacement and i t s i m p l e m e n t a t i o n , and t h e n a comparative study i s performed, on basis o f mathematical models,

v;hich i s shown t o y i e l d t h e same r e s u l t s as those o b t a i n e d e m p i r i c a l l y by s e v e r a l r e s e a r c h e r s .

Conclusions about t h e t h e o r e t i c a l and p r a c t i c a l results are presented, along w i t h suggestions on f u r t h e r research on t h e s u b j e c t , by way o f s i m u l a t i o n o f t h e paging techniques discussed i n t h i s paper.

(6)

SUMARIO

1. INTRODUÇÃO E ESTRUTURA DA TESE

1.1 Importância do Problema 1.2 E s t r u t u r a Geral da Tese

2. ORGANIZAÇÃO DA MEMÓRIA

2.1 Alocação Sequencial

2.2 Alocação de Memoria P a r t i c i o n a d a

2.3 Gerenciamento de Memoria P a r t i c i o n a d a com Relocação 2.4 Gerenciamento de Memoria Paginada

2.5 Gerenciamento de Memoria com Demanda de Pagina 2.6 Conclusões Gerais

3. CONCEITO DE PAGINA E TÉCNICAS DE PAGINAÇÃO

3.1 0 que e Pagina

3.2 Por que Devemos Usar a Paginação 3.3 Como Opera um Sistema Paginado

3.4 Descrição das Técnicas de Paginação 3.5 Sumario das Técnicas de Paginação

(7)

4. COMPARAÇÃO ENTRE AS VÁRIAS TÉCNICAS DE PAGINAÇÃO

4.1 Implementação 4.2 Estudo Comparativo 4.3 Comparações eResultados

5. CONCLUSÕES E PESQUISAS FUTURAS

5.1 Resumo

5.2 A l g o r i t m o Ide=>l para Substituição de Paginas 5.3 Pesquisas Futuras - Simulação

(8)

INTRODUÇÃO E ESTRUTURA DA TESE

O o b j e t i v o p r i n c i p a l desta t e s e é fazer um est?jdo de técnicas de paginação analisando os r e s u l t a d o s o b t i d o s por vários pesquisadores. A análise tem por f i n a l i d a d e o b t e r a técnica que apresentou melhor desempenho.

1.1 Importância do Problema

A importância deste t r a b a l h o deve-se ao f a t o de vários pesquisadores terem desenvolvidos d i v e r s o s A l g o r i t m o s para u t i l i zação de memoria v i r t u a l , t a i s como: A l g o r i t m o FIFO;' A l g o r i t m o LRU; A l g o r i t m o Working Set(DENNING) [8 J Algoritmo PFFCCHU-OPDER BECK) [ 5 ] ; e o Algoritmo CPFRCSADEH) [ 2 l ] no i n t u i t o de melhorar a utilização da memoria p r i n c i p a l , sem contudo f a z e r uma compara -ção e n t r e as mesmas.

1.2 Estrutura Geral da Tese

Esta tese organizacionalmente está d i v i d i d a em 5 capí-t u l o s . A sua e s capí-t r u capí-t u r a será melhor encapí-tendida acapí-través do resumo f e i t o dos capítulos que a constituem.

(9)

2

1.2.1 CAPÍTULO 2: ORGANIZAÇÃO DA MEMÓRIA

Capítulo que f a z uma apresentação g e r a l dos esquemas e x i s t e n t e s para gerenciamento de memoria. Visando-se uma me-l h o r sequência na apresentação e compreensão do mesmo, os es quemas são mostrados conforme seu grau de complexidade. I n i c i -ando-se p e l o gerenciamento de memoria s e q u e n c i a l , que é o mais s i m p l e s , até apresentar-se o gerenciamento de memoria com de -manda de página, empregado na utilização de memoria v i r t u a l .

1.2.2 CAPÍTULO 3: CONCEITO DE PÁGINA E TÉCNICAS DE PAGINAÇÃO

Para u t i l i z a r - s e memoria v i r t u a l , e x i s t e a necessida de de d i v i d i r - s e os programas em várias p a r t e s a f i m de serem processados. Neste capítulo, uma definição destas p a r t e s de programas f o i f e i t a as quais foram chamadas de páginas, também mostra-se por que deve-se usar a paginação dando-se i n c l u s i v e o histórico do seu aparecimento, ainda apresenta-se através de uma função, como um sistema paginado opera, e p o r f i m a d e s c r i ção das técnicas de paginação a serem estudadas neste t r a b a l h o e f e i t a , c l a s s i f i c a n d o a s em duas c a t e g o r i a s , técnicas de p a r -tição f i x a e técnicas de participação variável.

1.2.3 CAPÍTULO 4: COMPARAÇÃO ENTRE AS VÁRIAS TÉCNICAS DE PA-GINAÇÃO EXISTENTES

(10)

é

o

Apôs a apresentação das técnicas, a serem a n a l i s a d a s , um estudo comparativo e n t r e as mesmas é f e i t o neste capítulo . Este estudo baseia-se no "Custo de Memoria", que d e f i n e q u a l a técnica que ocupara menor espaço de memoria em determinado i n -t e r v a l o de -tempo, e na "eficiência" das mesmas, que são parâme t r o s do f a t o r econômico.

Ainda, a a n a l i s e dos r e s u l t a d o s , o b t i d o s quando da comparação destas técnicas ê r e a l i z a d a e observações, com r e s -p e i t o a variação do tem-po dentro de cada técnica, são f e i t a s .

1.2.4 CAPÍTULO 5: CONCLUSÕES E PESQUISAS FUTURAS

Um resumo do 4-9 capítulo, as conclusões o b t i d a s e um a l g o r i t m o i d e a l para substituição de páginas são aqui apresen-tados. Como complementação deste t r a b a l h o uma simulação destas técnicas ê sugerida.

(11)

CAPITULO 2

ORGANIZAÇÃO DA MEMÓRIA

O o b j e t i v o p r i n c i p a l dos módulos de um s.*stema opera c i o n a l que gerenciam a memoria de um sistema de . oi.putador é o r g a n i z a r a memoria p r i n c i p a l . Especificamente este g e r e n c i a -mento terã dentre o u t r a s funções, as s e g u i n t e s :

1 - Manter r e g i s t r a d o o estado de cada posição da memoria , i s t o e, se cada posição e s t a alocada ou l i v r e .

2 - Determinar um plano para a distribuição aa memoria, deo:L dindo quem a ocupara, com que tamanho, quando e onde se-rá alocado.

3 Possuir técnicas de alocação ( A l l o c a t i o n ) , uma vez: d e c i -dido ocupar-se a memoria, posições específicas devem s e r selecionadas e as informações de alocação a t u a l i z a d a s .

M- - Possuir técnicas de liberação ( D e a l l o c a t i o n ) , um proces-so pode e x p l i c i t a m e n t e l i b e r a r a memoria previamente a l o cada, ou r e q u i s i t a r a memoria baseado num esquema de des_ atribuição.

0 esquema e s c o l h i d o para o gerenciamento da memória será uma decorrência n a t u r a l do desejo de p o s s u i r - s e em um s i s

(12)

é

o

tema o p e r a c i o n a l , módulos pequenos e simples p a r a o g e r e n c i a -mento da memoriaj maior f l e x i b i l i d a d e do usuário quanto ao uso do mesmo e melhor eficiência do sistema. Neste capítulo d a r e -mos a descrição de alguns esquemas e técnicas e x i s t e n t e s . A l g u mas destas técnicas darão maior utilização de memoria, "outras fornecerão ao usuário maior f l e x i b i l i d a d e , c u j a implicação des_ t a s f a c i l i d a d e s é t o r n a r os sistemas mais complexos, aumentar o custo de Hardware, bem como a i m p r o d u t i v i d a d e (Overhead). Os esquemas a serem d e s c r i t o s são:

1 - Gerenciamento de Memoria Sequencial 2 - Gerenciamento de Memoria Particionada

3 - Gerenciamento de Memoria P a r t i c i o n a d a com Relocação M- - Gerenciamento de Memoria Paginada

5 - Gerenciamento de Memoria com Demanda de Página

Para cada técnica e esquema de gerenciamento de memo r i a a s e r estudada, faremos a sua análise d i v i d i d a em três se-ções :

1 - Daremos uma visão geral do método e conceito empregados. 2 Daremos uma descrição do algoritmo de Software p a r t i c u

-l a r e o processamento r e q u e r i d o .

3 - Apresentaremos urna discussão das vantagens e desvanta gens para cada técnica em p a r t i c u l a r .

(13)

6

2.1 Alocação Sequencial

A alocação s e q u e n c i a l é um esquema simples de gerenciamento de memoria que não requer Hardware e s p e c i a l . Este e s -quema é usualmente associado a pequenos computadores padrões cujos simples sistemas o p e r a c i o n a i s operam em Batch. U t i l i z a n -do este esquema temos os computa-dores IBM OS/360 Primary Con-t r o l Program, IBM 1130 Disk M o n i Con-t o r SysCon-tem, IBM 7094- Fortran M o n i t o r System. Em t a i s sistemas não e x i s t e multiprogramação e uma correspondência unívoca ê f e i t a e n t r e um usuário, um J o b , um Job Step e um processo. A memoria é atribuída para um Job como mostrado na F i g u r a 2.1.

A memoria ê conceitualmente d i v i d i d a em três regiões contíguas, sendo que, uma partição da memoria e permanentement e alocada p e l o sispermanentementema o p e r a c i o n a l . 0 r e s permanentement a n permanentement e da memória f i

-ca reservado para um único JOB a s e r processado. Os JOB'S em g e r a l não ocupam toda a memória, consequentemente teremos uma t e r c e i r a p a r t e não u t i l i z a d a .

2.1.1 Software de Apoio

A F i g . 2.2 mostra o fluxograma para a alocação única mente s e q u e n c i a l . Este a l g o r i t m o ê u t i l i z a d o quando a r o t i n a r o t e i r o (JOB SCHEDULER) deseja o r g a n i z a r a memória para o p r o -cessamento de um JOB, desde que não e x i s t e nenhum no momento

(14)

S 1 S T E M A OPERACIONAL

D I S P O N Í V E L O

R E A L M E N T E U S A D O ] > P E L O J O B

\ ALOCADO M A S NÃO USADO

F I G . 2-1

(15)

ê 6> J O B N Ã O P O D E N À O J O B N Ã O P O D E S E R P R O C E S S A D O ? ' w S E R P R O C E S S A D O T E N T A R O U T R O J O B D E S I G N A R A MEM<5-R I A P A MEM<5-R A 0 J O B . C A R R E G A R E E X E C U T A - L O

±

J 0 3 T E R M I N O U — L I B E R A R A M E M Ó -R I A E D E T E -R M I N A -R OUTRO J03 PARA SER

P R O C E S S A D O

FIG. 2-2

(16)

s e n d o p r o c e s s a d o . 2 . 1 . 2 V a n t a g e n s A g r a n d e v a n t a g e m d e s t e esquema c o n s i s t e n a s u a s i m -p l i c i d a d e . Uma o u t r a v a n t a g e m e q u e não se n e c e s s i t a g r a n d e s c o n h e c i m e n t o s p a r a e n t e n d e r o u u t i l i z a r o s i s t e m a o p e r a c i o n a l . 2 . 1 . 3 D e s v a n t a g e n s A g r a n d e d e s v a n t a g e m d e s t e esquema está r e l a c i o n a d o ao f a t o q u e a m e m o r i a não e t o t a l m e n t e u t i l i z a d a . Uma o u t r a d e s v a n t a g e m é a má utilização dos p r o c e s s a d o r e s , d e v i d o a espe_ r a de uma operação de entrada/saída ( 1 / 0 ) , a l e m d a limitação n o t a m a n h o dos p r o g r a m a s a s e r e m p r o c e s s a d o s .

2.2 Alocação de M e m o r i a P a r t i c i o n a d a

A alocação P a r t i c i o n a d a , e uma das técnicas m a i s s i m p i e s p a r a g e r e n c i a m e n t o de m e m o r i a q u a n d o s e u t i l i z a m u l t i p r o -gramação. A memória é d i v i d i d a em várias p a r t e s o u partições, o n d e c a d a partição contém um JOB, v e r F i g . 2-3 .

2 . 2 . 1 A l g o r i t m o do S o f t w a r e

E x i s t e m várias m a n e i r a s de s e u t i l i z a r a alocação p a r

(17)

FIG. 2-3

(18)

t i c i o n a d a . A p r e s e n t a r e m o s a q u i , as duas m a i s comumente u s a d a s que são: UTILIZAÇÃO DE PARTIÇÃO ESTÁTICA ( S t a t i c P a r t i t i o n Spe c i f i c a t i o n ) e UTILIZAÇÃO DE PARTIÇÃO DINÂMICA ( D y n a m i c P a r t i -t i o n S p e c i f i c a -t i o n ) .

a ) Utilização de Partição Estática

Serã d e n o m i n a d a utilização estática, a divisão f e i t a ã p r i o r i n a m e m o r i a p a r a o p r o c e s s a m e n t o de q u a l q u e r JOB. E s t a técnica e s e m e l h a n t e a u s a d a n o s s i s t e m a s IBM'S OS/360 MFT ( M u i t i p r o g r a m m i n g w i t h a f i x e d n u m b e r o f T a s k s ) . As partições p o dem s e r c r i a d a s t a n t o p e l o o p e r a d o r do c o m p u t a d o r como podem s e r construídas d e n t r o do próprio s i s t e m a o p e r a c i o n a l . Um exem

p i o de uma t a b e l a de especificações de partição estática é d a -do n a F i g . 2.4. Na utilização d e s t a t é c n i c a , c a d a p r o g r a m a do usuã r i o e s p e c i f i c a a q u a n t i d a d e de m e m o r i a q u e o mesmo n e c e s s i t a r ã , l o g o , a partição estática é a p r o p r i a d a p a r a p r o c e s s a r p r o gramas de t a m a n h o s c o n h e c i d o s . 0 s i s t e m a o p e r a c i o n a l s e e n c a r -r e g a de a l o c a -r c a d a p -r o g -r a m a n a pa-rtição disponível c u j o t a • manho f o r a p r o p r i a d o p a r a o mesmo. 0 a l g o r i t m o p a r a g e r e n c i a r a alocação e a liberação das partições é um t a n t o s i m p l e s .

(19)

N Ú M E R O D A P A R T I Ç Ã O T A M A N H O P O S I Ç Ã O E S T A DO 1 2 3 4 5 8 K 3 1 2 K 0 CU PADA 1 2 3 4 5 3 2 K 3 2 0 K . 0 CUPADA 1 2 3 4 5 32K 3 52 K L I V R E 1 2 3 4 5 I 2 0 K 3 8 4 K L I V R E 1 2 3 4 5 5 2 0 K 5 0 4 K O C U PADA

TA BELA DE UTILIZAÇÃO DE PARTIÇÃO ESTAI F J G . 2 - 4 • _ ,

ê N U M E R O O A P A R T I Ç Ã 0 T A M A N H O P O S I Ç Ã O E S T A D O 1 2 3 4 5 8 K 3 1 2 K A L O C A 0 0 1 2 3 4 5 3 2 K 3 2 0 K A L O C A D O 1 2 3 4 5 — .

ENTRADA V A G A 1 2 3 4 5 I 2 0 K 3 8 4 K A L O C A D O 1 2 3 4 5 • — ENTRADA V A G A 1 2 3 4 5 T A B E L A D E E S T A D O D A S P A R T I Ç Õ E S A L O C A D A S Á R E A L I V R E T A M A N H O P O S I Ç Ã O E S T A D O i 2-3 4 3 2 K 3 5 2 K D I S P O N Í V E L i 2-3 4 5 2 0 X 5 0 4 K D I S P O N Í V E L i 2-3 4 E N T R A D A V A G A i 2-3 4 ENTRADA V A G A i 2-3 4 T A B E L A D E E S T A D O D A S Á R E A S L I V R E S F I G . 2 - 5

(20)

Serã d e n o m i n a d a utilização dinâmica, q u a n d o as p a r t i -ções são criadas.â m e d i d a q u e o s JOB'S são p r o c e s s a d o s e c u j o t a m a n h o das partições serã c o r r e s p o n d e n t e a c a d a JOB.

A F i g . 2-5 m o s t r a o esquema de 1 t a b e l a s p a r a a u t i

-lização de partição dinâmica. Duas t a b e l a s são u s a d a s , uma p a r a r e g i s t r a r as áreas a l o c a d a s e a o u t r a p a r a i n d i c a r as áreas d i s _ poníveis. A F i g . 26 m o s t r a um e x e m p l o de utilização de p a r t i -ção dinâmica. Na F i g . 2-6a vemos três partições a l o c a d a s n a me-m o r i a , c a d a ume-ma c o n t e n d o ume-m JOB de t a me-m a n h o c o r r e s p o n d e n t e . Se três JOB'S a d i c i o n a i s devem s e r m u l t i p r o g r a m a d o s , então n o v a s partições de t a m a n h o c o r r e s p o n d e n t e a c a d a JOB devem s e r c r i a -das n a s áreas l i v r e s r e s t a n t e s , F i g . 2-6b. Apôs os JOB* S s e r e m p r o c e s s a d o s , as partições serão l i b e r a d a s , a F i g . 2-6c m o s t r a o e s t a d o da m e m o r i a após d o i s JOB'S t e r e m s i d o p r o c e s s a d o s . P a r a e s c o l h e r - s e q u a l a área l i v r e da m e m o r i a q u e serã o c u p a d a p o r um JOB, e x i s t e m d o i s esquemas a s e a d o t a r . Uma m a n e i r a s e r i a a-l o c a r - s e o p r o g r a m a n o p r i m e i r o espaço de memória a-l i v r e q u e c o u b e r o mesmo e um s e g u n d o esquema s e r i a o de a l o c a r o p r o g r a m a n o espaço de memória l i v r e q u e m e l h o r o e n c a i x e , i s t o e , n o men o r espaço possível que c a i b a o p r o g r a m a , p a r a utilização d e s -t e s e s q u e m a s , d o i s a l g o r i -t m o s e x i s -t e m os q u a i s serão d e s c r i -t o s a s e g u i r :

(21)

U N I VE R S I D f t D E F E O F R f t L O A P A R A Í B A |

P r ó - K e i t o r t a Para Assuntos d o I n t e r i o r

Coordenação Setorial de Fcs-Graduação.

Rua Aprígio Veltfo. ES2 Tsí çn 321 722?-K 355 5$ 100 - Campina íirmide - 1'araíb-i

X

312 X 320 K 3 5 3 K 3 9 4 K 5 0 4 K S I S T E M A .OPERACIONAL J O B 1 ( 8 K ) J O B 2 ( 3 2 K ) •10 B 3 ÍI20K ) 102 4 K ( a ) E S T A D O I N I C I A L S I S T E M A OPERACIONAL 352 K 3 8 4 X 504 X 632 X 888 X 1 0 2 4 K J O B 1 ( 8 X ) JOB 2 ( 3 2 X ) JOB 4 ( 2 4 X ) '/////////////, . - I V R E ( 8 X ) / ^ J O B 3 {120 X ) J O B 5 (128 X ) J O B 6 (256 X) 312 K 3 2 0 K 352 X 376 X 504 K 632 X 838X 1024X S I S T E M A OPERACIONAL J O B 1 ( 8 K ) JOB 4 ( 2 4 K ) J O B 5 (128 K ) J O B 6 ( 2 5 6 K ) ( t> ) ALOCAÇÃO DE PARTIÇÃO COM OS JOBS 4.5E6

( c J JOBS 2 E 3 TERMINAR

F I G . 2 - 6

(22)

é

b . l A l g o r i t m o p r i m e i r o a s e a d a p t a r ( F i r s t F i t A l g o r i t h m )

N e s t e a l g o r i t m o a t a b e l a das ãreas disponíveis é m a n t i d a c l a s s i f i c a d a em o r d e m c r e s c e n t e p e l a s posições d e memo r i a . Quando uma partição d e v e s e r a l o c a d a , o a l g o r i t m o i n i c i a a p e s q u i s a n a t a b e l a p e l o endereço m a i s b a i x o e v a i s e m p r e com p a r a n d o o t a m a n h o da partição com o t a m a n h o d a área disponível, a t e e n c o n t r a r a p r i m e i r a ãrea disponível q u e c a i b a a partição a s e r a l o c a d a .

b.2 A l g o r i t m o m e l h o r a s e a d a p t a r ( B e s t F i t A l g o r i t h m )

A diferença básica e n t r e e s t e a l g o r i t m o e o F i r s t F i t ê q u e e n q u a n t o o F i r s t F i t c l a s s i f i c a a t a b e l a das ãreas disponíveis p e l a posição de m e m o r i a , a classificação d a s áreas disponíveis do B e s t F i t é f e i t a p e l o t a m a n h o d a ã r e a , i s t o ê,o p r i m e i r o b l o c o d a t a b e l a serã a área disponível de m e n o r t a m a -n h o . A s s i m a p r i m e i r a ãrea q u e s e e -n c o -n t r a r c u j o t a m a -n h o , s e a d a p t e a partição q u e se d e s e j a a l o c a r , serã de m e l h o r e n c a i x e . c ) P r o b l e m a da Fragmentação Vários f a t o r e s devem s e r c o n s i d e r a d o s n a e s c o l h a do a l g o r i t m o p a r a utilização de m e m o r i a p a r t i c i o n a d a , d e n t r e e l e s t e r í a m o s , r a p i d e z de alocação e s i m p l i c i d a d e q u a n t o ao s e u u s o . P o r e m o f a t o r m a i s i m p o r t a n t e a c o n s i d e r a r e o p r o b l e m a d a

(23)

16

fragmentação, q u e c o n s i s t e em se possuir, um grande numero de áreas disponíveis s e p a r a d a s , i s t o é , a porção de m e m o r i a disponível e f r a g m e n t a d a em p e q u e n a s p a r t e s . A fragmentação p o d e s e r m i n i m i z a d a através de uma e s c o l h a a d e q u a d a q u a n t o ao a l g o r i t m o a s e r u t i l i z a d o , p o d e n d o s e r o a l g o r i t m o p a r a utilização de p a r tição dinâmica, o F i r s t F i t o u o B e s t F i t . P a r a utilização de partição dinâmica e s t e p r o b l e m a p o d e s e r s u p e r a d o u t i l i z a n d o -se o u t r a s t é c n i c a s , t a i s como relocação e paginação q u e -serão e s t u d a d a s n a s seções s e g u i n t e s . 2.2.2 V a n t a g e n s As p r i n c i p a i s v a n t a g e n s ao s e p a r t i c i o n a r a m e m o r i a são: a ) Implementação d a multiprogramação, a c a r r e t a n d o em u t i l i z a r s e m a i s e f i c i e n t e m e n t e o s p r o c e s s a d o r e s e o s d i s p o -s i t i v o -s de e n t r a d a e -saída. b ) 0 H a r d w a r e não terã c u s t o s e x t r a s . c ) Os a l g o r i t m o s u s a d o s são s i m p l e s e de fácil i m p l e m e n t a -ção 2.2.3 D e s v a n t a g e n s Na utilização de m e m o r i a p a r t i c i o n a d a e x i s t e m várias

(24)

á» o

desvantagens que r e d u z e m a utilização da m e m o r i a .

a ) A fragmentação, q u e e um p r o b l e m a m u i t o s i g n i f i c a t i v o n o p a r t i c i o n a m e n t o da m e m o r i a .

b ) As ãreas disponíveis podem não t e r t a m a n h o s u f i c i e n t e p a r a a l o c a r a partição.

c ) E s t e esquema r e q u e r m e m o r i a m a i o r do q u e n a alocação s e q u e n c i a l , d e v i d o a multiprogramação, bem como s i s t e m a o -p e r a c i o n a l m a i s c o m -p l e x o .

d ) Da mesma m a n e i r a q u e n a alocação s e q u e n c i a l , a m e m o r i a poderá c o n t e r informações q u e n u n c a serão u t i l i z a d a s .

2.3 G e r e n c i a m e n t o de M e m o r i a P a r t i c i o n a d a com Relocação

Uma solução p a r a o p r o b l e m a de fragmentação s e r i a , c o m p a c t a r p e r i o d i c a m e n t e t o d a s as ãreas d i s p o n í v e i s , em uma única área contígua. I s t o poderá s e r f e i t o , d e s l o c a n d o - s e o conteúdo de t o d a s as partições a l o c a d a s de f o r m a q u e s e t o r n e m c o n t x -g u a s , como m o s t r a a F i -g . 2-7. E s t e p r o c e s s o e chamado c o m p a c t a ção ( o u recompactação já q u e podem s e r f e i t o várias v e z e s ) . A-p e s a r da relocação c o n c e i t u a l m e n t e s e r b a s t a n t e s i m A-p l e s , a o s e d e s l o c a r um JOB n a d a garantirá q u e o JOB será p r o c e s s a d o c o r r e t a m e n t e n a n o v a posição. I s t o d e v i d o a l g u n s i t e n s c h a v e s n o s p r o g r a m a s , t a i s como: ( 1 ) R e g i s t r a d o r e s B a s e , ( 2 ) Instruções que r e f e r e n c i a m a m e m o r i a , ( 3 ) E s t r u t u r a de Informação (Ex.FjL

(25)

5 JOS 7 (256 K ) 3 1 2 K 3 2 0 K 3 4 4 K J O B 1 ( 8 K ) J O B 4 ( 2 4 K ) asam . 4 7 2 K 728 K I0 24K ( o ) E S T A D O IM I C I A L 1024 K S I S T E OPERACIONAL M A

JL

X

J O B 5 ( 1 2 8 K ) J O B 6 ( 2 5 6 K ) 3 1 2 K 3 2 0 K 3 4 4 K 4 7 2 K 7 2 8 K ( b ) A P O S COMPACTAÇÃO 9 8 4 K 1024 K S I S T E MA O P E R A C I O N A L

1

J O B 1 ( 8 K ) J O B 4 ( 2 4 K ) J O B 5 { 1 2 8 K ) J O B 6 ( 2 5 6 K ) J O B 7 ( 2 5 6 K ) ( c ) APOS A L O C A R - S E A PARTIÇÃO C/O J O B 7 FI 6. 2 - 7

(26)

é

l a , P i l h a , e t c ) q u e u t i l i z a m a p o n t a d o r e s de endereços.

Uma solução p a r a e s t e p r o b l e m a s e r á , d e s l o c a r s e t o -dos os endereços d e n t r o do JOB,a s e r r e l o c a d o , do mesmo v a l o r d u r a n t e o p r o c e s s a m e n t o . E s t a relocação em a l g u n s c a s o s p o d e r á s e r c o m p l e x a . Uma das razões s e r i a como o S i s t e m a O p e r a c i o n a l determinará os a p o n t a d o r e s de endereços q u e d e v e m s e r a l t e r a -d o s .

Uma o u t r a solução e x i s t e n t e p a r a o p r o b l e m a d a r e l o -cação, será a de r e l o c a r - s e t o d o o JOB e p r o c e s s a - l o n o v a m e n t e do início. N e s t a a l t e r n a t i v a , além de p e r d e r - s e a l g u m t e m p o de máquina, d e v i d o a repetição de a l g u n s t r e c h o s de p r o g r a m a s , es_ t e reinício poderá não s e r viável, em c a s o s o n d e o p r o g r a m a j a t e n h a r e a l i z a d o a l g u m a s ações irreversíveis. V a r i a s técnicas

de H a r d w a r e f o r a m d e s e n v o l v i d a s v i s a n d o o p r o b l e m a d a r e l o c a -ção.

2 . 3 . 1 A l g o r x t m o do S o f t w a r e

J á q u e o início de c a d a espaço endereçãvel d e um JOB ( J o b A d d r e s s S p a c e ) não está r e l a c i o n a d o com a posição física da partição n a m e m o r i a será c o n v e n i e n t e considerálo n a p o s i -ção 0 ( z e r o ) . Com i s t o c a d a JOB atuará como s e e s t i v e s s e c a r r e g a d o n a posição 0 ( z e r o ) da m e m o r i a . E s t a s considerações são f e i t a s p a r a f a c i l i t a r os H a r d w a r e s de proteção p a r a a s p a r t i -ções a l o c a d a s .

(27)

20

0 a l g o r i t m o p a r a g e r e n c i a m e n t o das partições básica m e n t e e o mesmo q u e o d e s c r i t o n a seção 2.2 a p e n a s a c o n d i ç ã o , " q u a n d o a compactação f o r r e a l i z a d a " , será a d i c i o n a d a a e s t e a l g o r i t m o . Duas a l t e r n a t i v a s e x i s t e m p a r a a compactação, a p r i m e i r a e c o m p a c t a r - s e ãs áreas disponíveis l o g o a p o s a p a r tição s e r l i b e r a d a de m a n e i r a q u e a área disponível s e m p r e e s -tará contígua e não haverá fragmentação.

Uma s e g u n d a a l t e r n a t i v a será c o m p a c t a r a m e m o r i a sem p r e q u e uma área l i v r e r e l a t i v a m e n t e g r a n d e e s t i v e r disponível. A compactação ocorrerá com m e n o r frequência do q u e o e s q u e m a • a n t e r i o r , p o r e m a t a b e l a q u e manterá as áreas l i v r e s será m a i s

c o m p l e x a . A F i g . 2-8 m o s t r a o f l u x o g r a m a p a r a e s t e a l g o r i t m o . .

2.3.2 V a n t a g e n s

0 esquema de partição relocãvel e l i m i n a a f r a g m e n t a -ção t o r n a n d o a s s i m possível a aloca-ção de m a i s p a r t i ç õ e s , i s t o p e r m i t e um a l t o g r a u de multiprogramação r e s u l t a n d o n o a u m e n t o de utilização de m e m o r i a e dos p r o c e s s a d o r e s .

2.3.3 D e s v a n t a g e n s

Várias são as d e s v a n t a g e n s a s e r e m c o n s i d e r a d a s n e s -t e esquema:

(28)

1 -COMPACTAR A MEMORIA E ATUALIZAR A TA3ELA COR -RESPO NOENTE FIG. 2 - 8

(29)

22

a ) A relocação a u m e n t a o c u s t o de H a r d w a r e d o s c o m p u t a d o r e s .

b ) 0 t e m p o g a s t o p a r a a compactação das ãreas l i v r e s poderá s e r considerável.

c ) A p e s a r da compactação, p a r t e da m e m o r i a poderá n ã o s e r u -s a d a , d e v i d o a q u a n t i d a d e de área di-sponível -s e r m e n o r d o que a partição a s e r a l o c a d a .

d ) Como a partição c o n t e m t o d a s as instruções de um p r o g r a -ma, poderá o c o r r e r q u e a l g u m a s n u n c a serão e x e c u t a d a s .

2 . M- G e r e n c i a m e n t o de M e m o r i a P a g i n a d a

0 esquema a n t e r i o r m e n t e d e s c r i t o , alocação de p a r t i ções com relocação é uma das soluções p a r a o p r o b l e m a d a f r a g -mentação. E s t a relocação e f e i t a u t i l i z a n d o - s e d i s p o s i t i v o s c o p i a d o r e s de endereços os q u a i s f a z e m a junção de v a r i a s áreas

l i v r e s da m e m o r i a em uma única área contígua. E m b o r a o p r o b l e -ma de s e t e r várias áreas l i v r e s t e n h a s i d o r e s o l v i d o através d e s t e e s q u e m a , nem s e m p r e a fragmentação e r e d u z i d a . Uma o u t r a solução p a r a a fragmentação e q u e não n e c e s s i t a s e t o r n a r c o n tíguas as ãreas l i v r e s , é o esquema i n t i t u l a d o de G e r e n c i a m e n -t o de M e m o r i a P a g i n a d a . P a r a o G e r e n c i a m e n -t o de Memória P a g i n a da, c a d a espaço endereçável(Address S p a c e ) o u JOB e d i v i d i d o em p a r t e s i g u a i s os q u a i s são chamados páginas e i g u a l m e n t e a m e m o r i a física i d i v i d i d a em p a r t e s de mesmo t a m a n h o chamados

(30)

b l o c o s , s e n d o que q u a l q u e r p a g i n a poderá s e r a l o c a d a em q u a l q u e r b l o c o disponível. A p e s a r dos b l o c o s q u e contém as pági -n a s f i s i c a m e -n t e -não e s t a r e m co-ntíguos, l o g i c a m e -n t e as pági-nas e n c o n t r a m - s e contíguas, i s t o é, p a r a o usuário, t u d o s e p a s s a como s e o p r o g r a m a e s t i v e s s e a l o c a d o numa única área contígua. A c o p i a d o s espaços endereçáveis p a r a a m e m o r i a física, r e a l i -z a - s e u t i l i -z a n d o - s e r e g i s t r o s i n d i v i d u a i s p a r a c a d a p á g i n a , o s q u a i s são chamados de t a b e l a c o p i a d o r a de p á g i n a s , e l e s podem s e r p a r t e s r e s e r v a d a s d a memória o u podem s e r H a r d w a r e s e s p e -c i a i s .

V i s t o q u e c a d a página p o d e s e r a l o c a d a em q u a l q u e r b l o c o da memória e q u e as páginas n a memória e n c o n t r a m - s e l o g i _ c a m e n t e contíguas, não e x i s t e n e c e s s i d a d e s de s e t e n t a r a l o c a r t o d a s as partições de um JOB numa única área contígua. O b s e r v a ção d e v e s e r f e i t a com r e s p e i t o a e s c o l h a do t a m a n h o d a s p á g i -n a s , p o i s d e s t a e s c o l h a e que d e p e -n d e a eficiê-ncia do s i s t e m a .

Um e x e m p l o s i m p l e s e m o s t r a d o n a F i g . 2.9 u t i l i z a n -d o - s e p a r a o s i s t e m a páginas -de 1 . 000 b y t e s , o JOB 2 p o s s u i es paço endereçável de 3.00 0 b y t e s , o q u a l f o i d i v i d i d o em três páginas. A t a b e l a de páginas a s s o c i a d a ao JOB 2 i n d i c a a p o s i ção de s u a s páginas. N e s t e c a s o , a página 0 ( Z e r o ) está n o b l o -co 2 , página 1 n o b l o c o M- e a página 2 n o b l o c o 7. A instrução LOAD 1,210 8 do espaço endereçável do JOB 2 n a posição 0 5 1 8 ( P a

(31)

2h

g i n a O B y t e 5 1 8 ) n a r e a l i d a d e o c u p a r a a posição física 2 1 5 8 ( B l o c o 2 B y t e 0 5 1 8 ) . I g u a l m e n t e , o Dado 0 1 5 5 7 1 l o g i c a m e n t e n a posição 210 8 serã a l o c a d o n o endereço de m e m o r i a 710 8. E s t e e s quema e u s a d o em v a r i a s c o m p u t a d o r e s contemporâneos t a i s como, o XDS 9 4 0 , XDS SIGMA 7, CDC 3300. 2 . 1 . 1 A l g o r i t m o do S o f t w a r e E x i s t e m três t i p o s de t a b e l a s q u e devem s e r g e r e n c i a das p e l o S o f t w a r e do s i s t e m a o p e r a c i o n a l : T a b e l a de J 0 B ' S ( T J ) , T a b e l a de B l o c o s d a M e m o r i a (TBM) e a T a b e l a C o p i a d o r a de Pãgi n a s ( T C P ) . Cada JOB p o s s u i e n t r a d a i n d i v i d u a l n a T a b e l a d e J O B ,

i n d i c a n d o o endereço e o c o m p r i m e n t o d a s u a "TCP", bem como o u t r a s informações. A t a b e l a de b l o c o s da m e m o r i a i n d i c a a s condições de c a d a b l o c o n a m e m o r i a i s t o é , a l o c a d o o u d i s p o n í -v e l . A F i g . 2 . 1 0 m o s t r a as t a b e l a s q u e s e r i a m u t i l i z a d a s p a r a o e x e m p l o do p a r a g r a f o a n t e r i o r r e f e r e n t e a F i g . 2.9.

Um a l g o r i t m o s i m p l e s p a r a a alocação d o s espaços e n dereçãveis ê m o s t r a d o n a F i g . 2 . 1 1 . 0 único p a s s o não e x p l i c i -t a d o n e s -t e a l g o r i -t m o ê , a l o c a r -t a b e l a s c o p i a d o r a s d e páginas com n e n t r a d a s . Uma solução e r e s e r v a r d e t e r m i n a d o espaço d a área do s i s t e m a o p e r a c i o n a l p a r a as t a b e l a s c o p i a d o r a s . E s t a s t a b e l a s são a l o c a d a s i n d i v i d u a l m e n t e n e s t a área u s a n d o t e c n i -cas s e m e l h a n t e s ao esquema de m e m o r i a p a r t i c i o n a d a o n d e c a d a

(32)

Coordenação Setorícl de ! és vr;:duaçãò

Rua

Aprígio Vjehso. 882 Ti (".?") 321 7222-« 355

58.100-Caiiipiua Grande - furaíba

PAG. BLOCO °l I lOOOj 1 I

,1 J

2000 JOB I PAGO 518 LOAD 1.2108 • 1000 PAG. I 2000 • , r PAG.2 2108 0 1 5 5 7 1 J — . JOB 2 30001

T

IGOO4 -JOB 3

1

ESPAÇO ENDEREÇAVEL TABELA, COPIADORA DE PAGINAS

FIG. 2 - 9

(33)

ë

POSIÇÃO DA

JOB NUMERO

TAMANHO TA3ELA CO-' PI ADORA DE PÁGINAS E S T A D O 1 2K 600 t OCUPADO 2 3K 1160/ OCUPADO 3 IK A / % OCUPADO 4 ... ,/

//- \

V A Z I O I ÍS02) TABELA DE J03(JTJ PAG. N? £ BLOCO N° 0 ( 6 0 0 ) BLOCO N.° JOB 3 TCP J0!3 I TCP J0 8 2 TCP

TABELA COPIADORA D£ PAGINAS BLOCO N? E STA DO 0 SISTEMA OPERACIONAL 1 SISTEMA OPERACIONAL 2 JOB 2 3 DISPONÍVEL 4 JOB 2 5 JOB 1 6 JOB 1 7 J 0 B 2 8 J O B 3 9 DISPONÍVEL

TABELA DE BLOCOS DA MEMORIA (TBM)

FIG. 2 - 10

(34)

Coordenação Setorial de Fós-Graduação

« Z

g i 0

J

e l a S 0

-

8 8 r T e l f C 8 3

>

3 2 1

7222-II 355

DESEJA-SE ALOCArT UM ESPAÇO ENDE — RECAVEL DE TA — JVIANHO X,, CALCULAR O N U M E R O DE B L O C O S NECESSÁRIOS-X K ' CN* 4 ^ ) NA MEMORIA

PESQUISAR UM ESTADO VA-ZIO NA TABELA DE JOB. E

ATUALIZAR O ESTADO DA TABELA, " OCU P A D O "

I

ALOCAR A TABELA COPIADORA DE PAGINAS COM N ENTRA-DAS. ATUALIZAR A POSIÇÃO

NA TABELA DE J O B .

ALOCAR N_ BLOCOS D I S P O NÍVEIS NA MEMÓRIA, PES -QUlSANDO A TABELA DE ELOCOS

DA MEMÓRIA. ATUALIZAR O ES TAOO DA TABELA C/O NUMERO

DO JOB, BEM COMO/A TABELA

Ca)P\/\n'ORA JJ£ PAGINAS.

RETO R NO

O ESPAÇO E N D E R E — \ CAVEL NÁO PODE SERJ

ALOCADO MO MOMENTO^

F IG.

2 -11

(35)

28

é

o

t a b e l a e t r a t a d a como uma partição. Quando um Jôb ê p r o c e s s a -d o , s u a partição.correspon-dente a t a b e l a c r i a -d a e l i b e r a -d a .

2.4.2 V a n t a g e n s

0 esquema de m e m o r i a p a g i n a d a e l i m i n a a fragmentação, o q u e t o r n a possível a l o c a r m a i o r q u a n t i d a d e de JOB'S s i m u l t a n e a m e n t e . I s t o p e r m i t e um a l t o g r a u de multiprogramação, o q u a l r e s u l t a num a u m e n t o de utilização d a m e m o r i a e dos proces_ s a d o r e s . Também e l i m i n a o p r o b l e m a de relocação de partições.

2.4.3 D e s v a n t a g e n s V a r i a s d e s v a n t a g e n s devem s e r c o n s i d e r a d a s : a ) 0 H a r d w a r e p a r a c o p i a r as páginas a u m e n t a o c u s t o d o com-p u t a d o r . b ) P a r t e da m e m o r i a d e v e s e r u s a d a p a r a g u a r d a r v a r i a s t a b e -l a s , p r i n c i p a -l m e n t e as t a b e -l a s c o p i a d o r a s .

c ) A p e s a r d a fragmentação s e r e l i m i n a d a , um fenômeno análogo chamado, fragmentação i n t e r n a o u q u e b r a de p á g i n a , o c o r r e .

d ) P a r t e da m e m o r i a não será u t i l i z a d a se o número de b l o c o s disponíveis não f o r e m s u f i c i e n t e s p a r a a l o c a r o espaço e n dereçãvel do J o b a s e r p r o c e s s a d o .

(36)

2.5 G e r e n c i a m e n t o de Memoria com Demanda de P a g i n a

Em t o d o s os esquemas a n t e r i o r e s um JOB p a r a s e r p r o c e s s a d o t e r i a q u e s e r t o t a l m e n t e c a r r e g a d o n a m e m o r i a , e x i g i n -do q u e uma mesma q u a n t i d a d e de m e m o r i a e s t e j a disponível. D e v i do a e s t a condição vários JOB'S d e i x a v a m de s e r p r o c e s s a d o s a -p e s a r de e x i s t i r áreas l i v r e s n a m e m o r i a , -p o r e m , m e n o r q u e q u a l q u e r J o b a s e r p r o c e s s a d o . Uma solução p a r a e s t e p r o b l e m a s e r i a c o n s t r u i r - s e c o m p u t a d o r e s com m e m o r i a s e x t r e m a m e n t e g r a n des. Solução e s t a q u e a p e s a r de s i m p l e s não e e c o n o m i c a m e n t e viável. Uma o u t r a solução ê u t i l i z a r - s e s i s t e m a s o p e r a c i o n a i s os q u a i s dão a "ilusão" de s e p o s s u i r c o m p u t a d o r e s com m e m o r i a e x t r e m a m e n t e g r a n d e . J á q u e o g r a n d e t a m a n h o d a memória e m e r a m e n t e uma ilusão, chamou-se e s t a técnica de memória v i r t u a l

( V i r t u a l Memory) D e n n i n g T'9-l>

0 o b j e t i v o das técnicas a n t e r i o r e s e r a t e n t a r u t i l i -z a r cem p o r c e n t o a memória, n o e n t a n t o e s t e e s q u e m a , n o s e n t i d o lógico, p o d e u t i l i z a r m a i s d o q u e cem p o r c e n t o d a memo -r i a , i s t o e , a soma de t o d o s os espaços ende-reçáveis d o s J o b ' s a s e r e m m u l t i p r o g r a m a d o s p o d e e x c e d e r o t a m a n h o físico d a me-mória. A f i l o s o f i a básica p a r a a utilização d e s t a técnica e

c a r r e g a r apenas p a r t e dos p r o g r a m a s a s e r e m p r o c e s s a d o s em c o n t r a p a r t i d a com as o u t r a s técnicas o n d e o s p r o g r a m a s t e m q u e s e r c a r r e g a d o s t o t a l m e n t e .

(37)

30 A F i g . 2.12 m o s t r a um e x e m p l o n o q u a l 4- J o b ' s serão m u l t i p r o g r a m a d o s ; como i n d i c a d o n a F i g u r a , os três p r i m e i r o s J o b ' s f o r a m t o t a l m e n t e c a r r e g a d o s , porém o q u a r t o J o b a p e n a s d u a s das q u a t r o p a g i n a s estão n a m e m o r i a . E n t r e t a n t o e s t e J o b p o d e s e r p r o c e s s a d o c o r r e t a m e n t e s e as informações r e f e r e n c i a das e s t i v e r e m t o d a s c o n t i d a s n e s t a s d u a s páginas. ( E x . a i n s

-trução LOAD 1,1120 n a posição 100 do espaço endereçável do q u a r t o J o b s e r i a p r o c e s s a d a c o r r e t a m e n t e ) .

A t e n t a t i v a de se p r o c e s s a r um J o b sem c a r r e g á - l o t o t a l m e n t e n a m e m o r i a ê razoável ao f a t o de m u i t o s p r o g r a m a s u s a r a p e n a s p e q u e n a s p a r t e s de s e u espaço endereçável e n q u a n t o está s e n d o p r o c e s s a d o . J u s t i f i c a t i v a s p a r a t a i s adoções s e r i a m : a ) As r o t i n a s de e r r o s , e s c r i t a s p e l o usuário não p r e c i s a m e s t a r n a m e m o r i a , p o i s são u t i l i z a d a s a p e n a s q u a n d o um e r r o n o s dados o c o r r e r . b ) C e r t a s p a r t e s de p r o g r a m a s são m e r a m e n t e e x c l u s i v a s o u não p r e c i s a m s e r p r o c e s s a d o s c o n s t a n t e m e n t e . ( E x . C l a s s i

-ficação alfabética o u numérica de f o l h a s de p a g a m e n t o ) .

c ) A l g u m a s r o t i n a s são u s a d a s m e r a m e n t e e x c l u s i v a s d u r a n t e um p r o c e s s a m e n t o ( E x . R o t i n a de e n t r a d a , r o t i n a de cálcu-l o s e r o t i n a de s a í d a ) .

(38)

10001 1 2OO0' : 1 J O B I ° r ~

1

"1 IOOOJ » „ I l-^ 2ccd 1 -I }r 3 coe5 1 JOB 2 O r - I I I icco' ' J O B 3 OI 1 I r x ICO, L O A D 1,1120 1 » I04j A D D 1,2410 , lOCo' E > 0 II20! 0 0 6 8 0 2 I _ J 1 I J ' 0 S 2 ______ 3 » 1 S 4 2 S 7 \ \ 100 v. I \ 3 . 1 0 4 \ \ f ^ 4 0 C C \ ; \ 5 0 0 C \ /X ^ 6 0 0 0 / 7 0 0 0 I 00Ú 1 S 3 2 S 9 3 N 4 N

-^000 9 1 2 0 1 0 0 0 0 L O A D 1,1120 A D D 1 , 2 4 1 0 0 0 6 8 0 2 J O B 2 P Á G . 0 J O B 4 PAG. O J O B 2 PA'G. I JO,B I P A 6 . 0 J Q S I PAGl I J O B 2 PAG. 2 J O B 3 P A G O J O B 4 . PAG. I MEMORIA PRINCIPAL 0 0 6 2 5 1 T A B E L A C O P I A D O R A D E P A ' G I N A S • / 2410' I 2000|-I 4000" ' J O B 4

ESPAÇO ENDEREÇÁVEL FIG. 2-12 /

(39)

32

a r m a z e n a d a s n a m e m o r i a a u x i l i a r ( d i s c o s , t a m b o r e s m a g n é t i c o s ) . Quando uma d e s t a s páginas contém informações q u e f o r e m r e f e r e n c i a d a s ( v e r F i g . 2.12 n a q u a l a instrução ADD 1.2410 n a p o s i -ção 10 4- do JOB 4- referência uma página q u e não está n a memo-r i a ) uma intememo-rmemo-rupção n o p memo-r o c e s s a m e n t o do p memo-r o g memo-r a m a ocomemo-rmemo-rememo-rá a t é que a r e f e r i d a página s e j a c a r r e g a d a . 0 r e c o n h e c i m e n t o s e uma página e n c o n t r a - s e o u não n a m e m o r i a ê f e i t o com a u x i l i o d a t a b e l a c o p i a d o r a de páginas n a q u a l i n c l u i - s e um B I T de condição i n d i c a n d o s e a página está n a memória.(BIT DE CONDIÇÃO = S, o u , não e n c o n t r a - s e n a memória B I T DE CONDIÇÃO = N ) .

D e s t a m a n e i r a d i z - s e q u e as páginas s ã o , c a r r e g a d a s p o r demanda. 0 G e r e n c i a m e n t o de memória com demanda de p á g i n a a p e s a r de s e r a t r a t i v o , p o r não n e c e s s i t a r de memória disponí-v e l do mesmo t a m a n h o do espaço endereçãdisponí-vel a s e r p r o c e s s a d o , r e q u e r técnicas e s p e c i a i s a f i m de s e f a z e r as substituições das páginas. Já q u e a n t e s de s e c a r r e g a r a página em demanda , uma terá q u e s e r substituída e c o p i a d a n a memória a u x i l i a r , e n tão haverá uma t r o c a de página e n t r e a memória p r i n c i p a l e a memória a u x i l i a r . A e s t a técnica chamou-se de substituição d e página o u remoção de página, e p a r a d e c i d i r q u a l a página a s e r r e m o v i d a da memória, a l g o r i t m o s de substituição t e m s i d o o o b j e t i v o de vários p e s q u i s a d o r e s ( B e l a d y , [ 2 ] ; C o f f m a n L 6 j ; D e n n i n g , Q 9 ] , [ 1 0 ] ; G u s t a v s o n , [ 4 ] ; R a n d e l [ 20 ] e Chu, [ 5J ) como v e r e m o s n o s capítulos s e g u i n t e s .

(40)

é o

O esquema com demanda de página e u s a d o em a l g u n s s i s t e m a s o p e r a c i o n a i s contemporâneos t a i s como; V S / 1 , VS/2 e VM/

370 n o s i s t e m a I B M / 3 7 0 , M u l t i c s n o H o n e y w e l l 6 1 8 0 , e VMOS n o UNIVAC s e r i e 7 0 / 4 6 .

2 . 5 . 1 . A l g o r i t m o do S o f t w a r e

0 esquema com demanda de página dá g r a n d e f l e x i b i l i d a de p a r a o s i s t e m a o p e r a c i o n a l , o q u a l t e m r e c e b i d o consideráv e l atenção. N e s t e p a r a g r a f o e n u n c i a r e m o s a l g u n s d o s considerávários a l g o r i t m o s de substituições e x i s t e n t e s , d e i x a n d o a s s u a s d i s c u s s o e s e comparações p a r a os capítulos s e g u i n t e s o q u e será o o b -j e t i v o d e s t e t r a b a l h o . Dos vários a l g o r i t m o s e x i s t e n t e s o s m a i s u t i l i z a d o s u l t i m a m e n t e são:

a ) ALGORITMO FIFO (FIRST I N - FIRST OUT)

b ) ALGORITMO LRU (LEAST RECENTLY USED)

c ) ALGORITMO WS (WORKING SET)

d ) ALGORITMO PFF (PAGE FAULT FREQUENCY)

2.5.2 V a n t a g e n s

0 G e r e n c i a m e n t o com Demanda de página t e m t o d a s a s v a n t a g e n s d i s c u t i d a s com relação a m e m o r i a p a g i n a d a . P a r t i c u l a r m e n t e e l i m i n a a fragmentação e não n e c e s s i t a de compactação.

(41)

34

O u t r a s v a n t a g e n s a d i c i o n a i s a i n d a são:

1 Utilização de m e m o r i a v i r t u a l , onde o J o b a s e r p r o c e s -s a d o não e -s t a c o n d i c i o n a d o ao t a m a n h o fí-sico d a m e m o r i a .

2 - M a i o r eficiência n a utilização d a m e m o r i a , consequência do não a r m a z e n a m e n t o n a m e m o r i a d a p a r t e do J o b q u e n ã o serã p r o c e s s a d o n o momento. 3 - Multiprogramação i l i m i t a d a , i s t o é", a soma do t a m a n h o de t o d o s os J o b ' s a s e r e m m u l t i p r o g r a m a d o s p o d e s e r m a i o r do q u e o t a m a n h o físico d a memória. 2.5.3 D e s v a n t a g e n s A f o r a as d e s v a n t a g e n s m e n c i o n a d a s n a utilização de memória p a g i n a d a ( t a i s como, a u m e n t o do c u s t o de H a r d w a r e , Que_ b r a de P a g i n a e ocupação da memória p e l a s t a b e l a s ) , o u t r a s d e s -v a n t a g e n s a p a r e c e n e s t e esquema t a i s como:

1 0 número de t a b e l a s e a i m p r o d u t i v i d a d e dos p r o c e s s a d o -r e s d e -r i v a d o das inte-r-rupções dos p -r o g -r a m a s q u e estão s e n do p r o c e s s a d o s , d e v i d o a f a l t a de p a g i n a , ê m a i o r d o q u e no s i m p l e s esquema de g e r e n c i a m e n t o de memória p a g i n a d a .

(42)

N e s t e c a p i t u l o a p r e s e n t a r a m - s e a l g u n s d o s esquemas c o n h e c i d o s , p a r a utilização da m e m o r i a d o s c o m p u t a d o r e s , bem como uma descrição s u c i n t a s o b r e como f u n c i o n a c a d a técnica. No capí t u l o s e g u i n t e farseã uma a n a l i s e s o b r e o esquema de g e r e n c i a -m e n t o de M e -m o r i a co-m de-manda de p a g i n a , n a q u a l será f e i t a u-ma apresentação m a i s d e t a l h a d a s o b r e o que é p a g i n a e das técnicas de paginação m a i s u t i l i z a d a s , c i t a d a s no p a r a g r a f o 2.5.1.

(43)

CAPÍTULO 3

CONCEITO DE PÁGINA E TÉCNICAS DE PAGINAÇÃO

O o b j e t i v o d e s t e capítulo é f a z e r uma exposição s o b r e o c o n c e i t o e a utilização de p a g i n a e as técnicas d e p a g i -nação m a i s comumente u s a d a s , a b o r d a n d o o s s e g u i n t e s i t e n s : 0 que s e e n t e n d e p o r p a g i n a , p o r q u e deveremos u s a r a Paginação , como f a r e m o s p a r a o p e r a r um S i s t e m a P a g i n a d o e f i n a l i z a r e m o s d a n d o uma descrição s u c i n t a d a s técnicas de Paginação m a i s u t i l i z a d a s .

3 . 1 0 Que é Página

Páginas são b l o c o s C c o n j u n t o de informações) d e t a manho f i x o , d e f i n i d o s em função d o s p r o g r a m a s a s e r e m p r o c e s s a dos e do s i s t e m a q u e os comportará. C o n s i d e r a n d o q u e t a n t o o s p r o g r a m a s corno o s i s t e m a ( m e m o r i a ) u t i l i z a d o , podem s e r d i v i d i _ dos em p a r t e s i g u a i s de t a m a n h o f i x o , o n d e t e r e m o s uma c o r r e s -pondência unívoca e n t r e a s p a g i n a s d o s p r o g r a m a s e a s da memo-r i a , p o memo-r convenção, chamamemo-r-se-ão s i m p l e s m e n t e PAGINAS ( espaço endereçãvel p e l o p r o g r a m a d o r "ADDRESS SPACE") o s b l o c o s q u e conterão o s p r o g r a m a s , e E l o c o s ( P a g e F r a m e ) o u espaço d e memo r i a (Memory S p a c e ) a divisão f e i t a n a m e m o r i a p r i n c i p a l d o s i s t e m a . Num d e t e r m i n a d o s i s t e m a o n u m e r o t o t a l d e páginas p a r a

(44)

è

c a d a p r o g r a m a a s e r p r o c e s s a d o s e m p r e será m a i o r do q u e o nume r o de b l o c o s r e s e r v a d o s p a r a e s t e p r o g r a m a e mesmo a s s i m e l e p o d e s e r p r o c e s s a d o a c o n t e n t o , razão p e l a q u a l as páginas t a m bem são chamadas de endereços v i r t u a i s ( V i r t u a l A d d r e s s ) , v i s t o que p a r e c e s e r impossível p r o c e s s a r m o s N páginas n a m e m o r i a p r i n c i p a l q u e contêm M b l o c o s com N >>M.

3.2 P o r q u e Devemos U s a r a Paginação

Após o a p a r e c i m e n t o de l i n g u a g e n s de a l t o n í v e l , n o s meados d a década de 1 9 5 0 , os usuários dos c o m p u t a d o r e s v o l t a r a m - s e m a i s p a r a r e s o l v e r os p r o b l e m a s de programação s u r g i _ d o s , d e v i d o a a m p l a utilização dos c o m p u t a d o r e s n o s m e i o s c o m e r c i a i s , do que p r o p r i a m e n t e com os d e t a l h e s de máquina, d e t a

l h e s e s s e s q u e constituíam o g r a n d e obstáculo p a r a a. u t i l i z a ção dos c o m p u t a d o r e s em g r a n d e e s c a l a p r a t i c a m e n t e s o l u c i o n a d o . Com o d e s e n v o l v i m e n t o d e s s a s l i n g u a g e n s t o r n o u - s e e v i d e n t e a n e c e s s i d a d e de uma organização n a memória dos c o m p u t a d o r e s com o o b j e t i v o de o b t e r - s e um m e l h o r desempenho e r e n d i m e n t o , s u r g i n d o c o n s e q u e n t e m e n t e os s u p e r v i s o r e s do s i s t e m a constituídos de uma série de p r o g r a m a s próprios de c a d a s i s t e m a c o m p u t a d o r , os q u a i s o r g a n i z a m e d i s t r i b u e m o s r e c u r s o s disponíveis. Em de_ corrência de t o d a e s t a evolução e alterações r e a l i z a d a s n o s c o m p u t a d o r e s v e r i f i c o u - s e a n e c e s s i d a d e de c o n s t r u i r - s e mãqui nas com memória c a d a v e z m a i o r , solução e s s a não m u i t o viável d e v i d o ao a l t o c u s t o do s i s t e m a r e s u l t a n t e . B u s c a n d o uma

(45)

i

m e l h o r solução p a r a e s s e s p r o b l e m a s f o i q u e em 1 9 6 1 um g r u p o de p e s q u i s a d o r e s propôs um n o v o c o n c e i t o de a r m a z e n a m e n t o d e

informações [ 9 ] ,'chamado h o j e MEMORIA VIRTUAL ( V i r t u a l M e m o r y ) . A i d e i a básica c o n s i s t e em d a r ao p r o g r a m a d o r a ilusão de q u e e ~ x i s t e uma m e m o r i a m u i t o g r a n d e â s u a disposição, mesmo q u e n a r e a l i d a d e o c o m p u t a d o r p o s s u a uma memória r e l a t i v a m e n t e p e q u e -n a . P o r co-nve-niê-ncia, ao c o -n j u -n t o de e-ndereços r e f e r e -n c i a d o s p e l o s p r o g r a m a d o r e s chamaremos de P á g i n a s , o u também Endereços V i r t u a i s ( V i r t u a l A d d r e s s ) e o c o n j u n t o de vários Endereços V i r t u a i s , Espaço de Endereços (ADDRESS SPACE). E n q u a n t o q u e o s b l o c o s da memória também serão chamados Endereços de Memória

(Memory A d d r e s s ) e ao c o n j u n t o d e s t e s , Espaços de Memória (Memory S p a c e ) .

E x i s t e m d u a s técnicas p a r a a utilização d e Memória V i r t u a l , d i f e r i n d o c o n c e i t u a l m e n t e n a m a n e i r a d e como o r g a n i -z a r o s Endereços V i r t u a i s . Se e s t e s endereços t i v e r e m t a m a n h o variável a técnica será chamada de Segmentação, e n q u a n t o q u e , se t i v e r e m t a m a n h o f i x o , a técnica será chamada de Paginação ; os Endereços V i r t u a i s serão as páginas e os Endereços de Memó r i a , os B l o c o s . Vimos q u e p a s s o u - s e a u t i l i z a r Memória V i r t u a l p a r a m e l h o r a r o desempenho de um sistemaídevido a ilusão q u e se t e m do s i s t e m a p o s s u i r uma memória r e a l m e n t e g r a n d e ) . Por i s so p a s s o u s e a u t i l i z a r Memória V i r t u a l em q u a s e t o d o s o s s i s -t e m a s de c o m p u -t a d o r e s m o d e r n o s , e a Paginação ê uma d a s - têcni-38

(46)

c a s b a s t a n t e e m p r e g a d a . 3.3 Como O p e r a um S i s t e m a P a g i n a d o 0 o b j e t i v o de um s i s t e m a com paginação ê d a r m a i o r f l e x i b i l i d a d e na utilização d a m e m o r i a v i r t u a l r e d u z i n d o t a m -bem a q u a n t i d a d e de informações a s e r e m c o p i a d a s d a m e m o r i a a u x i l i a r p a r a a m e m o r i a p r i n c i p a l . A memória p r i n c i p a l é o r g a n i z a d a em b l o c o s , q u e s e r v e m p a r a a c o m o d a r as p a g i n a s . A i d e n t i -ficação de c a d a b l o c o serã f e i t a através do s e u Endereço n a Me mória ( F r a m e A d d r e s s ) q u e c o n s i s t e do endereço d a p r i m e i r a p a l a v r a de c a d a b l o c o . As informações a s e r e m c o p i a d a s c o n s t i -t u e m um c o n j u n -t o N= { 0 , 1 , . . . , n - 1 } de páginas n o s M= { 0 , 1 , . . . , m-1} b l o c o s em q u e f o i d i v i d i d a a m e m ó r i a , com N > M. P a r a m e l h o r compreensão de um s i s t e m a p a g i n a d o , d a r e mos nomes aos Endereços da Memória e âs páginas. Com e s s a f i n a -l i d a d e t e r e m o s a definição de uma função f : N MU { 0 } t a -l q u e a c a d a i n s t a n t e t e r e m o s :

f ( a ) = fa1 se o i t e m a está em M n o endereço a'

\_ 0 s e o i t e m a não está em M.

E s t a função f é c o n h e c i d a como C o p i a d o r a de E n d e r e ços ( A d d r e s s M a p ) , n a F i g 3.1 é m o s t r a d o como e s t a função c o

(47)

o ITEM A{ PAGINAS) I • JOB I JOB 2 I ENDEREÇOS VIRTUAIS

PAG BLOCO ESTADO I

I

I ITEM A'{ENDERE-ÇOS NA MEMORIA) MEMORIA PRINCIPAL I 7 J

TABELA COPIADORA DE PAGINAS

FIG. 3 - !

(48)

Os Endereços V i r t u a i s (Páginas) são g u a r d a d o s n a me m o r i a a u x i l i a r ( i t e m a ) e q u a n d o r e f e r e n c i a d o s serão c o p i a d o s na m e m o r i a p r i n c i p a l no Endereço a_|_ através d a t a b e l a c o p i a d o r a de páginas. A c o l u n a , E s t a d o ( p a r a g r a f o 2 . 4 ) d a t a b e l a c o -p i a d o r a será a t u a l i z a d a c o l o c a n d o - s e um S ( s i m ) -p a r a i n d i c a r que a página e n c o n t r a - s e n a m e m o r i a ( f ( a ) = a1) e um N (não )

c a s o contrário ( f ( a ) = 0 ) . Se ao r e f e r e n c i a r - s e uma página o s e u E s t a d o c o r r e s p o n d e n t e na t a b e l a e s t i v e r com um N, o p r o c e s s a m e n t o do p r o g r a m a será i n t e r r o m p i d o até q u e a mesma s e j a c o -p i a d a n a m e m o r i a . A s e g u i r o E s t a d o d a t a b e l a c o -p i a d o r a será a t u a l i z a d o c o l o c a n d o - s e um S_ e o p r o c e s s a m e n t o continuará, s e

ao t e n t a r - s e c o p i a r uma página a m e m o r i a e s t i v e r t o t a l m e n t e o c u p a d a , uma das páginas terá q u e s e r r e m o v i d a d a m e m o r i a u t i l i -z a n d o - s e uma R e g r a de substituição ( R e p l a c e m e n t R u l e ) d a n d o l u g a r a n o v a página a s e r a l o c a d a .

Com a f i n a l i d a d e de d a r m e l h o r eficiência a o s i s t e ma, H a r d w a r e s a s s o c i a d o s ã m e m o r i a são e m p r e g a d o s p a r a a u x i l i -a r -as t -a b e l -a s c o p i -a d o r -a s .

3. 4 Descrição das Técnicas de Paginação

(49)

-I 42

è

cas de paginação nos s i s t e m a s que u t i l i z a m memória v i r t u a l . A i

diferença c o n s i s t e na L o c a l i d a d e ( L o c a l i t y ) , que é a porção de memoria r e s e r v a d a p a r a cada p r o g r a m a , podendo e s t a porção s e r c o n s t a n t e (partição f i x a ) d u r a n t e t o d o o processamento , ou v a r i a r (partição variável) conforme a n e c e s s i d a d e do p r o -grama:

i i I

a ) Partição F i x a - Para cada programa em execução ê prê-fi-xada uma porção da memoria ( d e t e r m i n a d o número de b i o c o s ) , menor do que o t o t a l das páginas em que f o i p a r t i -c i o n a d o o p r o g r a m a , e e s t e numero será -c o n s t a n t e enquan-t o o mesmo e s enquan-t i v e r sendo p r o c e s s a d o .

b ) Partição Variável - A porção de memoria r e s e r v a d a p a r a cada programa em execução, poderá se c o m p a c t a r e expan d i r d i n a m i c a m e n t e d u r a n t e o seu p r o c e s s a m e n t o , um d e t e r -minado programa poderá o c u p a r espaço variável de memória

(número de b l o c o s ) a cada i n s t a n t e .

D e n t r e as várias técnicas e x i s t e n t e s p a r a a s u b s t i _ tuição de páginas na memória, descreveremos apenas as mais u-t i l i z a d a s a u-t u a l m e n u-t e , como os A l g o r i u-t m o s LRU ( L e a s u-t R e c e n u-t l y Used) e FIFO ( F i r s t I n - F i r s t O u t ) que u t i l i z a m partição f i x a

e o A l g o r i t m o Working Set f 1 1 j u t i l i z a n d o partição v a r i a -v e l .

(50)

p r o p o s t a s r e c e n t e m e n t e , serão d e s c r i t a s , t a i s como, o A l g o r i t mo PFF (Page F a u l t F r e q u e n c y ) p r o p o s t o p o r CHU-OPDERBECK [ 5 ] e o r e c e n t e m e n t e d e s e n v o l v i d o p o r SADEH [ 2 1 ] A l g o r i t m o CPFR

( C o n t r o l l e d Page F a u l t R a t e ) .

Os a l g o r i t m o s serão a p r e s e n t a d o s n a sequência: Apre sentação, F i l o s o f i a de Substituição das Páginas, Procediment o n a SubsProcedimentiProcedimentuição e Considerações a c e r c a de s u a i m p l e m e n Procediment a

-ção.

3.4.1 A l g o r i t m o LRU

.0 A l g o r i t m o LRU, abreviação de " L e a s t R e c e n t l y Used" (menos usada r e c e n t e m e n t e ) , s e l e c i o n a p a r a removação as pági -nas que p o r c e r t o período de tempo ( r e l a t i v a m e n t e Grande) não f o r a m r e f e r e n c i a d a s e encontram-se na memoria. A f i l o s o f i a bá s i c a d e s t e a l g o r i t m o ê que se uma página f o i r e f e r e n c i a d a n a memoria, p r o v a v e l m e n t e e l a será necessária novamente em s e g u i da e i n v e r s a m e n t e . Se uma página não f o i r e f e r e n c i a d a p o r um d e t e r m i n a d o período de tempo, p o s s i v e l m e n t e não o será f u t u r a mente. Para d e t e r m i n a r - s e a página que f o i a menos usada r e

c e n t e m e n t e , o a l g o r i t m o deve manter uma l i s t a na q u a l as pági nas que se e n c o n t r a m em execução devem e s t a r ordenadas de a

c o r d o com o seu uso. E s t a l i s t a é c o n h e c i d a como PILHA LRU e deve s e r a t u a l i z a d a apos cada referência.

(51)

44

A F i g . 3.2 m o s t r a uma configuração da P i l h a LRU.

0 t o p o da p i l h a contém o índice da p a g i n a que está sendo usada no momento e a base contêm o índice da página menos usada u l t i m a m e n t e . Supondo que em algum momento a c o n f i g u ração da p i l h a s e j a a m o s t r a t a na F i g . 3.2a e a próxima r e f e -rência s e j a a página de n9 K, então no p r o c e s s o de atualização, ao se r e f e r e n c i a r e s t a página, o s e u índice será d e s l o c a d o p a -r a o t o p o da p i l h a e t o d o s os o u t -r o s índices que e s t a v a m acima d e l e serão d e s l o c a d o s uma posição a b a i x o , F i g . 3.2b.

Devido ao a l t o c u s t o p a r a a implementação do a l g o r i t mo LRU, uma aproximação f o i f e i t a e sendo usada em a l g u n s s i s t e m a s IBM. E s t a aproximação do a l g o r i t m o LRU, c o n s i s t e em a s s o c i a r - s e a cada b l o c o da memória um BIT DE REFERÊNCIA, e em l u g a r de mover-se o índice da página r e f e r e n c i a d a , apenas o BIT ê a t u a l i z a d o , c o l o c a d o p a r a H u m ) . Sempre que uma demanda de página o c o r r e , o a l g o r i t m o u t i l i z a um a p o n t a d o r p a r a pes -q u i s a r os b l o c o s da memória de uma m a n e i r a cíclica. A p e s -q u i s a ê i n t e r r o m p i d a quando um BIT com o v a l o r 0_ ( Z e r o ) f o r e n c o n t r a do e t o d o s os BIT'S p e l o s q u a i s o a p o n t a d o r p a s s o u são f e i t o s i g u a i s a £ ( Z e r o ) . A página c o r r e s p o n d e n t e ao BIT e n c o n t r a d o com o v a l o r 0_(Zero) será substituída p e l a página em demanda, e e s t e BIT será a t u a l i z a d o com o v a l o r 1 . Se uma nova demanda oc o r r e r o a p o n t a d o r iniociará a p e s q u i s a no p o n t o onde t i n h a p a

(52)
(53)

-»4-6

r a d o .

3.4.2 A l g o r i t m o FIFO ( F i r s t I n - F i r s t O u t )

0 a l g o r i t m o F i r s t I n F i r s t Out ( P r i m e i r o a e n t r a r -p r i m e i r o a s a i r ) s u b s t i t u i as -páginas que -p o r mais tem-po e s t i veram na memoria. E s t e critério supõe que os programas tendem a s e g u i r uma sequência de instruções em s e u i n t e r i o r . P o r t a n t o uma página que está p o r um l o n g o período de tempo na memoria , adotando e s t e critério, será a que t e m menor p r o b a b i l i d a d e de s e r r e f e r e n c i a d a novamente, l o g o poderá s e r substituída. A sua implementação e s i m p l e s e f e i t a da s e g u i n t e m a n e i r a : uma t a b e l a com as páginas r e f e r e n c i a d a s é o r g a n i z a d a , sendo sua o r d e n a ção, de m a n e i r a cíclica. E e l a s são incluídas n e s t a t a b e l a a medida que f o r e m r e f e r e n c i a d a s . Um a p o n t a d o r a p o n t a p a r a a pá g i n a que p o r mais tempo está na memoria, quando e s t a f o r subs tituída o p o n t e i r o passará a a p o n t a r p a r a a sua v i z i n h a que passa a s e r mais a n t i g a , a s s i m a ordenação cíclica e m a n t i d a .

Neste método considerações devem s e r f e i t a s a reis p e i t o da p o s s i b i l i d a d e de porções de programas não serem e x e c u t a d a s s e q u e n c i a l m e n t e como se c o n s i d e r o u , p e l o contrário, deve mos c o n s i d e r a r a presença de pequenos Loops, derivações, chama das de s u b - r o t i n a s e e s t r u t u r a s semelhantes que causam uma dis_

(54)

é

persão s o b r e as páginas e consequentemente uma desorganização na sequência das instruções, o que v a i de e n c o n t r o a f i l o s o f i a c o n s i d e r a d a .

3.4.3 A l g o r i t m o W o r k i n g Set

Recentes p e s q u i s a s m o s t r a r a m que útilizando-se as par tições de memoria dinamicamente (Partição Variável), r e s u l t a uma m e l h o r utilização da memoria.

0 a l g o r i t m o W o r k i n g Set ê uma das técnicas p a r a u t i -l i z a r a memoria d i n a m i c a m e n t e , s u b s t i t u i as páginas que não f o

ram r e f e r e n c i a d a s d u r a n t e os últimos Tmseg onde T é um parâme-t r o do a l g o r i parâme-t m o dado em m i l i s e g u n d o s ( 1 mseg = 1000 páginas r e

f e r e n c i a d a s ) . Assim o desempenho desse a l g o r i t m o d e p e n d e r a mui. t o da e s c o l h a do parâmetro T e da característica dos p r o g r a m a s . A sua f i l o s o f i a ê a de m a n t e r na memória as páginas que f o r a m necessárias d u r a n t e os últimos Tmseg. Em g e r a l e l e pode s e r

c o n s i d e r a d o como um a l g o r i t m o LRU com a porção de memória d i s -ponível p a r a cada programa de tamanho variável.

Para d e t e r m i n a r - s e as páginas a serem r e m o v i d a s da memória, um d i s p o s i t i v o a u x i l i a r ê u t i l i z a d o , r e g i s t r a n d o t o -das as páginas r e f e r e n c i a d a s , nos últimos Tmseg; essas páginas permanecem na memória e as que não f o r a m r e f e r e n c i a d a s são r e

Referências

Documentos relacionados

• Pela análise da literatura disponível, é a primeira vez que a reação do óleo de mamona epoxidado e o ácido cítrico é estudada, criando, assim, um ponto de

The surface of SBA- 15 and Na-mag silica incorporated with aluminum, with high surface area than its parent sorbent, which ultimately increased the sorption of dyes,

É importante ressaltar que a restrição proteica gestacional acarreta em redução no número de cardiomiócitos (112,113) e aumento da apoptose destas células

Diante da complexidade do serviço de enfermagem na UTI, bem como da necessidade e importância da sistematização do cuidado, percebeu-se a necessidade do desenvolvimento do

Considering that the enzymes are not stable during storage, presenting an activity decrease over time, in addition to the impossibility of reuse in its free form, soybean

No Censo Populacional de 2010, o IBGE identifica, aproximadamente, 600 mil pessoas com deficiência no Estado de MT, representando 22,6% da população, e o Censo Escolar do mesmo

Tratando-se como hipótese verdadeira o que está escrito no dito periódico, um outro advogado – desta feita não é Hans Frank – indica com tal tese: (a) desprezo étnico

Vale ressaltar que estamos lidando aqui com a imagem de leitor figurada a partir da leitura das crônicas, não se trata de identificar o público real dos folhetins