Sie sind auf Seite 1von 7

INSTITUTO SUPERIOR POLITCNICO UNIVERSITRIO_____________________________________

CURSO: INFORMTICA DE GESTO


3o. SEMESTRE
Abril. 2005
CADEIRA:
SISTEMAS OPERATIVOS
Docente: Xavier Manussa
_____________________________________________________________________________________________

GESTO DE MEMRIA
INTRODUO

A organizao e gesto de memria primria tem sido um dos factores mais importantes que
influemciam o desenho dos Sistemas Operativos.
Programas mais dados devem estar na memria primria de modo a corer ou serem directamente
referenciados pelo CPU.
A memria secundria (discos, tambores e fitas magnticas, ) providenciam uma grande
capacidade e mais barata para guardar programas e dados que devem estar disponiveis para
processamento.

ORGANIZAO DE MEMRIA
Historicamente, a organizao e gesto da memria principal do computador tem grandemente
afectado a evoluo dos sistemas operativos. A organizao da memria a maneira como a
memria deve ser vista.
A memria tem sido vista como um recurso muito carro e por conseguinte requereu sempre a
ateno dos desenhadores dos sistemas que tm tentado sempre optimizar a sua utilizao.
Embora o seu preo tem vindo a reduzir-se , continua contudo cara em releo a memria
secundria. Assim, existem vrios esquemas de organizao e gesto de memria:
1.
2.

3.

4.

5.

Um programa de um utilizador na memria ou vrios programas dos utilizadores


ao mesmo tempo.
Se vrios programas esto na memria ao mesmo tempo cada programa ter ou
no o mesmo espao de tempo, ou dividimos a memria em pores chamadas
parties de diferentes tamanhos.
Se dividimos a memria em parties ser duma forma rgida com parties
definidas para perodos extendidos de tempo, ou proporcionamos uma partio
dinmica, permitindo ao sistema adaptar-se rpidamente mudanas de acordo
com as necessidades dos programas dos utilizadores.
Ser necessrio que os programas dos utilizadores sejam desenhados para
correrem em parties especficas, ou permitimos que os trabalhos possam corer
em qualquer partio disponvel desde que tenha capacidade para tal?
Ser necessrio que cada trabalho seja colocado num bloco contnuo de
localizaes de memria, ou permitimos os trabalhos serem parcelados em blocos
separados e colocados em qualquer slot na memria primria?

Os sistemas operativos so construidos implementado cada um destes esquemas.

Sistemas Operativos

Gesto de Memria

Pagina 1

INSTITUTO SUPERIOR POLITCNICO UNIVERSITRIO_____________________________________

GESTO DE MEMRIA
Independetemente do esquema de organizao adoptado para um sistema em particular,
necessrio decidir que estratgias devem ser empregues para se obter uma ptima
performance. As estratgias de gesto de memria determinam como uma dada organizao
de memria funciona sob vrias polticas:
1.
2.
3.
4.

5.

Quando que se coloca um novo programa na memria?


Ser quando o sistema especificamente o solicitar? Ou tentamos antecipar ao
pedido?
Aonde, na memria, colocamos o prximo programa a corer?
Colocamos os programas ajustadamente nos slots disponveis de modo a
minimizar o disperdcio de espao, ou colocamos os programas to rpido quanto
possvel para minimizar o tempo de execuo.
Se um novo programa tiver que ser carregado para a memria e, se esta estiver
cheia, qual dos outros programas dever ser retirado? o mais antigo programa
ou aqueles que so pouco usados?, ou aqueles que recentemente foram pouco
usados?

Os sistemas operativos tem sido implementados usando cada uma destas estratgias de gesto de
memria.

HIERARQUIA DE MEMRIA
Os sistemas de memria de computadores tornaram-se hierrquicos consistindo de vrias
camadas de memria:
i.
ii.
iii.

Memria Cache
Memria Primria
Memria Secundria

Tempo de acesso
Diminui

Memria Cache

Velocidade de
acesso aumenta
Custo de memria
por bit aumenta

Capacidade de
armazenamento
diminui

Fig. 1.1

Memria Primria

Memria Secundria

Programas
mais dados
podem ser
referenciados
directamente
pelo CPU.

Programas mais dados devem


primeiro ser movidos para a
memria primria antes de ser
referenciados pelo CPU.

Hierarquia da organizao de memria

Sistemas Operativos

Gesto de Memria

Pagina 2

INSTITUTO SUPERIOR POLITCNICO UNIVERSITRIO_____________________________________

A memria cache extremamente rpida e oferecendo por conseguinte altas velocidades de


execuo de instrues de programas bem como accesso rpido aos dados. A memria cache
mais cara comparativamente s restantes.
A memria primria de custo baixo em relao a memria cache. Programas e dados devem
ser guardados na memria primria para que possam ser usados pelo Processador (CPU). Os
programas e dados que no sejam imediatamente necessrios so guardados na memria
secundria, geralmente o DISCO DURRO.
A memria secundria por sua vez mais barata em comparao com a memria primria mas
oferece grande capacidade de armazenamento (permanente) de programas e dados. Isto , os
dados na memria secundria no desaparecem seno com a avaria do prprio dispositivo de
armazenamento (Disco Durro).As restantes memrias so volteis os dados ou programas
desaparecem assim que se termina a execuo do programa ou quando h um corte de energia.

ESTRATGIAS DE GESTO DE MEMRIA


As estratgias de gesto de memria propem-se a alcancar o melhor uso possvel e desempenho
do recurso muito caro que a memria. H trs tipos de estratgias de memria a saber:
i.

ii.
iii.

Estratgias de busca
a pedido
- por antecipao
Estratgias de colocao
Estratgias de substituio

As estratgias de busca visam determinar quando que a prxima parte do programa ou dados
deve ser carregada na memria. Nas estratgias de busca por pedido, o programa e dados sero
trazidos para a memria quando especificamente forem requeridos. Nas estratgias de busca por
antecipao, o sistema antev as necessidades do programa e tenta carregar na memria os
mdulos do programa e dados necessrios antes de efectivamente serem necessrios. Quando
forem necessrios estaro disponveis na memria e o programa pode continuar em execuo
sem demora.
As estratgias de colocao visam determinar aonde na memria principal dever ser colocado
um novo programa. H trs tipos a saber:
i.
ii.
iii.

Onde primeiro se ajusta


Onde melhor se ajusta
Onde pior se ajusta

Onde primeiro se ajusta o programa colocado no primeiro bloco de memria principal capaz
de o albergar.
Onde melhor se ajusta o programa colocado no bloco de memria principal onde melhor se
ajusta, isto , o menor bloco livre mas capaz de albergar o programa de modo a deixar
(disperdiado) o menor espao possvel.

Sistemas Operativos

Gesto de Memria

Pagina 3

INSTITUTO SUPERIOR POLITCNICO UNIVERSITRIO_____________________________________

Onde pior se ajusta o programa colocado no maior bloco livre de memria principal de modo
a deixar (livre) o maior bloco possvel.
As estratgias de Substituio visam determinar qual dos programas existentes na memria
dever ser removido para dar lugar ao novo programa.

Alocao Contgua vs Alocao No Contgua de Memria


Sistemas de alocao contgua de memria requerem que o programa inteiro ocupe um bloco
de localizaes adjacentes de memria para que possa ser executado. Nos sistemas de alocao
no contigua de memria os programas e dados podem ocupar pequenos blocos separados que
podem estar em qualquer espao livre de memria, mesmo quando esses blocos no sejam
adjacentes entre um e outro.
MONOPROGRAMAO (Alocao de Memria para um Programa)
Os primeiros computadores eram dedicados a um s utilizador de cada vez. Os primeiros
sistemas de um s utilizador usaram os primeiros sistemas operativos, geralmente consistindo de
sistemas de controlo de entrada/saida para facilitar a programao.
0
a

Sistema Operativo

Programa do Utilizador
b

No usada
c

Fig 1.2

Alocao de memria contgua para um programa do utlizador

Nestes sistemas a proteco consistia de um s registo de delimitao que separava a rea de


memria do programa do utilizador com a rea ocupada pelo sistema operativo.
CPU
0

Sistema Operativo
Registo de delimitao
a

Programa do Utilizador
b

No usada

Todos os registos gerados


pelo programa do utilizador
so verificados para se apurar
se no sero inferiores a a.

Fig 1.3 Proteco de memria num sistema de alocao contigua para um programa do utlizador

Sistemas Operativos

Gesto de Memria

Pagina 4

INSTITUTO SUPERIOR POLITCNICO UNIVERSITRIO_____________________________________

Sistemas de um utilizador (Single Stream Batch Processing)


Os primeiros sistemas de um s utlizador tinham a memria dedicada a um s trabalho durante
mais tempo do que o tempo de execuo do mesmo. Geralmente, os trabalhos necessitavam de
tempo de set up durante o qual o sistema operativo era carregado, as cassettes e os discos eram
montados, os formulrios apropriados eram colocados na impressora, os cartes eram perfurados
etc. Quandos os trabalhos eram concluidos outro tempo era dispendido na retidara dos mesmos.
Durante esse tempo de set up e de desmontagem dos dispositivos usados pelos trabalhos o
computador permanecia inactivo.
Os desanhadores do sistema observaram que se podessem automatizar a transio de trabalhopara-trabalho poderiam reduzir consideravelmente o tempo disperdiado entre os trabalhos.
Assim surgiram os Sistemas de Processamento Batch. Em sistemas de um utilizador os trabalhos
so agrupados em lotes carregados consecutivamente em cassettes ou discos. O processador da
cadeia dos trabalhos lia as declaraes da linguagem de controlo dos trabalhos e facilitava o set
up do prximo trabalho.
Atravs deste mecanismo de funcionamento os sistemas de processamento batch aumentaram
consideravelmente o uso dos sistemas de computadores e ajudaram a demonstrar o real valor dos
sistemas operativose e a gesto intensive dos recursos.

MULTIPROGRAMAO DE PROGRAMAO FIXA


Com traduo e endereamento absolutos
Com traduo e enderaamento realocveis
Enventualmente, tornou-se evidente que diversos utilizadores podiam partilhar a mquina ao
mesmo tempo, mas tinha que haver mecanismos de proteco entre os jobs dos diversos
utilizadores. Em Multiprogramao de Partio Fixa com traduo e carregamento
absolutos, os programas do utilizador esto preparados para correr em parties especificas. Se
a partio para correr um dado programa no estivesse disponivel, ento tinha que esperar ,
mesmo se uma outra partio estivesse livre.
Em Multiprograo de Partio Fixa com traduo e carregamento realocveis, um
programa pode ser carregado em qualquer partio disponvel que tenha capacidade suficiente
para o conter.

Proteco em Sistemas de Multiprogramao


A proteco em sistemas de multiprogramao com alocao contigua de memria e feita
atravs de dois registos de delimitao que so parte do CPU. Cada endereo gerado deve ser
verificado para se apurar se se encontra dentro do intervalo de endereos de memria que so
permitidos serem acedidos pelos programas. O utilizador que pretendesse usar o sistema
operativo para ter acesso a funes de entrada/saida devia o fazer usando uma rotina especial
chamada instruo de chamada do supervisor. Esta instruo permite atravessar a barreira do
sistema operativo para obter certos servios. Depois de o sistema operativo executar as devidas
funes o control retornado ao programa do utilizador.
Sistemas Operativos

Gesto de Memria

Pagina 5

INSTITUTO SUPERIOR POLITCNICO UNIVERSITRIO_____________________________________

CPU
0

Sistema Operativo

baixa delimitao

a
c
b

Partio 1

alta delimitao

Partio 2
c

Partio 3
d

No usada
e

Fig 1.4
Proteco de memria em alocao de memria contigua em sistemas de
multiprogramao. Todos os registos gerados por um programa em execuo so verificados
para se apurar se se encontram dentro dos limites permitidos b e c.

Fragmentao em Sistemas de Multiprogramao de Partio Fixa


A fragmentao nestes sistemas ocorre de duas formas:
1. Os trabalhos (programas) no ocupam totalmente as parties aonde correm
2. As parties podem ficar desocupadas em virtude de serem muito pequenas para
correr certos trabalhos espera.

MULTIPROGRAMAO DE PARTIO VARIVEL

Coalescing Holes
Em multiprogramao de partio varivel quando os trabalhos terminam deixam livres os
blocos de memria que ocupavam. Estes blocos podem ser registados e comporem uma lista de
blocos livres de memria de modo que os blocos adjacentes podem ser juntados para formar um
bloco maior. O processo de anexar blocos adjacentes livres de memria para formar o maior
possvel bloco de memria chamado coalescing holes.
Compactao de Memria
Mesmo com a compactao dos blocos livres de memria, possivel que uma considervel
quantidade de memria livre se encontre espalhada ao longo da mesma atravs de pequenos
blocos separados. Neste caso pode ser que o sistema no tenha bloco de memria contguo
suficiente para correr um programa. A tcnica de compactao de memria permite mover todos

Sistemas Operativos

Gesto de Memria

Pagina 6

INSTITUTO SUPERIOR POLITCNICO UNIVERSITRIO_____________________________________

os blocos ocupados de memria de modo a estarem num mesmo extremo enquanto noutro
extremo fica a parte de memria livre.

Sistema Operativo

Sistema Operativo

Em uso

Em uso

Livre

Em uso
Em uso

Em uso
Livre

Livre

Em uso

Livre

Figura.1.5

Compactao de Memria em Multiprogramao de Partio Varivel

SISTEMAS DE TROCA DE MEMRIA (SWAPPING).


Multiprogramao pode tambm ser implementada via swapping com apenas um utlizador na
memria de cada vez. O utlizador corre o seu programa at que no possa mais continuar. E
ento o programa movido (swapped) para fora da memria principal, e o prximo utilizador
carregado para a memria para tambm correr at no mais poder continuar. A tcnica de
swapping usada quando a memria limitada. Foi usada nos primeiros sistemas de tempo
partilhado que suportavam poucos utilizadores. Sistemas de swapping de memria mais
sofisticados permitem diversos programas permanecer na memria ao mesmo tempo.

Sistemas Operativos

Gesto de Memria

Pagina 7

Das könnte Ihnen auch gefallen