Buscar

Sistemas Operacionais - Resumo Prova Gerenciamento de Memória

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

GERENCIAMENTO DE MEMORIA
Fragmentação Interna
Se partição da memória disponível é maior que o programa, o espaço vazio da memória é a fragmentação interna.
Ou seja. P = Processo, M = Memória.
Onde M >= P, então M - P = Fragmentação interna.
Fragmentação Externa
Se a partição da memória disponível é menor que o programa, ocorre fragmentação externa, pois o programa não pode ser alocado na memória, por não ter espaço suficiente disponível.
Algoritmos de alocação para partições variáveis
first-fit: aloca o primeiro espaço livre que seja suficientemente grande;
best-fit: aloca o menor espaço livre que seja suficientemente grande. Produz a menor sobra de espaço livre;
worst-fit: aloca o maior espaço livre. Produz a maior sobra de espaço livre. Este espaço maior que fica poderá ser mais útil do que o pequeno espaço livre deixado pelo best-fit.
Memória virtual
Técnica de gerenciamento que combina a memória principal e a secundária dando ao usuário a idéia de existir uma memória maior que a memória principal.
Desvincula o endereçamento feito pelo programa dos endereços físicos da memória principal.
Um programa no ambiente de memória virtual não faz referência a endereços físicos mas endereços virtuais.
O endereço virtual é traduzido para o endereço físico através do mapeamento.
Os programas podem ser muito maiores do que sua memória física, apenas parte deles está residente na memória em um determinado instante.
O restante do programa fica na memória secundária até ser referenciado.
A memória secundária é utilizada como extensão da memória principal.
Overlay
Divisão do programa em módulos que cabiam na memória disponível, pois a memória disponível era menor que o necessário. A divisão tem de ser feita pelo programador, o que acarreta muito trabalho em programas robustos.
A definição de overlays evoluiu para o conceito de memória virtual, fazendo com que o S.O. seja capaz de processar overlays automaticamente.
Paginação
Permite que o espaço fisico ocupado por um processo seja não contíguo. Melhor aproveitamento da memória, porém super utilização da CPU.
Cada endereço gerado pela CPU é quebrado em duas partes: um número de página p e um deslocamento d. A memória lógica de um processo está dividida em blocos denominados páginas lógicas. Da mesma forma, a memória física do computador está dividida em blocos denominados páginas físicas ou frames. Páginas físicas e lógicas possuem o mesmo tamanho, definido a nível de hardware.
Páginas virtuais
Frames ou páginas reais
Técnica de gerência de memória onde o espaço de endereçamento virtual e o espaço de endereçamento real são divididos em bloco de mesmo tamanho chamados de páginas.
Quando um programa é executado, páginas virtuais são transferidas da memória secundária para a memória principal colocadas nos frames (paginas reais).
FIFO -  A página que primeiro foi utilizada será a primeira a ser escolhida, ou seja, o algoritmo seleciona a página que está há mais tempo na memória principal.
Qual é a desvantagem da paginação?
Alta utilização da CPU.
Para os programadores, não existe paginação, pois que faz a função é o MMU (Memory Management Unit).
Quando um programa deve ser executado, suas páginas lógicas são carregadas em quaisquer páginas físicas disponíveis, e uma tabela de páginas é criada para traduzir números de páginas lógicas em números de páginas físicas, conforme ilustrado abaixo:
Com paginação existe apenas fragmentação interna na última página do programa.
Como o SO controla as páginas alocadas e os frames livres?
O SO usa:
Conceito de endereço lógico;
Mantém uma tabela de frames livres ;
Mantém uma tabela de pagina para cada processo, contendo a localização do frame para cada pagina do processo.
Dentro do programa, cada endereço lógico consiste: um número de pagina + um offset da pagina
Exemplo:
Endereço lógico= Page 1 e offset 478
Segmentação
O usuário (programador) não pensa no seu programa organizado como um array linear de palavras, mas sim como uma coleção de segmentos de tamanho variável, sem que exista necessariamente uma ordem entre os segmentos.
Com segmentação, o espaço de endereçamento lógico é uma coleção de segmentos.
É necessário mapear os endereços lógicos, do tipo segmento/deslocamento, para endereços físicos, que continuam sendo (e sempre serão) índices de um array unidimensional.
Da mesma forma que a tabela de páginas, a tabela de segmentos pode ser colocada em registradores rápidos, na memória principal ou numa tabela em memória associativa.
Segmentos possuem um tamanho variável. Quando um programa deve ser executado, o espaço alocado para cada segmento deve ser contínuo. A solução é utilizar um dos métodos first-fit, best-fit, etc., para alocar cada segmento. Repete-se pois o problema da fragmentação externa: a sucessiva alocação e liberação de segmentos com diferentes tamanhos faz surgir pequenos espaços de memória livre, onde não cabe um segmento (lacunas inúteis). Quanto menores forem os segmentos dos programas, menor será o problema da fragmentação externa.
Como o SO controla os segmentos alocados e blocos livres? O SO mantém:
Conceito de endereço lógico
mantém uma tabela de blocos livres ;
mantém uma tabela de segmentos para cada processo, contendo a endereço inicial na memória principal (base) + o tamanho do segmento (limite).
Segmentação versus paginação
Fragmentação: segmentação fragmentação externa, paginação fragmentação interna. Aqui a paginação parece ser vantajosa.
Administração da memória: Muito mais simples na paginação, qualquer página física pode ser usada para carregar qualquer página lógica.
Proteção e compartilhamento: Segmentação é bem melhor, pois constituem as unidades lógicas do programa (isto é, cada segmento tem um determinado significado ou função) e poderá ser compartilhado e ter asssociada a si uma determinada proteção. Com paginação as partes de um programa estão aglutinadas, formando um bloco único (em uma mesma página podem estar funções, subrotinas e dados, por exemplo).
Espaço de endereçamento: Com paginação o espaço de endereçamento lógico é um espaço único (unidimensional), contínuo, com endereços que vão desde zero até MAX (onde MAX é o tamanho do programa menos 1). Com segmentação o espaço lógico é formado por um conjunto de segmentos, cada segmento u com endereços que vão de zero até MAXu (onde MAXu é o tamanho de u menos 1). Na paginação o espaço lógico é contínuo, pois se pegarmos o último endereço dentro da página p e somarmos 1, teremos o primeiro endereço da página p+1. Por exemplo, considerando que (p)2 seja a representação binária de p, tem-se que o último endereço da página p é “(p)2111...1”. Somando-se 1 tem-se “(p+1)2000...0”, que é o primeiro endereço da página p+1. Isto não ocorre na segmentação, onde o espaço lógico é descontínuo. Aqui não se pode dizer que haja vantagem de um esquema sobre o outro. As vantagens e desvantagens estão nas conseqüências destas organizações.
Buffer
Sempre que há uma discrepância entre a taxa em que um produtor gera dados e a taxa em que o consumidor processa esses dados, usamos um buffer como interface entre o gerador e o consumidor.
Marca D'agua
Se aplica em muitos casos nos quais temos um produtor e um consumidor de informações e que operam em velocidades muito diferentes.
Regula o transmissor para coincidir com a taxa em que o receptor pode processar.
Se acrescentarmos um item ao buffer e isso resultar em ele encher a marca d'água alta, a mensagem de para é enviada ao transmissor.
Se removermos um item do buffer e isso resultar em ele não ter mais itens no ponto da marca d'água baixa, enviamos a mensagem de início.
Intercalamento
Em vez de dispor os setores consecutivamente, pulamos setores na numeração e voltamos atrás para preencher os que pulamos
Ao fazer isso, damos ao tratador de interrupções tempo para processar a próxima solicitação antes de os dados da próxima solicitação estarem sob o cabeçote.
Algoritmo elevadorOtimizar Buscas
Tempo de busca mais curto primeiro(SSTF)
Algoritmo Elevador
Elevador só pega passageiros indo na mesma direção
Agora, imagine que o braço se move em determinada direção e, ao passar por cada cilindro, atende as solicitações pendentes para aquele cilindro. Se não há mais solicitações naquela direção, ele reverte o movimento do braço e começa a seguir a mesma política na outra direção
Se a fila está vazia, saia do tratador de interrupções.
O cilindro atual será c.
Se a direção atual for PARA CIMA, selecione uma solicitação com pedido de menor cilindro, n >= c.
Se a direção atual for PARA BAIXO, selecione uma solicitação com pedido de maior cilindro, n <= c.
Se nenhum cilindro não satisfaz os critérios, mude de direção e repita os passos 3 e 4.
Latência rotacional
É o tempo gasto para localizar o setor ao qual se quer ter acesso.
RAID
É um mecanismo criado com o objetivo de melhorar o desempenho e segurança dos discos rígidos existentes em um PC qualquer, através do uso de HDs extras.
RAID 0 - Divisão de dados (striping)
A divisão de dados consiste em usar um disco extra em paralelo para armazená-los, dividindo a informação através dos dois HDs disponíveis. Sua vantagem está no fato de ser possível ler e gravar o dobro de informações ao mesmo tempo, assim diminuindo o tempo de operação quase pela metade.
RAID 1 - Espelhamento
A replicação, como seu próprio nome indica,  faz com que dois ou mais discos possuam exatamente o mesmo conteúdo, tornando um cópia idêntica do outro. Assim, sempre haverá um backup pronto para ser utilizado. Consequentemente é necessário também duplicar o hardware utilizado.
RAID 3 - (cópia em paralelo com paridade)
O RAID 3 usa um sistema de paridade para manter a integridade dos dados. Num sistema com 5 HDs, o 4 primeiros servirão para armazenar dados, enquanto o último armazenará os códigos de paridade.
Nos 4 primeiros drives temos na verdade um sistema RAID 0, onde os dados são distribuídos entre os 4 HDs e a performance é multiplicada por 4. Porém, os códigos armazenados no 5º HD permitem recuperar os dados caso qualquer um dos 4 HDs pare.
RAID 4 - (paridade em separado)
Com a necessidade de se ter três HDS, o RAID 4 armazena todos os dados desses HDs em um disco reservado de paridade. O problema nesse caso vem de que sua velocidade não é tão boa, graças a ter um disco inteiramente reservado de paridade. Assim como o RAID 2, é pouco usado fora de empresas.
RAID 5 - (paridade distribuída)
Para se usar o RAID 5 é necessário no mínimo três HDs. As informações de paridade são divididas em vários HDs, sendo assim, se um HD falhar, os dados continuarão armazenados em outros HDs. Sua desvantagem vem de que é um sistema relativamente complexo de gerenciamento de HDs, mas conta com uma leitura rápida.
Se um sistema disponibiliza 10.000 frames, a página 100 será carregada em qual deles? Porque?
R: No primeiro deles.
Como a latência rotacional pode causar perda de tempo?
R: Esperar passar denovo.
Exemplo de dispositivo de computador.
R: Mouse, teclado, impressora, etc.
Como funciona a técnica de elevador do HD?
R: ? Ele se move em uma direção atendendo todas as solicitações pendentes para aquele cilindro. Não havendo mais solicitações naquela direção, ele reverte o movimento e segue a mesma política na direção contraria.
Qual RAID é mais caro?
R: RAID I, espelhamento.
A aceleração buffer, pode acelerar o processo?
R: Não, muitas vezes pode causar lentidão. Ele acumula e depois envia.
Qual o ganho de se utilizar a técnica de paginação de memoria ao invés de particionamento de overlay?
R: Performance
A utilização de memoria virtual influencia no desempenho do sistema?
R: Sim, porque o HD é mais lento.
Como o uso de memoria cache pode gerar ganho de desempenho?
R: Porque as ultimas rotinas ficam sava no cache.
Diferencie um dispositivo de um driver.
R: Dispositivo é fisico e driver é software.
Qual a função exata do buffer de teclado?
R: Guardar as ultimas teclas tecladas. Para exibir qual ele tiver tempo.
Principal ponto positivo e negativo da memoria virtual?
R: Positivo: Evita o travamento da aplicação por falta de memória.
      Negativo: Deixa a aplicação e o sistema mais lento.
Positivo e negativo na utilização de paginação.
R: Positivo: Melhor aproveitamento da memoria.
    Negativo: Super utilização da CPU.
Relacione dois dos temas apresentados em sala de aula.
A Internet das Coisas (Internet of Things) é um novo paradigma que combina diferentes tecnologias e conceitos como a onipresença da informática no cotidiano das pessoas (computação ubíqua ou pervasiva), protocolos de Internet, sensores baseados em diferentes formas de energia e estímulos (som, luz, temperatura, corrente elétrica, radiação, nível de líquido, químicos, movimento, pressão, entre outros), tecnologias de comunicação e dispositivos com tecnologia embarcada. Tais elementos trabalham em conjunto formando um sistema que promove uma interação completa entre o mundo digital e físico estabelecendo relação simbiótica perene. Dispositivos inteligentes, ou objetos inteligentes (smart objects), são efetivamente a base da visão da IoT (Internet of Things).
 Explique a formula endereco fisico =  endereço lógico. + base

Continue navegando