Gerenciamento de Memória: Introdução

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Qual das seguintes opções descreve corretamente a função de um gerenciador de memória em um sistema operacional?

  • Gerenciar eficientemente a hierarquia de memórias, alocando e liberando memória para processos. (correct)
  • Controlar a velocidade do processador e otimizar o uso da cache.
  • Supervisionar a comunicação entre dispositivos de entrada/saída e a memória principal.
  • Regular o consumo de energia do sistema e garantir a estabilidade da temperatura.

Em sistemas de alocação contígua simples, qual é uma das principais limitações?

  • A necessidade de o programador gerenciar manualmente a memória cache.
  • A capacidade de suportar multiprogramação eficiente.
  • A impossibilidade de utilizar memória secundária como extensão da memória principal.
  • A ineficiência no uso do processador e da memória, pois apenas um usuário pode usar o recurso. (correct)

Qual é uma solução para lidar com programas maiores que a memória disponível em sistemas com alocação contígua?

  • Utilizar algoritmos de compressão de memória para reduzir o tamanho dos programas.
  • Aumentar a quantidade de memória RAM instalada no sistema.
  • Reduzir a prioridade do programa para que ele execute em horários de menor demanda do sistema.
  • Implementar a técnica de 'overlay' (sobreposição), que divide o programa em partes que são carregadas e executadas independentemente. (correct)

Qual é a principal desvantagem da alocação particionada estática?

<p>A fragmentação interna, onde o espaço alocado pode ser maior do que o necessário para o programa. (D)</p> Signup and view all the answers

Qual das alternativas a seguir descreve melhor o conceito de 'swapping' em gerenciamento de memória?

<p>A transferência temporária de processos da memória principal para o disco rígido (memória secundária) para liberar espaço. (D)</p> Signup and view all the answers

Qual é o principal objetivo da memória virtual?

<p>Fornecer a impressão de que a memória disponível é maior do que a memória física real. (B)</p> Signup and view all the answers

Em um sistema de memória virtual paginada, qual é a função da tabela de mapeamento?

<p>Converter endereços virtuais em endereços físicos. (C)</p> Signup and view all the answers

Na realocação de páginas, qual critério a estratégia FIFO (First-In-First-Out) utiliza para escolher a página a ser substituída?

<p>A página que está há mais tempo na memória. (C)</p> Signup and view all the answers

Segmentação e Paginação são técnicas de gerência de memória. Qual distinção fundamental entre elas?

<p>Segmentação divide os programas logicamente, enquanto Paginação divide a memória em blocos físicos de tamanho fixo. (C)</p> Signup and view all the answers

O que é um 'bit' no contexto de memória de computadores?

<p>A menor unidade de informação, que pode ser 0 ou 1. (C)</p> Signup and view all the answers

Qual das seguintes opções descreve corretamente a relação entre 'bit' e 'byte'?

<p>Um byte é um agrupamento de 8 bits. (B)</p> Signup and view all the answers

Qual das seguintes alternativas descreve a 'Memória Principal'?

<p>Memória onde residem os programas em execução. (D)</p> Signup and view all the answers

Qual das seguintes características é comum às memórias voláteis?

<p>Perda dos dados em caso de interrupção de energia. (D)</p> Signup and view all the answers

Qual das seguintes opções lista exemplos de memórias não voláteis?

<p>ROM, PROM, EPROM e EEPROM. (A)</p> Signup and view all the answers

Qual é a principal diferença entre memória principal e memória secundária em um sistema computacional?

<p>A memória principal é diretamente acessível pelo processador, enquanto a secundária não. (B)</p> Signup and view all the answers

Qual é a ordem correta de acesso à memória quando uma instrução chega à CPU e necessita buscar dados?

<p>Cache, RAM, Virtual. (B)</p> Signup and view all the answers

Gerência de memória é essencial em sistemas computacionais. Qual das alternativas abaixo NÃO é uma função da gerência de memória?

<p>Controlar a voltagem da CPU para otimizar o desempenho do sistema. (D)</p> Signup and view all the answers

Quais são os três requisitos que a gerência de memória deve satisfazer?

<p>Relocação, Proteção e Compartilhamento. (C)</p> Signup and view all the answers

No contexto da memória, o que é MMU (Memory Management Unit)?

<p>Um módulo de hardware responsável pela conversão entre endereços lógicos e físicos. (D)</p> Signup and view all the answers

Qual a diferença entre endereço lógico e físico?

<p>O endereço lógico é aquele que o processo enxerga, enquanto o físico é o endereço real implementado pela eletrônica do computador. (A)</p> Signup and view all the answers

Qual das seguintes opções descreve corretamente as funções da MMU (Memory Management Unit)?

<p>Verificar a possibilidade de conversão de endereços, comprovar permissões de acesso e converter endereços lógicos em físicos. (B)</p> Signup and view all the answers

O conceito de 'relocação' é fundamental na gestão de memória. O que significa 'relocação' nesse contexto?

<p>A capacidade de mover um programa de uma região da memória principal para outra sem invalidar referências. (B)</p> Signup and view all the answers

Em relação à 'relocação', qual das seguintes afirmações é verdadeira sobre a responsabilidade do programador?

<p>O programador não deve se preocupar com o local onde o programa será carregado, pois o sistema operacional cuidará da relocação. (A)</p> Signup and view all the answers

Quais são os dois momentos em que a 'relocação' pode ocorrer?

<p>Em tempo de execução e em tempo de compilação. (A)</p> Signup and view all the answers

Qual das seguintes opções descreve corretamente o conceito de 'proteção' na gerência de memória?

<p>A capacidade de o sistema operacional proteger o código e os dados dos processos contra acessos acidentais ou intencionais de outros processos. (A)</p> Signup and view all the answers

O que garante o requisito de 'proteção' na memória?

<p>Que o sistema de gerência de memória assegure a proteção do código e dos dados dos processos contra acessos acidentais ou intencionados de outros processos. (D)</p> Signup and view all the answers

Qual é o principal objetivo do 'compartilhamento' na gerência de memória?

<p>Permitir que múltiplos programas utilizem a mesma área de memória física para reduzir a duplicação de código e dados e aumentar a multiprogramação. (C)</p> Signup and view all the answers

Como a necessidade compartilhamento deve ser feita?

<p>Permitir o compartilhamento sem comprometer o requisito de proteção. (D)</p> Signup and view all the answers

Qual das seguintes opções descreve corretamente como a memória 'física' é organizada em um sistema computacional?

<p>Em um espaço de endereços linear e unidimensional. (C)</p> Signup and view all the answers

Dentro da Organização física, cache é:

<p>Extremamente rápida, volátil e de alto custo. (D)</p> Signup and view all the answers

Em sistemas de gestão de memória, qual alternativa não é contínua?

<p>Paginação. (D)</p> Signup and view all the answers

Em um sistema de Máquina simples (Monoprogramação) existe sistema de gestão de memória?

<p>Não, pois não existe um sistema de gestão da memória definido. (C)</p> Signup and view all the answers

Qual das opções descreve uma desvantagem da utilização de máquina simples (Monoprogramação)?

<p>Há pouca eficiência. (B)</p> Signup and view all the answers

Qual das alternativas descreve o Sistema de Arquivos (FS)?

<p>Um conjunto de estruturas lógicas que permite ao sistema operacional ter acesso e controlar os dados gravados no disco. (A)</p> Signup and view all the answers

Qual das alternativas descreve um atributo de um arquivo?

<p>Tipo. (D)</p> Signup and view all the answers

Além de nome, identificador e tipo, quais são os outros atributos de um arquivo?

<p>Locação, tamanho, tempo de criação e proteção. (D)</p> Signup and view all the answers

Flashcards

Gerenciador de memória

É a parte do sistema operacional que gerencia a hierarquia de memórias.

Partições sem tamanho fixo

É uma técnica de alocação de memória onde cada programa utiliza apenas o espaço necessário.

Swapping

Envolve mover programas entre a memória principal e o disco para simular mais memória.

Memória Virtual

Combina a memória principal e secundária, dando a impressão de mais espaço disponível.

Signup and view all the flashcards

Paginação

É uma técnica onde o espaço de endereçamento é dividido em blocos de mesmo tamanho.

Signup and view all the flashcards

Segmentação

É a técnica de gerenciamento de memória que divide programas logicamente.

Signup and view all the flashcards

Memória

Dispositivos que armazenam dados temporária ou permanentemente.

Signup and view all the flashcards

Bit

É a unidade básica de memória.

Signup and view all the flashcards

Byte

Agrupamento de 8 bits.

Signup and view all the flashcards

Memórias voláteis

Memórias que perdem dados sem energia.

Signup and view all the flashcards

Memórias não voláteis

Memórias que mantêm dados sem energia.

Signup and view all the flashcards

Memória Flash

É mais rápida e durável que as ROM e armazena grandes volumes de informação.

Signup and view all the flashcards

Função da memória principal

Armazenar dados usados ativamente pelo computador.

Signup and view all the flashcards

Memória secundária

É o armazenamento permanente de dados.

Signup and view all the flashcards

Memória virtual

Se a memória pricipal não comportar a demanda, a memória virtual faz o gerenciamento.

Signup and view all the flashcards

O sistema operacional deve...

Controlar quais regiões de memória são usadas, decidir qual processo carregar na memória, alocar e desalocar espaço.

Signup and view all the flashcards

Funções Gerenciador de Memória

Controlar as unidades de memória, liberar espaço, tratar swapping.

Signup and view all the flashcards

Memória

Função do ambiente multiprogramado.

Signup and view all the flashcards

Memória lógica

É aquela que o processo enxerga e a que ele tem acesso.

Signup and view all the flashcards

MMU

É um modulo hardware responsável pela conversão entre endereços lógicos e físicos.

Signup and view all the flashcards

Memória - Proteção

Sistema de gerência que deve assegurar a proteção do código e dados dos processos.

Signup and view all the flashcards

Implementada nos primeiros Sistemas Operacionais e ainda existentes em alguns sistemas monoprogramáveis.

Alocação contígua simples

Signup and view all the flashcards

Study Notes

Gerenciamento de Memória: Introdução

  • A estrutura dos computadores, proposta por John Von Neumann na década de 1930, deve ser considerada antes de definir o gerenciamento de memória.
  • Um computador tem 3 partes fundamentais: processador, dispositivos de entrada/saída e memória.
  • A parte do sistema operacional que gerencia a hierarquia de memórias é o gerenciador de memória.
  • A função garante o gerenciamento eficiente da memória, como controlar quais partes são usadas, alocar e liberar memória para processos.
  • O gerenciamento de memória cache é feito pelo hardware, então este estudo aborda o modelo de memória principal do programador.
  • Os programas em execução residem na memória principal.
  • A memória secundária são mecanismos de armazenamento permanente, abundantes e baratos.
  • Para executar, um programa deve ser carregado na memória principal.
  • Ocorre gerenciamento complexo em sistemas multiprogramáveis com múltiplos usuários utilizando a memória de forma eficiente.

Alocação de Memória

  • Alocação Contígua Simples:
    • Sistemas Operacionais e sistemas monoprogramáveis ainda existentes a implementam.
    • A memória é dividida em duas partes: Sistema Operacional e programa do usuário.
    • O programador consegue controlar toda a memória principal, inclusive onde o Sistema Operacional está.
    • Para a proteção é utilizado um mecanismo para delimitar a área do Sistema Operacional.
    • A implementação é fácil e o código reduzido, mas o uso do processador e da memória é ineficiente.
    • Apelas um usuário pode dipor desse recurso.
    • Os programas são limitados ao tamanho da memória disponível.
    • Overlay (sobreposição): Solução para dividir o programa em partes (módulos) para a execução independente utilizando uma mesma área de memória.
    • A definição das áreas de Overlay são de responsabilidade do programador através de comandos específicos.
  • Alocação Particionada Estática:
    • A multiprogramação exige organização da memória para que vários programas estejam presentes ao mesmo tempo.
    • A memória é dividida em tamanhos fixos (partições) definidos na inicialização do Sistema em função dos programas que executariam no ambiente.
    • A alteração do tamanho de uma partição depende da inicialização do Sistema Operacional.
  • Alocação Particionada Dinâmica:
    • Aumenta o grau de compartilhamento, o que diminui a fragmentação.
    • Partições sem tamanho fixo, onde cada programa utiliza o espaço que necessita.
    • Existe o problema de fragmentação resultante dos espaços deixados por programas finalizados.
    • Soluções para o problema da fragmentação:
      • Primeira: Reunir os espaços adjacentes, produzindo um único espaço de tamanho maior.
      • Segunda: Realocação de todas as partições ocupadas, eliminando os espaços entre elas (alocação dinâmica com realocação), porém, aumentando a complexibilidade do algoritmo e consumindo mais recursos do sistema.
  • Swapping:
    • Tenta reduzir a insuficiência da memória para todos os usuários.
    • Aloca-se espaço para programas que esperam memória livre
    • O sistema escolhe um programa residente, levando-o ao disco (swap out), retornando-o depois à memória principal (swap in).
    • O loader realocável, possibilita que um programa seja colocado em qualquer posição da memória e realiza a realocação no carregamento.
  • Memória Virtual:
    • Combina as memórias principal e secundária.
    • Dá a impressão de que a memória virtual é muito maior.
    • O endereçamento feito pelo programa e dos endereços físicos da memória principal são desvinculados.
    • Objetiva minimizar a fragmentação da memória.
    • Apenas parte do programa reside na memória em um dado momento.
    • O SO utiliza a memória secundária como uma extensão da memória principal.
  • Paginação:
    • Técnica de gerenciamento de memória onde o espaço de endereçamento virtual e o espaço de endereçamento real são divididos em blocos do mesmo tamanho (páginas).
    • Páginas virtuais (espaço virtual) e frames ou molduras (espaço real).
  • Realocação de Páginas:
    • Escolher páginas para remover da memória principal deve ser um dos problemas.
    • O Sistema Operacional deve considerar se uma página foi ou não modificada antes de liberá-la para outro processo, caso contrário, os dados podem ser perdidos.
    • Quando uma página é alterada, um bit de modificação é alterado de 0 para 1, o que informa que a página foi alterada.
    • O ideal é escolher uma página que não será utilizada num futuro próximo.
    • Estratégias de realocação de páginas:
      • Aleatória: não utiliza critério de seleção, consome poucos recursos e é raramente utilizada.
      • FIFO: a página que foi utilizada primeiro é a primeira a ser escolhida, ela é simples e necessita penas de uma fila.
  • Segmentação:
    • Técnica de gerência de memória onde os programas são divididos de forma lógica em sub-rotinas e estruturas de dados, e são organizados em blocos de informações.
    • Segmentos: blocos de tamanhos diferentes com seu próprio espaço de endereçamento.
    • Segmentação X Paginação: a paginação é feita com partes de tamanho fixo e os segmentos são feitos com blocos de tamanhos variados, o que permite uma relação entre a lógica do programa e a sua divisão na memória.
    • Cada entrada na tabela de segmentos possui o endereço na memória física, informações sobre o tamanho e proteção, e se ele está na memória.
    • O SO mantém uma tabela com as áreas livres e ocupadas.
    • A escolha de uma área livre a ser ocupada por um processo pode ser a mesma utilizada em Alocação Particionada Dinâmica (best-fit, worst-fit ou first-fit).
    • Apenas os segmentos referenciados são transferidos para a memória real.
    • Os programas devem ser bem modularizados.
    • Existe o problema da fragmentação e também o da complexibilidade.
  • Segmentação com Paginação:
    • Permite a divisão lógica de programas e segmentos, onde cada segmento é dividido fisicamente em páginas.
    • Um endereço é formado do número do segmento, pelo número da página contida e pelo deslocamento dentro dessa página.
    • O endereço físico é obtido da soma da posição inicial do frame com o deslocamento.
    • Necessária para evitar que um processo tenha acesso não autorizado ou modifique um página/segmento do sistema.

O que é Memória

  • Dispositivos para armazenar dados (temporária ou definitivamente).
  • A unidade básica é o Bit.
  • O bit possui 2 valores: 0 e 1.
  • O Byte é um agrupamento de 8 bits.
  • A Palavra é a unidade de informação constituída pelo agrupamento de 32 bits.

Ordem de Grandeza

  • Bit
  • Byte: 8 bits
  • Kilobyte: 1024 Bytes (Arquivo Texto)
  • Megabyte: 1024 KB (Disquete)
  • Gigabyte: 1024 MB (Pendrive)
  • Terabyte: 1024 GB (HD Moderno)
  • Petabyte: 1024 TB (Data Center)
  • Exabyte: 1024 TB (Se cada pessoa do planeta guardasse 2,5 GB, no total teríamos 1EB)
  • Zettabyte: 1024 EB (Demanda de armazenamento no final de 2011)

Tipos de memória

  • Voláteis:
    • Perda de dados em caso de falta de energia.
    • Mais rápidas que as não voláteis.
    • Memória Principal do Computador:
      • Registradores do Processador.
      • Cache: Altíssima velocidade (maior que a RAM), porém de tamanho reduzido, devido ao seu alto custo e unida fisicamente ao processador.
  • Não voláteis:
    • Mantém os dados mesmo sem energia.
    • Constituem a memória auxiliar do computador.
    • ROM (read only memory).
    • PROM: Dados são gravados uma vez e não podem ser apagados.
    • EPROM, EEPROM: Podem ser apagados/reescritos (com ultravioleta ou eletronicamente).
  • Flash*
    • Mais rápida e durável que as ROM.
    • Armazenam grandes volumes de informação.
    • Utilizada como pendrive e cartão de memória.
    • Óptica: CD, DVD
    • Magnética: HD, Disquete, Fita Cassete.

Tipos de Memória, Finalizando

  • Memória Principal:
    • Mantém os dados em uso pelo computador e os fornece rapidamente ao processador.
    • Normalmente, a necessidade de memória é maior do que a sua disponibilidade.
  • Memória Secundária:
    • Memórias de armazenamento em massa.
    • Os dados são permanente.
    • Não pode ser endereçada diretamente.
    • A informação exige ser carregada na memória principal para ser tratada pelo processador.
    • Não volátil.
  • Memória Virtual:
    • Quando a memória principal não comporta a demanda, partes do programa/dados não utilizados são transferidas para a memória auxiliar.
    • Os dados armazenados na memória auxiliar serão transferidos de volta para a memória principal.

Hierarquia entre as memórias

  • Custo alto, velocidade alta e baixa capacidade.
  • Custo baixo, velocidade baixa e alta capacidade.

Acesso a memória

  • Quando uma instrução é recebida na CPU e existe a necessidade de buscar dados, a ordem é:
    • CPU acessa CACHE (praticamente instantâneo).
    • Se não encontrar, acessa a RAM (5x mais tempo).
    • Se não encontrar, acessa a memória VIRTUAL (extremamente dispendioso pelo acesso ao disco).
  • Princípio Temporal: Para um determinado endereço de memória, será provável que haja um novo acesso a este endereço em breve.
  • É possível que a maioria das buscas encontrem os dados na memória cachê e evita a paralisação do processamento para acessar à memória RAM ou à memória Auxiliar.

Gerência de Memória

  • A principal função é mover programas e seus dados da memória auxiliar para a principal.
  • Essa gerência é do Sistema Operacional.
  • O SO deve ser capaz de garantir que cada programa tenha acesso a sua área de memória e evitar corromper outros.
  • É capaz de permitir mono ou multiprogramação.
  • É capaz de:
    • Alocar programas maiores que a memória principal.
    • Otimizar o acesso e diminuir o tempo ocioso.
    • Otimizar a alocação para não gerar fragmentação.
  • O Sistema operacional deve:
    • Controlar quais regiões são utilizadas e por qual processo.
    • Decidir qual processo carregar (quando houver espaço).
    • Alocar e desalocar espaço.
  • Funções do Gerenciador:
    • Controlar as unidades de memória em uso para que sejam alocadas quando necessário.
    • Liberar as unidades desocupadas após finalização de um processo.
    • Tratar o swapping entre memória principal e secundária.
    • A transferência temporária de processos residentes da memória é para memória secundária
  • Em um ambiente multiprogramado, é necessário:
    • Subdividir a memória para acomodar múltiplos processos.
    • Se poucos processos estão na memória, em boa parte do tempo estarão esperando por E/S: UCP sub-utilizada.
    • Alocar eficientemente ao maior número de processos.
  • Funções:
    • Tradução de endereços
    • Relocação
    • Proteção
    • Compartilhamento
    • Organização física / lógica
  • Tradução de endereços:
    • Uma das funções mais importantes do sistema de gerenciamento de memória é a tradução dos endereços lógicos (programas) para endereços físicos (reais).
  • A MMU (Memory-Managment Unit) é o modulo hardware para a conversão entre os endereços lógicos e físicos.
  • Lógica: é aquela manipulada pelo processo.
  • Física: aquela implementada pelos circuitos integrados.
  • As funções da MMU são:
    • Verificar a possibilidade de conversão
    • Comprovar as permissões
    • Converter

Finalizando Memória

  • Relocação:

  • Capacidade de mover um programa de uma região da memória principal para outra sem invalidar as referências internas. O programador não precisa saber onde o programa (processo) será carregado para a execução. O processo pode sair e retornar em um local diferente. É necessário resolver as referências. A ocorrência sempre:

  • No momento de lançar o programa.

  • Dinamicamente, durante a execução. A MMU ajustada para ocorrer a relocalização do processo de forma correta.

  • Proteção

  • Assegurar a proteção do código e dos dados dos processos contra acessos acidentais ou intencionados de outros processos. Também deve proteger o código e dados do S.O. Os processos necessitam de permissão prévia. Em virtude da relocação, é preciso testar os endereços. Utilizar hardware, o teste será em tempo de execução.

  • Compartilhamento: Os programas (código e dados) devem ser compartilhados para requisitos e aumentar a multiprogramação. Permitir o acesso na mesma área e sempre comprometer o requisito da proteção.

  • Organização: A memória física de um sistema se organiza como um espaço de endereços linear e unidimensional definido por uma sequência de palavras. Geralmente organizados em módulos (código, dados, pilha, etc.). Se refere a organização lógica dos programas e garantir a conversão até o formato organizacional.

As organizações podem ser:

  • Física:
  • Hierarquia
  • Acesso a memoria
  • Extremamente rápida, volátil e alto custo (Cache)
  • Rápida, volátil e custo mediano (Principal)
  • Lenta, armazenamento permanente e barata (Secundária)
  • Lógica
  • Separados em módulos, permitindo compilação separada.
  • Referências para outro módulo para execução;
  • São atribuídos graus de proteção ou permitir o compartilhamento

Sistemas de Gestão de Memória

  • Máquina Simples (Monoprogramação)

◊ Características:

  • Não há um sistema de gestão da memória
  • Usuário com controle total da memória
  • Endereçamento lógico igual ao espaço de enredeçamento lógico é mesmo.

◊ Vantagens:

  • Maior flexibilidade e simplicidade
  • Não requerer hardware

◊ Desvantagens:

  • Processodo e Kernel S.O. compartilham mesmo espaço
  • Sem proteção e pouco eficiente

Sistemas de Arquivos

Na prática um sistema (file System, do inglês) organiza lógica e estrutura dos arquivos dando acesso e controlando o disco. Junto ao sistema operacional temos o Arquivo (FS), com Windows o sistema operacional FAT, FAT32, NTFS e GPT. Para MacOS usa-se o HFS+ e no Linux a Ext (Ext2, Ext3 e Ext4), ReiserFS e Btrfs .

Atributos um arquivo

Os atributos variam de um sistema operacional para outro, mas são

  • Nome. O nome simbólico é único
  • Identificador. O rótulo exclusivo identifica o sistema de arquivo.
  • Tipo. A informação para sistemas que acessam tipos arquivos
  • Locação. Um ponteiro para o dispositivo/locação para esse dispositivo.
  • Tamanho. Define o tamanho corrente e possibilita o tamanho máximo permitido.
  • Proteção. Permite ler, gravar, executar um arquivo

Hora, data e identificação do usuário. Gerencia criação, permissões e identificação.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser