Você está na página 1de 6

Gerenciamento de Memria: Tem como funo manter o controle de quais partes de memria esto em uso e quais no esto, alocado

memria aos processos quando eles precisam e liberando quando eles no precisam mais. Gerencia a troca de processos entre o disco e a memria. Modelagem de multiprogramao: Modelo Otimista: se em mdia, um processo permanece em execuo apenas 20 por cento do tempo em que reside em memria, com cinco processos simultaneamente na memria a CPU deveria permanecer ocupada durante todo o tempo .

Modelo probabilstico: Um processo gasta uma frao p de seu tempo espera pela finalizao de sua solicitao de E/S. Com N processossimultneos na memria, chega-se a

Utilizao da CPU =

Sistema Mono-Usuario: Toda memria alocada prxima tarefa, inclusive a memria que est dedicada aos sistema operacional, obviamente corrompendo o SO e exigindo reinicializao do sistema. *Para evitar a invaso na parte da memria reservada ao SO, foram criados mecanismos em hardware para proteo do SO. * Modificao automtica de endereos * Endereamento de pgina 0 e pgina 1

* Registradores de limites.

Tcnica de overlay: dividir o programa em mdulos, de forma que seja possvel a execuoindependente de cada mdulo, utilizando uma mesma rea de memria. A definio das reas de overlay funo do programador, atravs de comandosespecficos da linguagem de programao utilizada. Vantagem: Permitir ao programador expandir os limitesda memria principal.

Desvantagem: A utilizao dessa tcnica exige muito cuidado, pois pode trazer implicaes tanto na sua manuteno quanto no desempenho das aplicaes, devido possibilidade de transferncia excessiva dos mdulos entre a memria principal e asecundria. Multi programao com parties fixas:

Na poca, a melhor maneira encontrada foi particionar a memria em tamanhos fixos, durante o boot do sistema. Ao chegar, o processo colocado em uma fila associada menor partio.

Se um processo pequeno entrasse em uma partio grande, o espao no utilizado era perdido. No mais utilizado esse mtodo.

Desvantagens:

fragmentao Interna: acontece quando um programa carregado em uma partio maior do que o necessrio. Desperdiando memria.

Externa; Duas parties livres, pro exemplov uma de 25 kb e outro de 100 kb, a memria livre com a soma dessas parties de 110 kb, o processo tem 110 kb. O processo nao pode ser executado, porque embora o espao suficiente ele no contgua, ou seja, eles no esto prximos, no so contnuos. ento o programa nao pode ser executado.

fila grande para partio pequena e fila pequena para uma partio grande. Solues: Manter uma nica fila.

Pesquisar na fila de entrada e alocar a partio disponvel ao maior job. Porm Prejudicaria job pequenos (entrada e sada) Soluo: Haver pelo menos uma partio pequena para atender Jobs pequenos.

Multiprogramao com Parties Variveis Neste esquema de organizao a quantidade e o tamanho dos processos na memria podem variar dinamicamente com o passar do tempo, o tamanho das parties ajustado dinamicamente s necessidades exatas dos processos. Vantagem: A flexibilidade obtida melhora bastante a utilizao da memria, evitando desperdcios de espao. Desvantagem: A gerncia dos espaos vazios mais complicada, bem como a alocao e liberao das parties.

Como funciona: O sistema operacional mantm uma lista de espaos livres na memria fsica. Sempre que um novo processo criado esta lista percorrida e ser usada uma lacuna maior ou igual ao tamanho do processo em questo. O espao que ultrapassar o tamanho do processo pode dar origem a uma nova partio. Existem algumas formas de percorrer esta lista: first-fit: Procura a primeira partio livre, de tamanho suficiente. 2. best-fit: Escolhe a melhor partio, onde o processo deixa o menor espao sem ser utilizado 3. worst-fit: Escolhe a melhor partio, onde o processo deixa o maior espao sem ser utilizado. 4. next-fit ou circular-fit: segue a mesma idia do first-fit, mas somente a primeira busca iniciada na parte baixa da memria (primeira pgina), as outras buscas iniciam onde terminou a ltima. Usa-se uma lista circular para permitir que, eventualmente, toda a memria seja percorrida.

Swapping (troca de processos) Mesmo com todas essas tcnicas, alguns processos ainda encontravam difuculdade para ser processados, por falta de partio livre. Em todos os esquemas at ento apresentados, o processo ficava na memria at o fim de sua execuo, at mesmo quando ele estava parado aguardando um evento (entrada e sada, leitura e gravao). O swapping traz um processo do disco para a memria [swap in] o executa durante um intervalo de tempo e depois o devolve ao disco [swap out]).O algoritmo de escolha do processo a ser retirado da memria principal deve priorizar aquele com menores chances de ser executado, para evitar o swapping desnecessrio deum processo que ser executado logo em seguida. Vantagem: permite maior compartilhamento da memria principal e,conseqentemente, maior utilizao dos recursos do sistema operacional.

Desvantagem: elevado custo das operaes de entrada/sada (swap in/out). Em situaes crticas, quando h pouca memria disponvel, o sistema pode ficar quase que dedicado execuo de swapping, deixando de realizar outras tarefas e impedindo a execuo dos processos residentes.

Diferena entre swapping e memria virtual: Swapping carrega o programa todo na memria. Memria virtual s uma parte do programa carregado na memria.

Unidade de Gerncia de Memria (Memory Management Unit (MMU) A MMU um mdulo de hardware que faz o mapeamento entre os endereos lgicos (end. da memria virtual) e os endereos fsicos da memria (RAM), ou seja, um dispositivo que transforma endereos virtuais em endereos fsicos. Para isso, a MMU normalmente traduz nmero de pginas virtuais para nmero de pginas fsicas.

Gerncia de Memria com Mapeamento de Bits A cada unidade de alocao da memria atribuido um bit para dizer se a posio est livre ou ocupada. Assim, o conjunto de todos os bits representado em uma tabela, denominada mapa de bits, que mapeia todas as posies de memria dizendo o estado de cada uma. Devemos ressaltar que o tamanho da unidade de alocao muito importante e quanto menor as unidades,

maior ser o mapa de bits. Com o mapa de bits tambm armazenado em memria seu tamanho e espao til e, consequentemente, uma parte da memria ser desperdiada. Quando um processo de k bits necessitar ser armazenado em memria a MMU dever procurar no mapa k bits consecutivos indicando que a posio est vazia. Desvantagem: Como varrer o mapa de bits lento este mtodo quase no usado. Gerncia de Memria com Lista Encadeada As representaes dos espaos livres e ocupados so feitos atravs de uma lista encadeada, onde P indica uma regio ocupada por um processo e H um espao livre de memria. Assim como no mapa de bits, qualquer alterao nas posies de memria deve gerar uma alterao no mapeamento promovido pela lista ligada. Se a lista estiver ordenada por endereo uma atualizao mais rpida permitida sempre que um processo terminar de executar suas instrues ou for retirado da memria. Algoritmos para varrer a lista utilizados: First-Fit, Next-Fit, Best-Fit, Worst-Fit e Quick-Fit