1- Gerencia de Memória
1.1) Atualmente como é a hierarquia de memória utilizada pelo computador?
R: 1º memória cache
2º memória RAM ( primária )
1.2)Qual o nome do gerenciador de memória e quais suas funções?
R: A parte do S.O. que gerencia a memória é o gerenciador de memória.
Sua função é controlar quais partes da memória estão em uso ou não, alocando memória aos processos que precisam e liberando para aqueles que terminam. Ele também faz a troca de processos entre as memórias primárias e secundárias, quando esta não possui mais espaço(swapping).
1.3) Como pode ser dividido o sistema de gerenciamento de memória?
R: Em duas partes: sistema que levam e trazem processos entre as memórias primárias e secundárias(troca de processo/paginação) e sistemas simples (monoprogramado sem troca de processo).
1.1- Alocação Contígua Simples
1.1- Alocação Contígua Simples
1.1.1) Como funciona o sistema simples (monoprogramado)?
R: A memória é compartilhada entre o programa e o S.O. somente um programa é executado por vez (mono-tarefa).Este modelo possui 3 variações:
- O S.O. está na base do endereçamento em RAM(vide figura1);
- O S.O. está no topo do espaço de endereçamento em ROM (vide figura2);
- Os drivers de dispositivo podem estar no topo do espaço de endereçamento, em ROM, e o restante do sistema abaixo em memória RAM (vide figura3);
Exemplos de Sistema Simples (Mono-tafera) fonte da imagem:Apostila Gerencia de Memória, autor:Fábio Éder |
1.1.2) Como também é conhecido o sistema simples de monoprogramação?
R: É conhecido como Alocação Contígua Simples.
1.1.3) Neste tipo de sistema, qual é o acesso do usuário?
R: Ele tem acesso e controle de toda a memória principal, podendo alterar ou até destruir um S.O. alocado na memória.Por isso alguns sistemas utilizam registradores para delimitar a área do S.O. e do usuário como forma de proteção.
1.1.4) Neste tipo de sistemas, o que acontece quando um programa faz referencia de memória onde o usuário não possui acesso?
R: O programa do usuário é cancelado e uma mensagem de erro é exibida "access violation".
1.1.5) Quais são os pontos positivos e negativos da alocação contígua simples?
R: Seus pontos positivos são código reduzido e fácil implementação.Porém temos como contras: ineficiência de utilização do processador e memória.
1.1.6) Defina overlay(sobreposição).
R: Divisão da memória em partes/módulos, de forma que os programas possam executar independentemente, utilizando a mesma área de memória.Quer dizer, alguns programas utilizavam os mesmos módulos, fazendo uma economia de memória.
1.2- Multiprogramação com partições fixas
1.2.1) Conceitue multiprogramação.
R: Consiste em dividir a memória em "n" partições com tamanhos diferentes.Onde é gerenciada, otimizando o seu uso, através de uma fila de entrada a memória é utilizada conforme o tamanho do jobs.
1.2.2) Qual a desvantagem da multiprogramação com partições fixas?
R: A sua ordenação, pois como os jobs são separados por tamanho, pode acontecer de haver fila para partições pequenas e espera para partições grandes, gerando ociosidade.
1.2.3) Cite alternativas para minimizar esse problema!
R: Formar apenas uma fila, assim quando uma partição se torna disponível com o tamanho suficiente ele é alocado, outra estratégia é pesquisar em toda a fila o maior job que possa ser alocado na partição disponível.
1.3- Multiprogramação com partições dinâmicas
1.3.1) Explique multiprogramação com partições dinâmicas.
R: Nesse esquema, cada programa utiliza o espaço de memória necessário para sua alocação, tornando essa área sua partição.
Exemplo de alocação com partições dinâmicas fonte da imagem:leandrosiciliano.blogspot.com |
1.3.2) Qual foi a solução e o problema causado por essa multiprogramação com partições dinâmicas?
R: Ela solucionou o problema de fragmentação interna, mais ocasionou o problema de fragmentação externa.
1.3.3) Quais as possíveis soluções para a fragmentação externa?
R:A primeira é a reunião dos espaços livres, mais apenas os adjacentes(vide figura1). A segunda é a realocação de todas as partições ocupadas, separando das livres(vide figura2), essa segunda opção é muito complexa e envolve muito poder computacional podendo ser inviável.
Exemplos Solução de Fragmentação Externa fonte da imagem:Apostila Gerencia de Memória, autor:Fábio Éder |
1.4- Swapping
1.4.1) O que é swapping?
R: É uma técnica aplicada na gerencia de memória para programas que esperam por memória livre para serem executados. Nesta situação o sistema escolhe um processo residente, que é transferido da memória principal para a secundária. Esse processo entra o conceito de prioridade, onde é feita essa troca. Quando o processo vai da RAM para o HD chamamos de swap out, e quando ele volta HD para RAm chamamos de swap in.
1.4.2) Quais os requisitos para que haja um swapping?
R: Ele precisa de um disco de apoio grande o suficiente para armazenar cópias de todas imagens da memória para todos os usuários, precisa prover acesso direto a elas.
Fonte: <Apostila Gerencia de Memória {Prof. Fábio Éder}>
Adaptado:Arroyo,Gabriel.
Para complemento dos estudos:
Nenhum comentário:
Postar um comentário