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

Introduo a Sistemas Operacionais

Aula 3 - Gerncia de Memria RAM


Instituto Federal de Braslia
Profa. Msc. Cristiane Jorge de Lima Bonfim

Semestre Letivo 2015/1


Coordenao do Eixo de Informao e Comunicao

Roteiro da Aula

Gerncia de Memria - Justificativa

Gerncia de Memria - Objetivos

Tipos de Alocao de Memria

Paginao

Swapping

Memria Virtual por Paginao, Segmentao e


Swapping
Thashing

Gerncia de Memria - Justificativa


A memria principal do computador (RAM) sempre foi historicamente um
recurso escasso e caro. Os primeiros computadores pessoas de 16 bits tinham memria bsica de 640Kb, esta quantidade de memria pode ao
longo do tempo ser estendida e depois expandida para patamares maiores
mais compatveis com as demandas atuais de sistemas operacionais e
aplicaes.
O desenvolvedor de sistemas sempre teve que se preocupar com este recurso para possibilitar a convivncia de suas aplicaes com as demais
necessidades de uso desta memria pelo sistema computacional gerenciada pelo sistema operacional.
Nos sistemas mono programveis a gerncia da memria no muito
complexa, porm nos sistemas multi programveis (nosso foco neste curso) ela se torna crtica, devido necessidade de se maximizar o nmero de
usurios e aplicaes utilizando eficientemente o espao da memria principal.

Gerncia de memria - Objetivos

Tentar manter na memria principal o maior nmero de processos residentes, permitindo maximizar o compartilhamento do processador e demais recursos disponveis no sistema computacional gerenciado.
Mesmo sem espaos livres na memria o sistema deve permitir criao
de processos e a sua execuo. Este recurso transfere de forma temporria os processos residentes na memria principal para a memria secundria (disco rgido) fazendo swapping que ser detalhado posteriormente.
Deve permitir a execuo de programas maiores que a memria fsica
disponvel, implementada atravs de tcnicas de overlay e memria virtual.
Deve prover proteo das reas de memria ocupada (alocada) pelos
processos e pelo prprio sistema operacional, porm deve prover o compartilhamento de memria por processos diferentes quando for o caso
(comunicao entre processos visto na aula 2)

Tipos de Alocao de Memria

A alocao contgua simples foi implementada nos


primeiros sistemas operacionais porm ainda est
presente em alguns sistemas mono programveis.
Nesta alocao a memria principal subdividida em
duas reas: uma para o SO e outra pra o programa.
Memria principal

rea ocupada pelo Sistema Operacional

Registrador que delimita as


reas de sistema e de programa

rea ocupada pelos programas em execuo


no sistema

Obs: Caso o programa no ocupe toda a rea alocada haver memria


livre na rea de programa sem utilizao

Tipos de Alocao de Memria - Cont

Alocao particionada Esttica: Na inicializao do


sistema a memria era divida em tamanhos fixos
chamada de partio. Este particionamento era feito com
base nos programas que iriam rodar no sistema.
Havendo necessidade de um reparticionamento a
inicializao do computador era requerida.
Este tipo de alocao gera uma fragmentao interna nas
das
reas
de
memria
alocadas
para
programas/processos.

Tipos de Alocao de Memria - Cont

Alocao particionada Dinmica: neste tipo de


alocao cada programa utiliza o espao necessrio
tornam essa rea sua partio.
Isso resolve o problema da fragmentao interna da
alocao particionada esttica.
Porm este tipo de alocao gera a fragmentao externa
nas reas alocadas na memria.
Soluo 1: desfragmentao das reas ociosas da
memria
Soluo 2: realocao das reas ocupadas eliminando
reas ociosas entre elas.

Tipos de Alocao de Memria - Cont

Esse mecanismo de compactao das reas alocadas da


memria principal conhecido como alocao
particionada dinmica com relocao.
Este tipo de gerncia de memria foi implementado pelo
OS/MVT (Multiprogramming with a Variable number
of Tasks) da IBM.

Estrategias de alocao de partio


Os sistemas operacionais implementam, basicamente
trs estratgias para determinar em qual rea livre o
programa/processo ser carregado para execuo.
O objetivo destas estratgias diminuir a
fragmentao externa.
A melhor estratgia a ser adotada por um sistema
depende de uma srie de fatores, sendo o mais
importante o tamanho dos programas processados no
ambiente. Independente do algoritmo utilizado, o
sistema possui uma lista de rea livres, com o endereo e
tamanho de cada rea.

Estrategias de alocao de partio


Best-fit: este algoritmo seleciona a rea a ser alocada
com o tamanho que traga menor fragmentao interna.
Problema: Este algoritmo ao longo do funcionamento
do sistema poder trazer de volta o problema da
fragmentao externa.

Estrategias de alocao de partio


Cont.

Worst-fit: este algoritmo seleciona a rea a ser alocada


com o tamanho com maior sobra interna.
Esta tcnica deixa espaos livres maiores que permitem
a um maior nmero de programas utilizar a memria
diminuindo a fragmentao externa.
Problema: Este algoritmo ao longo do funcionamento
do sistema poder trazer de volta o problema da
fragmentao interna.

Estrategias de alocao de partio


Cont.

First-fit: este algoritmo seleciona a primeira partio


livre de tamanho suficiente para carga do programa.
Neste algoritmo, a lista de rea livres est ordenada por
endereos crescentemente.
Este algoritmo ao longo do funcionamento do sistema
poder de se obter uma grande partio livre nos
endereos de memria mais altos.
Das trs estratgias esta a mais rpida e consome
menos recursos do sistema.

Paginao

A paginao um esquema de gerenciamento de memria que permite que o espao de endereamento fsico de um processo no seja
contguo.
Evita a fragmentao externa e a necessidade de compactao.
Tradicionalmente o suporte paginao tem sido manipulado pelo
hardware.
Projetos recentes tem implementado a paginao integrante fortemente
o hardware e o sistema operacional principalmente em processadores
de 64 bits.

Swapping

Com o aumento da eficincia da multiprogramao, muitas


vezes um programa no podia ser executado por falta de
uma partio livre disponvel.
A tcnica de swapping foi introduzida para contornar o problema da insuficincia de memria principal.
Em todos os esquemas apresentados anteriormente, um programa/processo permanecia na memria principal at o final
de sua execuo.
O swapping uma tcnica de gerncia de memria aplicada
programas que aguardam espao na memria para sua
execuo.

Swapping Cont.

O sistema escolhe um processo residente, que transferido


da memria principal para a memria secundria (Disco
Rgido).
Os processos enviados memria secundria so resgatados
sempre que necessitarem voltar o ciclo de processamento,
de acordo com os algoritmos que administram a prioridade
de acesso ao processador.
Processos colocados na rea de swap esto geralmente em
estado de espera (wait) por serem em geral processos no
candidatos a serem escalonados para utilizar o processador.

Memria Virtual - Justificativa

As diversas tcnicas de gerncia de memria evoluram ao longo do


tempo no sentido de proporcionar um grande nmero de processos na
memria principal e reduzir a questo da fragmentao nos espaos
alocados para atendimentos de programas/processos.
Considerando que a tcnica de overlay de difcil implementao na
prtica e nem sempre uma soluo garantida.
Dessa forma:
A memria virtual uma tcnica sofisticada e poderosa de gerncia de memria, ondas memrias principal e secundria so combinadas dando ao usurio a iluso de existir uma memria muito maior que
a capacidade real da memria principal.

Memria Virtual Questes Tcnicas

Assim programas e suas estruturas de dados deixam de estar limitados


ao tamanho da memria fsica disponvel, pois podem possuir endereos associados memria secundria.
A primeira implementao de memria virtual foi realizada no incio da
dcada de 60 em um sistema chamado Atlas desenvolvido na Universidade de Manchester (Kilburn, 1962).
Posteriormente a IFB introduziu este conceito comercialmente na famlia System/370 em 1972.
Atualmente, a maioria dos sistemas operacionais implementa memria
virtual, com exceo de alguns sistemas operacionais de supercomputadores.

Memria Virtual por Paginao

uma tcnica de memria em que o espao de endereamento virtual


e o espao de endereamento real realizado atravs de tabelas de
pginas.
Cada processo possui sua prpria tabela de pginas, e cada pgina virtual do processo possui uma entrada na tabela (entrada na tabela de
pginas ETP) que traz informaes de mapeamento que permitem ao
sistema localizar a pgina real correspondente estando na memria
principal ou secundria (disco rgido)

Memria Virtual por Segmentao

uma tcnica de gerncia de memria onde o espao de


endereamento virtual dividido em blocos de tamanhos diferentes chamados segmentos. Nesta tcnica um programa
dividido logicamente em sub rotinas e estrutura de dados,
que so alocadas em segmentos na memria principal.
Enquanto na tcnica de paginao o programa dividido em
pginas de tamanho fixo, sem qualquer ligao com sua estrutura, na segmentao existe uma relao entre a lgica
do programa e sua alocao na memria principal.
A definio do segmento realizada pelo compilador, a partir do cdigo-fonte do programa e cada segmento pode representar um procedimento, funo, vetor ou pilha.

Thashing

quando h excessiva transferncia de pgina/segmentos entre memria


principal e a memria secundria. Este problema est tanto em sistemas
que implementam paginao quanto segmentao.
Ocorre quando existem mais processos competindo por memria principal
que espao disponvel.
Soluo: reduo do nmero de pginas de cada processo na memria.
Se a reduo no for suficiente o SO faz swapping para memria secundria e cai a performance do sistema.

Assim vimos hoje:

O as possibilidades de implementao de gerncia de


memria principal (RAM) em um Sistema Operacional, com objetivo de proporcionar um uso eficiente e
eficaz deste importante recurso imprescindvel a um
sistema computacional mono ou multi programvel.

Referncias Bibliogrficas

TANENBAUM, Andrew S. Sistemas Operacionais Modernos. 3ed. So Paulo:


Pearson Pretice Hall, 2010
MACHADO, Francis B. Arquitetura de Sistemas Operacionais 4e.
Rio de Janeiro: LTC, 2011
SILBERSCHATZ, Abraham. Fundamentos de Sistemas Operacionais.
Rio de Janeiro: LTC, 2011
OLSEN, Diogo Roberto. Sistemas Operacionais. Curitiba:Editora Livro Tcnico, 2010.

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