1 / 47

Sistemas Operacionais

Sistemas Operacionais. Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas - 2013 IFSP – Campus Capivari. Gerência de recursos Memória. 01/10/2013. Introdução. Historicamente a memória é um recurso caro e escasso;

camila
Download Presentation

Sistemas Operacionais

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Gerência de recursosMemó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; Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 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. Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 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. Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013

  6. Alocação contígua simples • Foi implementada nos primeiros SOsmonoprogramá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 2013

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

  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 2013

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

  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 2013

  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 2013

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

  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 2013

  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 2013

  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 2013

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

  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 2013

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

  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 2013

  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 2013

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

  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 2013

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

  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 2013

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

  26. Alocação particionada Estática relocável Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 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 2013

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

  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 2013

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

  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 2013

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

  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 2013

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

  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 2013

  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 2013

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

  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 2013

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

  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 2013

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

  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 2013

  43. Swapping • Swapping é uma técnica de gerência de memória para programas que esperam por memória livre; • O Swappingconsiste 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 2013

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

  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 2013

  46. Swapping • O conceito de swappingpossibilita 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 2013

  47. 1 • 5 • 8 • 10 • 13 • 14 Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

More Related