• Nenhum resultado encontrado

Memória

N/A
N/A
Protected

Academic year: 2021

Share "Memória"

Copied!
38
0
0

Texto

(1)

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA BAHIA

Sistemas Operacionais

Prf. Msc. Igor de Oliveira Costa

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA BAHIA

(2)

Considerações Gerais

Em que consiste a multiprogramação?

Em manter vários processos executando na

memória.

Para que isso seja possível a memória precisa

ser alocada da melhor forma possível para

que um maior número de processos sejam

colocados na memória.

(3)

Onde são armazenados os programas ?

São armazenados no disco rígido, e sua execução

consiste em transferí-lo do HD para a memória

principal, para assim ser executado pela CPU.

Tanto SO Monotarefa quanto Multitarefa tem

gerência de memória.

O Mono tem uma gerência simples

O Multi tem uma gerência complexa

3

Considerações Gerais

(4)

Gerenciamento de Memória

“ Programas tendem a se expandir afim de ocupar

toda memória disponível ”

Os programadores querem memória que são:

grandesrápidas não voláteis

(5)

5

MMU ?

(6)
(7)

Gerenciamento de Memória

7

Gerenciador de Memória

Manter o controle de quais partes da memória estão em uso e quais não estão, alocando memória aos processos quando eles precisam ou liberando quando os mesmos terminam. Além de gerenciar a troca de processos entre memória e o disco quando a memória principal não é suficiente.

(8)

Gerenciamento de Memória

Hierarquia de memória

Cache - pequena quantidade, rápida e caraMemória principal - velocidade média e preço médioDiscos - preço baixo, lento e grande quantidade

Gerenciador de memória deve utilizar racionalmente a

hierarquia de memória

(9)

Gerenciamento Básico de Memória

Sistemas Monoprogramados

9

Três formas de organização da memória com um SO

e um processo de usuário

(10)

Multiprogramação

com partições fixas

¤

filas separadas para cada partição

¤

fila única

(11)

Modelagem da Multiprogramação

11

Supondo que cada processo utiliza a cpu em 20% do tempo que fica em memória

Modelo de aproximação probabilístico: Utilização da CPU = 1 - pn

Onde p é a fração de tempo que o processo espera por E/S e n é número de processo na memória;

(12)

Ex:

Um computador com 32 mb de memória, sendo

que destes 16 mb é dedicado ao SO, sobrando 16

mb para os programas, levando em consideração

que cada programa ocupa 4 mb na memória,

então o grau de multiprogramação é 4, e cada

programa tem uma ociosidade de 80%, sendo

assim qual será a utilização da CPU ?

Modelagem da Multiprogramação

(13)

Exercício

¨

Analisando a figura abaixo qual será a ociosidade da

CPU em um sistema que tenha grau de

multiprogramação 3, e com espera de 50 % de E/S?

13 Grau de Multiprogramação

(14)

Exercício

¨

Um computador com 500 mb de memória, sendo que

destes 100 mb é dedicado ao SO, sobrando 400 mb para

os programas, levando em consideração que cada

programa ocupa 20 mb na memória, e tem 80% de

ociosidade, qual será a utilização da CPU ?

¨

Defina MMU?

¨

Em se tratando de multiprogramação com partições

fixas, qual a desvantagem em utilizar filas separadas para

cada partição?

¨

Em se tratando de multiprogramação com partições

fixas, qual a vantagem em utilizar filas únicas?

(15)

Relocação e Proteção

15

Relocação e Proteção são problemas relacionados a

multiprogramação;

O loader (Linker) que traz o código do disco rígido para a

memória, deve conhecer o endereço a partir do qual

este será carregado;

(16)

Relocação e Proteção

Exemplo:

Suponha que a primeira instrução de um programa seja a chamada a um procedimento cujo endereço relativo é 100K dentro do executável gerado pelo compilador (linker).

Se o programa for carregado na partição 1 (figura acima), o salto para o

endereço 100 KB desviaria a execução para o código na área de memória do sistema operacional!

(17)

Problema de relocação:

Solução 01:

• Os endereços gerados pelo compilador devem ser somados ao valor inicial da partição que ele ficará;

Porém isso não resolve o problema da Proteção;

Solução 02 para ambos os problemas:

• Fornecer o processador com dois registradores especiais em hardware denominados REGISTRADOR-BASE e REGISTRADOR-LIMITE; • Cada endereço gerado pelo programa é somado à base e verificado se está dentro da partição alocada ao processo. O hardware protege ambos registradores de tentativas de modificação vindas de programas de usuários 17

Relocação e Proteção

(18)

Swapping

¨ Muitas vezes a memória não é suficiente para conter todos os processos ativos. Os excedentes são mantidos em disco. ¨ A alocação de memória se modifica quando: ¤processos chegam na memória ¤processos saem da memória ¨ O número e tamanho das partições variam ao longo do tempo

(19)

Swapping

19 • Quando as trocas deixam muitos espaços vazios é possível realizar uma compactação de memória.Deve ser feita alguma consideração em relação ao tamanho de memória alocado para cada processo.Processos podem crescerNormalmente se aloca uma quantidade extra de memória sempre que o processo for transferido para memória

(20)

Swapping

Espaço para crescimento do segmento de dados

(21)

Gerenciamento de memória

com listas encadeadas

21

Algoritmos de Alocação de memória para processos

First Fit • Aloca-se o primeiro segmento que couber o processo, quebrando-o em duas partes – Next Fit

• Fuciona igual ao First Fit com a diferença de guardar a posição;

Best Fit • Escolhe na lista o menor segmento disponível que caiba o processo; – Worst Fit • para evitar o problema de se deixar segmentos livres muito pequenos escolher o maior segmento possível

(22)

Gerenciamento de memória

com listas encadeadas

4 kb 7 kb 9 kb 10 kb 12 kb 18 kb 20 kb 12 kb First-Fit Best-Fit 17 kb Worst-Fit 5 kb

(23)

Memória Virtual

23

Tamanho dos programas maiores que o tamanho da memória.

• Adotava-se a solução denominada de overlays.

O programa era dividido em módulos (overlay). O overlay 0 era o primeiro a ser executado, em seguida o overlay 1. A tarefa de dividir o programa em módulos era do programador.Logo esta tarefa foi atribuída ao SO através do sistema de memória virtual.Um programa de 16MB pode ser executado em um computador com apenas 4MB de memória por meio da escolha sobre qual 4MB deve ser mantido em memória a cada instante.

(24)

Memória Virtual

A maioria dos sistemas de memória virtual utilizam a técnica de paginação.MOV REG, 1000Esse endereço virtual 1000 deve ser mapeado a um endereço físico.Endereços virtuais não são colocados diretamente no barramento de memória. Em vez disso ele vai para uma MMU (memory management unit) que mapeia endereços virtuais em endereços físicos.

(25)

Memória Virtual

(26)

Paginação

• O endereço virtual é dividido em páginas.

• As unidades correspondentes em memória física são chamadas de molduras de página.

• As páginas e molduras são do mesmo tamanho.

• Relação entre endereços virtuais e físicos é dado pela tabela de páginas. • MOV REG, 0 • MOV REG, 8192 • MOV REG, 20500 • MOV REG, 32780

(27)

Tabela de Páginas

27

(28)

Algoritmos de Substituição de Páginas

Quando ocorre uma falta de página o SO precisa:

escolher uma página para ser removidaliberar espaço para a nova página

Páginas modificadas devem ser salvas

páginas não modificadas são sobreescritas

É melhor não escolher uma página

frequentemente usada

provavelmente esta teria que ser trazida para a memória novamente

(29)

Algoritmo de Substituição de página

Ótimo

29

• Substituir a página que será necessária no futuro mais distante • Cada página é rotulada com o número de instruções que serão

executadas antes dela ser referenciada pela primeira vez. • A página removida será a de maior rótulo.

O algoritmo ótimo adia a ocorrência da próxima falta de página o máximo possível.

A ideia do algoritmo é retirar da memória a página que vai demorar mais tempo para ser referenciada novamente.

(30)

1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6

Algoritmo de Substituição de página

Ótimo

(31)

Algoritmo de Substituição de página

Ótimo

31 IMPOSSÍVEL DE IMPLEMENTAR

É utilizado como parâmetro de comparação

entre outros algoritmos.

O algoritmo que apresentar desempenho

próximo do algoritmo ótimo é considerado

bom.

(32)

Algoritmo Não Usada Recentemente (NUR)

Procura por páginas que não foram referenciadas nos últimos acessos para serem substituídas.

Cada página possui um bit referenciada (R) e um bit

modificada (M)

O SO saberá quais páginas estão sendo usada ou não.

O bit R assume o valor 1 sempre que a página é referenciada (lida ou escrita).

O bit M assume o valor 1 quando a página for escrita.

Os bits são modificados por hardware.

Quando um processo é retirado, os dois bits, de cada

página, são colocados em 0;

(33)

Algoritmo Não Usada Recentemente (NUR)

33

As páginas são classificadas em 4 categorias:

1. Não referenciada, não modificada2. Não referenciada, modificada3. Referenciada, não modificada4. Referenciada, modificada

O algoritmo NUR remove as páginas

aleatoriamente de uma categoria não vazia de ordem mais baixa

(34)

Algoritmo FIFO

Mantém uma lista encadeada de todas as páginas seguindo a ordem que elas entram na memóriaPáginas no início da lista são substituídasDesvantagensPáginas antigas na memória podem ser muito referenciadas

Anomalia de Belady

Quando o FIFO é utilizado, quanto mais page frame tiver maior vai ser a quantidade de pages fault;

(35)

35

(36)

Algoritmo Menos Recentemente Usada (MRU)

Assume que páginas usadas frequentemente serão usadas em

breve

– Descarta as páginas que há mais tempo não foram usadas

É preciso manter uma lista das páginas

– mais recentemente usada no início da lista, menos usadadas no fim – Atualizar a lista em cada referência a memória

Pode ser implementada com o auxílio de hardware específico;

Pode conter um campo extra na tabela de páginas que

armazene o valor do contador;

Hardware especial que contenha uma matriz nxn onde n é a

quantidade de molduras de páginas (page frame)

(37)

37

Algoritmo Menos Recentemente Usada (MRU)

(38)

Referências

Documentos relacionados

Observa-se na Figura 50 (d) que a desidratação provocada pela moagem é significativa quando as alíquotas são moídas acima de 60 e 240 minutos, para a

Pró-reitor de pesquisa e desenvolvimento institucional: Allan Macedo de Novaes Pró-reitor de educação a distância: Fabiano Leichsenring Silva Pró-reitor de pós-graduação

Uma an´alise mais detalhada das tempestades sobre o estado de Rondˆonia foi feita a partir dos dados coletados durante o experimento de campo Dry-to-Wet Atmospheric Me- soscale

A informação constante desta ficha de dados de segurança baseia-se nos conhecimentos de que dispomos neste momento e são conformes às leis nacionais e à legislação da CE, uma vez

4 Órgãos do Conselho de Administração Candidato à presidência Composição Comissão 3 (Finanças e administração) Presidente: Tunísia (Faouzia Najar)

Política: Família, Sociedade Civil e Estado .... Contexto Histórico: Conflito e sua

In what concerns to the antiviral activity, results obtained in the pre-treatment showed a tendency of both extracts to inhibit the Lentivirus viral infection

Nível físico Nível controlo de acesso ao canal MAC Nível físico Nível de ligação de dados HIPERLAN OSI Nível de rede Níveis superiores Nível físico MAC LLC IEEE 802.x..