TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Virtualização, gerenciamento de memória e estrutura do sistema operacional

Por:   •  23/11/2017  •  Resenha  •  1.875 Palavras (8 Páginas)  •  269 Visualizações

Página 1 de 8

Gerenciamento de memória

Memória de curto prazo ou volátil: necessita constantemente de ser alimentada para não perder as informações ali armazenadas. Exemplos: Cache, registradores e memória principal.

Memória de longo prazo ou não volátil: não necessita de constante alimentação, tais como, cd-rom, dvd-rom, fitas, disco flexível ou rígido.

O Sistema operacional gerencia toda a utilização da memória, além da migração de programas de memória principal para secundária e vice-versa, os processos somente executam em memória principal, programas podem estar armazenados em memória secundária até sua execução.

Funções Básicas: Proteção, compartilhamento, swapping, manter o maior número de processos na memória, execução de programas maiores que a memória disponível, maximizar o compartilhamento da UCP e demais recursos.

Os sistemas de gerenciamento de memória podem ser divididos em duas grandes categorias as que movem os processos entre a memória principal e disco (Swapping, onde aloca espaço para programas que esperam por memória livre para serem processados, tentando resolver o problema de insuficiência de memória para todos os usuários, e Paginação onde o espaço de endereçamento virtual e de endereçamento real são divididos em blocos do mesmo tamanho (páginas)) e aqueles que não movimentam os processos entre tais dispositivos de armazenamento.

Alocação contígua simples

A organização é dividida em duas partes, uma para o sistema operacional e outra para o programa do usuário, foi implementada nos primeiros sistemas operacionais desenvolvidos, onde o programador deve desenvolver suas aplicações preocupando-se apenas em não ultrapassar o espaço de memória disponível, o usuário tem o controle da memória principal, acessando qualquer posição.

Contras, não permite a utilização eficiente do processador e da memória, caso o programa no preencha a memória existirá um espaço de memória sem utilização ou se for maior o espaço não poderá ser utilizado.

Sobre os problemas listados acima foi criada uma técnica chamada Overlay que serve para “quebrar” ou dividir em pedaços o processo e instanciar para a memória, sendo que quando um dos pedaços terminar a execução será trocado por outro pedaço que faz parte do processo.

Os próprios Sistemas operacionais consistem de programas residentes e transientes, onde os residentes estão presentes na memória e os transientes estão na memória caso sejam chamados se necessário.

Alocação Particionada

- Partições físicas ou estáticas: tanto em sistemas monoprogramados e multiprogramado, há uma abordagem simples para o gerenciamento de memória, envolve a divisão da memória em regiões de tamanho fixo, denominada de partições.

O Sistema operacional manipula uma tabela contendo informações a respeito das partições (tabela de partições). Uma vez determinado o tamanho da partição, ele não poderá ser alterado.

- Alocação particionada estática absoluta: Programas exclusivos para partições específicas, simples de gerenciar, código absoluto.

- Alocação particionada estática realocável/relocável: Código relocável e programas podem rodar em qualquer partição.

Sempre que um programa é carregado para a memória, o Sistema operacional examina a tabela de partições e se há uma entrada indicando uma partição vazia, o Sistema operacional armazena nela o código do processo, o Sistema operacional deve alterar a entrada na tabela para refletir a modificação das novas partições ocupadas, sendo assim, acontece quando é iniciado o processo e quando o processo finaliza.

- Proteção: Registradores de limites é a maneira de verificar se as referências de memória são válidas ou não, são utilizados dois registradores que possuem os endereços superior e inferior (limites) da área alocada para um determinado processo, valores maiores ou menores aos limites serão inválidos.

Contras, partições muito grandes podem criar um desperdício de memória provocando a fragmentação interna da memória. Solução criar partições variáveis, sendo uma alternativa partições dinâmicas.

- Alocação particionada dinâmica

Não é definida antecipadamente e sim é definida dinamicamente de acordo com as necessidades decorrentes apontadas pelo Sistema operacional, onde seu tamanho corresponde ao uso necessário de memória no processo, não há fragmentação interna, a partição do programa é o pedaço que ele usa, a tabela de gerenciamento de memória torna-se complexa, completando não há número fixo de entradas, variando de acordo com o número de partições.

Para evitar ou diminuir o problema de fragmentação antes que ela ocorra existem 3 principais técnicas para a escolha da partição:

- Best-fit: Escolhe a melhor partição, onde o programa deixa o menor espaço sem utilização.

- Worst-fit: Escolhe a pior partição, onde o programa deixa o maior espaço sem utilização.

- First-fit: Escolhe a primeira partição livre, de tamanho suficiente para carregar o programa.

Estrutura do Sistema Operacional

        O Sistema operacional deve garantir a confiabilidade nos dados dos usuários e na concorrência de execução dos programas, como também, deve garantir a integridade do Sistema operacional, onde o mesmo é formado por rotinas (procedimentos) que oferecem serviços aos usuários e aplicações, o conjunto de rotinas é chamado de núcleo do sistema ou kernel.

        

Kernel: Faz a gerência de memória, do sistema de arquivos, faz o escalonamento e controle dos processos, sincroniza e comunica entre os processos, cria ou elimina processos, executa tratamento de interrupções, faz operações de entrada e saída, contabilização e segurança do sistema. Não há uma ordem pré-definida para execução concorrente dessas rotinas por meio eventos assíncronos.

Modo de acesso: Instruções privilegiadas (modo kernel ou supervisor), tem o poder de comprometer o sistema, onde pode ter o acesso ao conjunto total de instruções do processador. Instruções não-privilegiadas (modo usuário) não oferecem perigo ao sistema, onde uma aplicação só pode executar instruções não-privilegiadas, tendo acesso a um número reduzido de instruções.

...

Baixar como (para membros premium)  txt (12.4 Kb)   pdf (100.3 Kb)   docx (13.3 Kb)  
Continuar por mais 7 páginas »
Disponível apenas no TrabalhosGratuitos.com