Escolar Documentos
Profissional Documentos
Cultura Documentos
Sistemas Operacionais
Profa. Simone Berbert Rodrigues Daplito
Introduo - Memria
Recurso caro e escasso; Memria secundria: mecanismos de armazenamento permanente. Mais abundantes e baratas; Programas s executam se estiverem na memria principal;
Quanto mais processos residentes na memria principal, melhor ser o compartilhamento do processador;
Necessidade de uso otimizado;
2
Introduo - Memria
O S.O. no deve ocupar muita memria; um dos fatores mais importantes em um projeto de S.O.; Gerenciamento complexo em sistemas multiprogramveis com mltiplos usurios utilizando-a eficientemente.
Complexidade varivel de acordo com a funcionalidade oferecida; Mecanismos de suporte para proteo, carga de programas, traduo de endereos lgicos a endereos fsicos, etc...
6
Gerenciamento de Memria
Algumas funes do Gerenciador de memria: Controlar quais as unidades de memria esto ou no esto em uso, para que sejam alocadas quando necessrio; Liberar as unidades de memria que desocupadas por um processo que finalizou; foram
Tratar do Swapping entre memria principal e memria secundria. Transferncia temporria de processos residentes na memria principal para memria secundria.
7
Gerenciamento de Memria
Tcnicas de Alocao de Memria: Alocao Contgua Simples; Alocao Particionada Esttica; Alocao Particionada Esttica Absoluta; Alocao Particionada Esttica Relocvel; Alocao Particionada Dinmica.
Um usurio no pode usar uma rea maior do que a disponvel; O programador tem controle sobre toda a memria principal, podendo acessar qualquer posio da memria, inclusive onde est residente o Sistema Operacional (Sem proteo);
10
Sistema Operacional
Fcil implementao e cdigo reduzido, porm ineficincia no uso do processador e da memria pois apenas um usurio pode dispor desse recurso; Programas limitados ao tamanho da memria disponvel. Soluo = Overlay
12
C
13
Alocao Particionada
A eficincia da multiprogramao exige que vrios programas estejam na memria ao mesmo tempo, vindo a necessidade de organizao da memria.
14
Alocao Particionada
15
Diviso da memria em tamanhos fixos (parties) definidos na inicializao do Sistema em funo dos programas que executariam no ambiente.
Partio A 200 kbytes Partio A 100 kbytes Partio B 50 kbytes Partio C 25 kbytes
16
Partio A
Os programas no preenchiam totalmente as parties onde eram carregados; Memria Fragmentada Fragmentao Interna.
Partio B Partio C
17
Posteriormente, evoluo dos compiladores, linkers e loaders com gerao de cdigo realocvel, sendo que os programas puderam ser carregados em qualquer partio (alocao particionada esttica realocvel); Surgimento da tabela de parties com informaes de tamanho, uso e delimitaes;
18
Reg
Sistema Operacional
Reg
Partio A
Partio B
Partio C
19
20
21
Fragmentao externa;
22
24
26
First-fit: Escolhe a primeira partio livre de tamanho suficiente para carregar o programa; Lista de reas livres ordenada por endereos crescentemente;
Grande chance de se obter uma grande partio livre nos endereos de memrias mais altos; Mais rpida e consome menos recursos do sistema.
27
Exemplos
28
Swapping
Objetivo: resolver o problema da insuficincia de memria para todos os usurios; O swapping uma tcnica aplicada gerncia de memria. Aloca espao para programas que esperam por memria livre para serem processados;
29
Swapping
O sistema escolhe um programa residente, que levado da memria para o disco (swap out), retornando posteriormente para a memria principal (swap in) como se nada tivesse ocorrido.
30
Swapping
31
Swapping
No caso de um programa que saia e volte muitas vezes para a memria, necessrio que a relocao seja realizada pelo loader a cada carregamento. Essa situao torna o mecanismo ineficiente em funo do tempo gasto para o carregamento;
Outra alternativa, tambm pouco eficiente, esperar que a regio de memria usada pelo programa na ocasio do seu primeiro carregamento esteja novamente disponvel;
32
Swapping
Realocao Dinmica: a melhor soluo. Implementao no hardware dos computadores, permitindo que a realocao seja realizada durante a execuo do programa; Realizada atravs de um registrador denomidado registrador de alocao, que endereo inicial da regio da memria que o ir ocupar no momento do carregamento do na memria; especial recebe o programa programa
Toda vez que ocorrer uma referncia a algum endereo, o endereo contido na instruo ser somado ao contedo do registrador, gerando assim, o endereo fsico.
33
Swapping
Essencial para a multiprogramvel; implementao de um sistema
de processos um maior
Mais eficiente para programas onde existiam poucos usurios competindo por memria e em ambientes que trabalhavam com aplicaes pequenas;
Seu maior problema o elevado custo das operaes de entrada/sada (swapped in/out).
34
Memria Virtual
Tcnica que permite a execuo de um processo sem que ele esteja completamente em memria;
35
Memria Virtual
O SO passa a ser o responsvel por manter na memria as partes do programa efetivamente em uso, deixando o resto no disco;
Utiliza a tcnica de overlay, onde a escolha do mdulo a ser mantido na memria, antes definida pelo programador, passou a ser feita pelo prprio sistema;
36
Memria Virtual
Combina memria principal e secundria; Impresso da memria ser muito maior do que ; Procura minimizar o problema de fragmentao da memria.
37
Memria Virtual
Vantagens
38
Paginao
Tcnica de gerncia de memria onde o espao de endereamento virtual e o espao de endereamento real so divididos em blocos do mesmo tamanho (pginas); Pginas virtuais no espao virtual e pginas reais ou frames (molduras) no espao real;
39
Paginao
Para executar um processo de n pginas, basta encontrar n frames livres na memria; Pginas so carregadas em qualquer frame livre; Necessidade de traduzir endereos lgicos (pginas) em endereos fsicos (frames); Mapeamento a traduo do endereo virtual para o fsico;
40
Paginao
41
Paginao
Paginao por Demanda quando as pginas dos processos so transferidas da memria secundria para a principal apenas quando so referenciadas; Paginao Antecipada o carregamento de pginas na memria antecipadamente, sendo que o sistema tenta prever as pginas que sero necessrias execuo do programa.
42
Caractersticas da Paginao
Paginao um tipo de relocao (via hardware); No gera fragmentao externa; Fragmentao interna restrita apenas a ltima pgina; n pginas so alocadas a n frames implicando na criao de uma tabela de correspondncia - Tabela de pginas;
43
Caractersticas da Paginao
Facilita implementao de proteo e compartilhamento de cdigo entre vrios processos (cdigo reentrante);
Proteo de acesso garantida por definio: Processos acessam somente suas pginas - end. Vlidos;
44
Working Set
Paginao exige operaes de E/S quando um processo faz referncia a uma pgina que no se encontra na memria; O Sistema Operacional deve se preocupar em ter um certo nmero de pginas na memria que reduza ao mximo a taxa de paginao dos processos e no prejudique os demais processos que desejam acesso a memria.
45
Working Set
Working Set de um processo o conjunto de pginas referenciadas por ele durante determinado intervalo de tempo, ou, o conjunto de pginas constantemente referenciadas pelo processo, devendo permanecer na memria principal para que execute de forma eficiente, evitando a elevada taxa de paginao (thrashing). O Working Set deve Ter um limite mximo de pginas permitidas. Thrashing: Excessiva transferncia de pginas/segmentos entre a memria principal e a memria secundria. Se existem mais processos para serem executados que a memria real disponvel, o ideal expandir a memria principal.
46
Segmentao
Tcnica de gerncia de memria, onde os programas so divididos logicamente e em sub-rotinas e estruturas de dados e colocados em blocos de informaes na memria; Segmentos blocos de tamanhos diferentes com seu prprio espao de endereamento.; Segmentao X Paginao Paginao com partes de tamanho fixo e segmentos com blocos de tamanhos variados e permite uma relao entre a lgica do programa e sua diviso na memria;
47
Segmentao
Cada entrada na tabela de segmentos possui o endereo do segmento na memria fsica, informaes sobre o tamanho do segmento, sua proteo e se ele est na memria ou no; O Sistema Operacional mantm uma tabela com as reas livres e ocupadas da memria; A escolha da rea livre a ser ocupada por um processo a ser carregado na memria pode ser a mesma utilizada no item Alocao Particionada Dinmica (best-fit, worst-fit ou first-fit);
48
Segmentao
49
Segmentao
50
Segmentao
Desvantagens
A segmentao provoca fragmentao externa quando segmentos comeam a ser liberar memria; Mesmo problema da alocao particionada dinmica, com as mesmas solues; (slides 21 a 24)
51
Dvidas
?
52
Bibliografia
R. Oliveira, A. Carissimi, S. Toscani; Sistemas Operacionais. Editora Bookman, 2010. Machado, Francis B. E Maia, Luiz Paulo; Arquitetura de Sistemas Operacionais.