SISTEMAS OPERACIONAIS Gerencia de memoria Horรกcio Ribeiro
GERENCIA E MEMORIA Funções básicas - transferir os programas da memoria secundária para a memoria principal - Buscar reduzir o número de operações de I/O - Manter na memória Principal o maior número de processos - Fazer swapping (transferencia temporaia de um programa para disco)
GERENCIA E MEMORIA
Alocação contígua simples Area do sistema operacional Area do programa
Area do sistema operacional
Área do programa
Área não utilizada
Registrador de controle de acesso
TECNICAS DE OVERLAY
Dividir programas me módulos
Os módulos tem independencia de código Sistema operacional Módulo principal 3kb Area de overalay 4 kb
Area não usada
Modulo 1 (4kb)
Modulo 2 (2kb) Não usa da area de overlay 2kb
PARTICIONAMENTO DA MEMORIA Pedaços fixos chamados de partições o tamanho das partições é dfinido na inicialização do S.O. Conhecida como alocação particionada fixa ou estática -O código tinha enderços absolutos de memoria. Os endereços já eram definidos pelos compilador. A partição é fixa e só pode executar na mesma partição Os compiladores passaram a criar endereços de referencia ao inicio do programa. Pode usar qualquer partição
PARTICIONAMENTO ESTÁTICO RELOCAVEL
Tabela de partiçoes (sistema operacional) partição
tamanho
livre
1
2kb
nao
2
5kb
sim
3
8kb
não
Sistema operacional
Progama a Endereço inicial Área livre Endereço final Problema: Os programa não ocupam totalmente a partição: fragmentação de memoria
Programa B
ALOCAÇÃO PARTICIONADA DINÂMICA Acabou com a partição de tamanho fixo: Os programas alocam a área necessária.
Sistema operacional Programa B (4kb) Programa c (1kb) Programa e (3kb)
PROBLEMA: Os programas que acabam vão deixando espaços vazios na memoria. Chama-se: Fragmentação externa
ESTRATÉGIAS PARA DIMINUIR A FRAGMENTAÇÃO EXTERNA: Ir juntando as partições liberadas de endereço adjacente. Realocação dinamica: o sistema arruma todos os programas tirando os espaços vazios
Agoritmo complexo e causa perda na execução
ESTRATÉGIAS PARA ALOCAÇÃO DA PARTIÇÃO:
BEST FIT: ESCOLHER A QUE CAUSA MENOS PERDA (ESPAÇO SEM UTILIZAÇÃO)
WORST FIT: ESCOLHER AQUELA QUE O PROGRAM FICA COM MAIS ESPAÇO SEM UTILIZAÇÃO
FIRST-FIT: ALOCAR A PRIMEIRA PARTIÇÃO LIVRE
MEMORIA VIRTUAL É UMA EXTENSÃO DA MEMORIA PRINCIPAL COM O DISCO. Pode ser feita de três modos:
-paginação Segmentação Segmentação com paginação
Os endereços gerados pelo compliador são referencias e vira endereço fisico na hora da execução
MAPEAMENTO
Memoria principal
Espaรงame nto do endereรงo virtual
Memoria secundaria
MAPEAMENTO DE ENDEREÇOS Existe uma tabela de mapeamento de endereços para cada processo. Na troca de processos as tabelas são trocadas
MEMORIA VIRTUAL POR PAGINAÇÃO O espaço de enreceçamento é dividido em blocos chamados páginas. A memoria é divida em blocos chamadas paginas reais. Cada processo tem uma tabela de suas paginas logicas . Na execução as páginas logicas são transferidas para a memoria
CONTROLE DA PAGINA Bit de validade (indica se a pagina esta ou não na memoria) Se a pagina não está na memoria (page fault) o sistema transfere a pagina (E/S) page in ou paginação
CARACATERISTICAS DAS PAGINAS Troca de paginas. Tamanho da pagina (12 a 16M. Em 32 bits é normal as paginas serem de 4 k
SEGMENTAÇÃO
Técnica em que os espaços de endereçamento virtual é dividido em blocos de tamanho diferentes.
Os segmentos são grados pelos compliadores.
QUANDO PRECISA DE UM SEGMNETO, O SISTEMA USA UMA DAS POLITICAS DE FRAGEMNTAÇÃO A SEGMENTAÇÃO MAPEIA ESTRUTURAS LOGICAS E NÃO PAGINAS.
SEGMENTAÇÃO COM PAGINAÇÃO