Publicidade cabeçário

quarta-feira, 21 de novembro de 2012

S.O. - Gerencia de Memória

E ai pessoal, uma semana de férias kkkkkkkk bem vou começar a fazer os questionários de S.O. Bom estudo para todos, abraços!

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 )
   3º memória em Disco ( secundária )
Hierarquia de Memória
Hierarquia de Memória
fonte da imagem:bdfatec.blogspot.com.br


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.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: 

  1. O S.O. está na base do endereçamento em RAM(vide figura1);
  2. O S.O. está no topo do espaço de endereçamento em ROM (vide figura2);
  3. 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
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
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:

chucks approves

joinha pra você amigão