A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas Operacionais Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas - 2013 IFSP – Campus Capivari.

Apresentações semelhantes


Apresentação em tema: "Sistemas Operacionais Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas - 2013 IFSP – Campus Capivari."— Transcrição da apresentação:

1 Sistemas Operacionais Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas IFSP – Campus Capivari

2 Gerência de recursos Memória 01/10/2013

3 Introdução Historicamente a memória é um recurso caro e escasso; Mesmo atualmente, onde as memórias têm menor custo e maior capacidade, sua gerência é uma das maiores preocupações dos SOs; Gerência de memórias: SO monoprogramáveis são mais simples; SO multiprogramável são mais complexos; 3 Prof. Edivaldo Serafim Sistemas Operacionais IFSP 2013

4 Funções básicas Programas são armazenados em memórias secundárias, que são grandes e de baixo custo; Para serem executados, os programas devem ser transferidos para a memória principal; A gerência de memória deve manter na memória principal o maior número possível de processos; Mesmo sem espaço, novos programas devem ser executados: Swapping ou memória virtual. Programas maiores que a capacidade da memória podem ser executados através de: Overlay e memória virtual. 4 Prof. Edivaldo Serafim Sistemas Operacionais IFSP 2013

5 Funções básicas Em sistemas multiprogramados, a gerência de memória deve proteger os espaços de endereçamento dos processos; Deve proteger também o espaço onde reside o SO; Mecanismos de compartilhamento podem garantir que haja troca de informações entre processos de forma protegida: Condições de corrida; Exclusão mútua; Região crítica. 5 Prof. Edivaldo Serafim Sistemas Operacionais IFSP 2013

6 Alocação contígua simples Foi implementada nos primeiros SOs monoprogramáveis; A memória é dividida em duas partes: Uma para o SO; Outra para o programa do usuário. Programadores deveriam se preocupar em apenas não ultrapassar os limites de uma ou de outra; Programadores tinham o controle sobre toda a memória, inclusive na parte destinada para o SO; Para proteger o SO, utilizava-se um registrador para verificar o limite entre a área do SO e do aplicativo. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

7 Alocação contígua simples Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

8 Alocação contígua simples A principal vantagem: Muito simples de implementar; As principais desvantagens: Uso ineficiente dos recursos computacionais. Apenas um usuário pode utilizar o computador; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

9 Alocação contígua simples Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

10 Técnica de Overlay Na alocação contígua simples, todos os programas devem caber no espaço de memória principal para executar; A técnica de Overlay divide o programa em módulos: Cada módulo é executado de forma independente na mesma área de memória; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

11 Técnica de Overlay Considerando o exemplo de um programa com três módulos: Módulo principal, Cadastramento e impressão, que juntos somam 9 Kb; Total de espaço na memória para o programa usuário de 8 Kb; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

12 Técnica de Overlay Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

13 Técnica de Overlay Para implementar, o programador é quem define a área para Overlay; O tamanho da área é determinada pelo maior módulo; Essa técnica permite expandir o tamanho da memória principal; Deve ser implementada com cautela: Problemas na manutenção do código; Excesso de I/O para troca de módulos na memória. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

14 Alocação particionada Com a evolução para os sistemas multiprogamáveis, houve a necessidade de melhor gerência de memória; Surgiram novas formas de gerência: Alocação particionada Estática: Fixa ou relocável. Alocação particionada Dinâmica; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

15 Alocação particionada Estática Na alocação particionada estática, a memória é dividida em partes fixas, chamadas partições; As partições eram definidas na inicialização do sistema com base nas aplicações que iriam abrigar; O tamanho das partições era fixo e para alterar, o sistema deveria ser reiniciado; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

16 Alocação particionada Estática Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

17 Alocação particionada Estática Nesse esquema de particionamento de memória, os programas podem não utilizar todo o espaço de endereçamento da partição; Isso é conhecido como fragmentação interna; Por exemplo: Os programas A, C e E não ocupam toda a partição Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

18 Alocação particionada Estática Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

19 Alocação particionada Estática fixa Compiladores e montadores geravam código absoluto: Posições de memórias físicas específicas definidas no código; Assim os programas somente poderiam ser carregados nas posições de memórias específicas; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

20 Alocação particionada Estática fixa Exemplo: Os programas A e C, B e E possuem os mesmos endereços de memória; Se A e B estão sendo executados, C e E não podem ser executados. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

21 Alocação particionada Estática fixa Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

22 Alocação particionada Estática relocável Com a evolução surgiu o conceito de código relocável: As referências são no início do código e não a endereços físicos de memória; Programas podem residir em qualquer partição; Quando o programa é carregado, o loader examina as partições; Caso existam partições vazias, o loader aloca o programa; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

23 Alocação particionada Estática relocável Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

24 Alocação particionada Estática relocável Para manter o controle, o gerenciador de memória mantém uma tabela contendo: Endereço inicial de cada partição; Seu tamanho; Se está em uso. Utiliza dois registradores para determinar o tamanho da partição: Um no limite inferior do programa; Um no limite superior do programa. Caso um programa tente acessar uma área fora do seus limites, ocorre uma exceção e um aviso para o usuário. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

25 Alocação particionada Estática relocável Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP Tabela usada pelo gerenciador de memória

26 Alocação particionada Estática relocável Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP Uso de registradores para limitar as posições das partições

27 Alocação particionada Dinâmica Para diminuir a fragmentação interna e aumentar o compartilhamento da memória surgiu a Alocação particionada Dinâmica; Eliminou-se o conceito de partição física, sendo o espaço do programa o tamanho da partição; Logo a fragmentação interna não existe mais; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

28 Alocação particionada Dinâmica Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

29 Alocação particionada Dinâmica Porém outro tipo de fragmentação começa a ocorrer, quando programas terminam a execução: Fragmentação externa; A fragmentação externa ocorre quando programas deixam de existir na memória, e espaços não contíguos impedem o carregamento de outros programas; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

30 Alocação particionada Dinâmica Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

31 Alocação particionada Dinâmica Duas soluções para a fragmentação externa foram propostas A primeira é a junção de partições livres contíguas, formando partições maiores; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

32 Alocação particionada Dinâmica Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

33 Alocação particionada Dinâmica A segunda é a relocação de todas as partições ocupadas, eliminando espaços entre elas: Alocação particionada dinâmica com relocação; Resolve o problema, porém torna o algoritmo mais complexo, demandando maior processamento e memória. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

34 Alocação particionada Dinâmica Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

35 Estratégias para alocação de partição Existem basicamente três estratégias para determinar qual área livre os programas serão armazenados: Best-fit; Worst-fit; First-fit. As estratégias tentam evitar ou diminuir a fragmentação externa; A melhor estratégia a ser adotada depende de vários fatores, mas o principal é o tamanho do programa a ser executado; Independente do algoritmo utilizado, o sistema possui uma lista com áreas livres, endereços e tamanho de cada uma. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

36 Best-fit A melhor partição é escolhida para abrigar o programa, ou seja, a que menos deixará espaço livre; A lista de áreas livres é ordenada por tamanho, diminuindo a busca; Como o algoritmo aloca o programa em partições que ficam com pouca área livre, a fragmentação pode aumentar, com pequenas áreas não contíguas; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

37 Best-fit Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

38 Worst-fit A pior partição é escolhida para abrigar o programa, ou seja, a que mais deixará espaço livre; Como o algoritmo aloca o programa em partições que ficam com mais área livre, a fragmentação tende a diminuir. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

39 Worst-fit Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

40 First-fit A primeira partição livre que caiba o programa é escolhida; A lista é ordenada em ordem crescente por endereços; É mais rápida consumindo menos recursos. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

41 First-fit Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

42 Swapping Mesmo com as técnicas apresentadas, muitos programas não conseguiam partições para execução; Swapping foi introduzido para eliminar essa insuficiência; Nas técnicas apresentadas, os programas permaneciam na memória principal até o final da execução, mesmo esperando algum evento; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

43 Swapping Swapping é uma técnica de gerência de memória para programas que esperam por memória livre; O Swapping consiste em dois momentos: Swap out: O sistema escolhe um processo residente e o envia para a memória secundária; Swap in: O processo volta para a memória principal e volta a execução, como se nada tivesse ocorrido. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

44 Swapping Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

45 Swapping O algoritmo de escolha do processo para swap prioriza processos em espera; Possivelmente processos em estado de pronto podem ser escolhidos, porém com maior custo computacional; Para efetuar o swap, o sistema conta com um loader que efetua a relocação dinâmica; O processo pode sair e voltar diversas vezes, e o loader deve relocar a cada carregamento. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

46 Swapping O conceito de swapping possibilita maior compartilhamento de recursos do computador; O problema principal é o custo nas operações de I/O; Em situações de pouca memória, o sistema pode passar a maior parte do tempo fazendo swapping ao invés de efetuar outras tarefas; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

47 Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP


Carregar ppt "Sistemas Operacionais Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas - 2013 IFSP – Campus Capivari."

Apresentações semelhantes


Anúncios Google