Gestão de Memória Virtual e Segmentação
53 Questions
2 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Qual é a principal diferença entre endereços virtuais e endereços reais?

  • Endereços virtuais estão ligados diretamente aos dispositivos físicos.
  • Endereços reais correspondem ao espaço de endereçamento virtual.
  • Endereços reais são utilizados internamente pelo sistema.
  • Endereços virtuais podem ser convertidos em endereços reais. (correct)
  • Qual é o método de gestão de memória virtual mais utilizado?

  • Alocação estática
  • Paginação (correct)
  • Troca de dados
  • Segmentação
  • O que caracteriza o endereçamento virtual em relação ao swapping?

  • O endereçamento virtual sempre utiliza apenas a memória primária.
  • Cada processo pode ter partes carregadas em diferentes tipos de memória. (correct)
  • Endereços virtuais são idênticos a endereços reais.
  • Swapping implica que todo o processo esteja na memória secundária.
  • Qual dos seguintes itens é um exemplo de linguagem que utiliza garbage collectors?

    <p>Java</p> Signup and view all the answers

    Qual é o papel do sistema operacional na conversão de endereços virtuais em endereços reais?

    <p>Usar estruturas e algoritmos específicos.</p> Signup and view all the answers

    Quais são as vantagens da gestão de memória segmentada?

    <p>Múltiplos espaços de endereçamento linear por processo</p> Signup and view all the answers

    Qual é uma desvantagem da segmentação na gestão de memória?

    <p>Maior fragmentação da memória</p> Signup and view all the answers

    O que caracteriza um esquema misto na gestão de memória?

    <p>Combinacão de paginação e segmentação</p> Signup and view all the answers

    Qual é uma desvantagem do esquema misto?

    <p>Complexidade aumentada das MMUs</p> Signup and view all the answers

    O que é um descritor de segmento?

    <p>Uma estrutura que contém informações sobre limites e proteção</p> Signup and view all the answers

    O que é necessário para definir segmentos maiores que a memória física?

    <p>Utilização de paginação ou overlays</p> Signup and view all the answers

    O que o sistema operacional Multics utilizou na gestão de memória?

    <p>Um esquema misto</p> Signup and view all the answers

    Qual das opções abaixo não é uma vantagem da segmentação?

    <p>Redução das necessidades de acessos à memória</p> Signup and view all the answers

    Qual dos seguintes algoritmos busca o primeiro buraco na lista que tem dimensão suficiente para carregar um programa?

    <p>First fit</p> Signup and view all the answers

    No contexto dos sistemas multi-programados, o que representa o valor '1' em um bitmap?

    <p>Bloco ocupado</p> Signup and view all the answers

    Qual das seguintes opções é uma característica do algoritmo 'Worst fit'?

    <p>Procura o maior buraco disponível</p> Signup and view all the answers

    O que acontece com um processo quando ele necessita de mais memória em tempo de execução?

    <p>Um processo pode ser swap-out e depois swap-in com uma nova dimensão</p> Signup and view all the answers

    Qual é a função do algoritmo 'Next fit' em sistemas multi-programados?

    <p>Encontra um buraco a partir do ponto onde o último buraco foi encontrado</p> Signup and view all the answers

    O que representa o valor '0' em um bitmap?

    <p>Bloco livre</p> Signup and view all the answers

    Qual é o objetivo principal do algoritmo 'Best fit'?

    <p>Selecionar o buraco que melhor se ajusta ao tamanho do programa</p> Signup and view all the answers

    Como a memória é representada em sistemas multi-programados?

    <p>Através de listas ligadas e bitmaps</p> Signup and view all the answers

    Qual dos seguintes algoritmos não é considerado um método de alocação de memória?

    <p>Last fit</p> Signup and view all the answers

    O que caracteriza a compactação em sistemas de memória?

    <p>Reorganizar a memória para reduzir fragmentação</p> Signup and view all the answers

    O que significa 'swap-out' de um processo?

    <p>Remover o processo da memória para liberar espaço</p> Signup and view all the answers

    Qual é a função do bit R (Referenced) na gestão de páginas na memória?

    <p>Indicar se a página foi acedida desde a última interrupção do relógio</p> Signup and view all the answers

    Na classificação de páginas, qual classe representa uma página que não foi acedida e não foi modificada?

    <p>Classe 0</p> Signup and view all the answers

    Qual é o principal problema do algoritmo FIFO na gestão de páginas?

    <p>Pode descartar páginas que ainda estão em uso</p> Signup and view all the answers

    O que acontece a uma página com bit R igual a 1 no algoritmo de segunda chance?

    <p>O bit R é redefinido para 0 e a página é mantida</p> Signup and view all the answers

    Qual das seguintes afirmações sobre as classes de páginas não é correta?

    <p>Classe 3 indica que nenhuma atualização foi feita</p> Signup and view all the answers

    Qual função do sistema operativo é responsável por libertar a memória?

    <p>Libertação da memória</p> Signup and view all the answers

    O que caracteriza um sistema mono-programado?

    <p>Carga de um programa na memória principal de cada vez</p> Signup and view all the answers

    Qual é o impacto da técnica de overlays em sistemas mono-programados?

    <p>Permite a execução de programas maiores que a memória</p> Signup and view all the answers

    Como é medida a taxa de ocupação da CPU em sistemas multi-programados?

    <p>1 - pn, onde p representa o tempo de I/O</p> Signup and view all the answers

    Qual é uma desvantagem das partições fixas na gestão de memória?

    <p>Fragmentação interna e externa</p> Signup and view all the answers

    O que representa o grau de multi-programação?

    <p>O número máximo de processos que podem ser mantidos em memória</p> Signup and view all the answers

    Qual das seguintes opções é uma característica de sistemas multi-programados?

    <p>Aumento da utilização da CPU</p> Signup and view all the answers

    Qual é a função do registo fronteira em sistemas mono-programados?

    <p>Proteger a memória ocupada pelo sistema operativo</p> Signup and view all the answers

    Qual fator afeta a probabilidade de a CPU estar desocupada em sistemas multi-programados?

    <p>O número de processos em execução</p> Signup and view all the answers

    O que é a fragmentação interna em sistemas de gestão de memória?

    <p>Espaço não utilizado dentro de uma partição</p> Signup and view all the answers

    Qual é a função do bit de presença em um descritor de página?

    <p>Indicar se a página está carregada na memória principal.</p> Signup and view all the answers

    O que acontece durante uma page fault?

    <p>A página é carregada da memória secundária para a memória principal.</p> Signup and view all the answers

    O que é uma tabela de páginas?

    <p>Uma estrutura que armazena os descritores das páginas.</p> Signup and view all the answers

    Qual é o propósito das tabelas de páginas multi-nível?

    <p>Minimizar o espaço em memória ocupado pelas tabelas de páginas.</p> Signup and view all the answers

    Em uma tabela de páginas, o que representa o campo da moldura?

    <p>O índice da moldura onde a página está armazenada.</p> Signup and view all the answers

    O que é o TLB (Translation Lookaside Buffer)?

    <p>Um buffer para traduzir endereços virtuais rapidamente.</p> Signup and view all the answers

    Qual é a relação entre endereços virtuais e físicos na memória virtual?

    <p>Endereços virtuais são gerados pelo processador, endereços físicos são onde os dados efetivamente estão.</p> Signup and view all the answers

    Ao ocorrer uma page fault, que procedimento deve ser realizado?

    <p>Carregar a página em falta da memória secundária.</p> Signup and view all the answers

    Qual dos seguintes não é um componente típico de um descritor de página?

    <p>Capacidade de execução.</p> Signup and view all the answers

    Por que é necessário transferir uma página para a memória secundária durante uma page fault?

    <p>Para liberar espaço em uma moldura.</p> Signup and view all the answers

    O que indica o deslocamento dentro de um endereço virtual?

    <p>A localização específica da informação dentro da página.</p> Signup and view all the answers

    Qual das seguintes opções é verdadeira sobre as molduras na memória?

    <p>A memória principal é dividida em molduras que contêm uma única página cada.</p> Signup and view all the answers

    Qual é o impacto do TLB na eficiência do sistema de memória virtual?

    <p>Reduz o tempo necessário para acessar endereços físicos.</p> Signup and view all the answers

    Qual a principal função do campo de proteção em um descritor de página?

    <p>Controlar os direitos de acesso à página.</p> Signup and view all the answers

    Study Notes

    Sistemas Operativos - Gestão de Memória

    • O sistema operativo é responsável por gerir a memória disponível no sistema.
    • Isso inclui a representação do estado da memória, a atribuição de memória aos processos e a libertação da memória.
    • Também envolve a conjugação entre a memória principal e secundária.
    • Componentes da gestão de memória incluem: Registos, Cache, Memória principal (Discos/Tapes - Memória Secundária)
    • Microprogramação.
    • Sistema Operativo.
    • Software de Backup

    Sistemas Mono-programados

    • Os programas são executados um de cada vez.
    • O sistema operativo carrega um programa por comando para a memória principal e este corre até terminar.
    • Os programas têm um limite na dimensão de memória.
    • Surgiu a técnica dos overlays para minorar o problema da limitação de memória.
    • As partes de programas (definidas pelo programador) são carregadas em memória.
    • O sistema operativo protege a memória ocupada.
    • Um registo fronteira é usado para definir o limite de endereços ocupados pelo sistema operativo.

    Sistemas Multi-programados - Grau de Multi-programação

    • Uma medida que aproxima a utilização do CPU quando vários programas correm simultaneamente.
    • Os processos passam por uma fracção de tempo, p, bloqueados em operações de I/O.
    • Se n processos estiverem a correr, a probabilidade de o CPU estar desocupado é p"
    • A probabilidade de o CPU estar ocupado é (1- p").
    • n designa-se como o grau de multi-programação.
    • A taxa de ocupação do CPU é de aprox 80-90% considerando a probabilidade de I/O.

    Sistemas Multi-programados - Partições Fixas

    • A memória é dividida em várias partições de dimensão fixa.
    • As partições são definidas pelo gestor de sistema.
    • Cada programa é carregado em um partição adequada.
    • Há fragmentação da memória.
    • Fragmentação Interna: espaço desperdiçado dentro de uma partição.
    • Fragmentação Externa: partições inteiras desperdiçadas.

    Sistemas Multi-programados - Formas de Implementação

    • Formas de implementação das partições podem incluir Múltiplas filas ou Fila Única.

    Sistemas Multi-programados - Colocação e Protecção

    • A multi-programação trouxe problemas de colocação e protecção.
    • Colocação: garantir que os endereços referenciados por um programa são os correctos, mesmo que o programa seja carregado em posições diferentes na memória.
    • Registo Base: Para cada endereço referenciado pelo programa, soma-se o endereço base da partição onde o programa foi carregado.
    • Protecção: impedir que um programa aceda aos endereços de um programa diferente.
    • Registo Limite: Checar se o endereço referenciado por um programa está dentro do limite da sua partição atribuída.
    • Exemplos de Base e Limite para uma partição incluem verificação de acesso a um endereço End, limite = 384k e base = 128k.

    Sistemas Multi-programados - Partições Variáveis

    • Esta estratégia atribui partições com dimensões dinâmicas ajustáveis aos programas.
    • Evita a fragmentação interna, mas mantém a fragmentação externa.
    • Para resolver a fragmentação, utiliza-se de tempos em tempos uma compactação de memória.
    • Uma compactação agrupa os endereços contiguos e libera espaços.

    Sistemas Multi-programados - Swapping

    • É um esquema que envolve a memória principal e memória secundária (disco).
    • A ideia principal é transferir os processos da memória principal para o disco e vice-versa.
    • Um critério para o swapping é transferir um processo bloqueado para o disco, e trazer um processo que pode tornar-se ativo para a memória RAM.
    • Este método é utilizado em conjunto com partições de dimensões variáveis.
    • Pode causar proliferação de buracos.
    • A compactação da memória é necessário.

    Sistemas Multi-programados - Representação da Memória

    • Memória estruturada em unidades (blocos) com dimensões fixas.
    • Representação do estado da memória pode ser através de Listas Ligadas.
    • Estrutura com Listas Ligadas com as posições disponíveis (P), e as posições ocupadas (L).
    • A utilização de Bitmaps ajuda na visualização de blocos ocupados e livres na memória principal, onde (1) - representa bloco ocupado e (0)- representa bloco livre
    • Também listas ligadas de posições ocupadas, (L) e livres (P).

    Sistemas Multi-programados - Algoritmos

    • Algoritmos para o carregamento de programas na memória incluem First fit, Next fit, Best fit e Worst fit.
    • First-fit procura o primeiro buraco grande o suficiente para carregar o programa.
    • Próximo ajuste: variação do primeiro ajuste, partindo do ponto onde foi encontrado um buraco.
    • Melhor ajuste: Procura o buraco com o tamanho que melhor se ajusta ao programa.
    • Pior ajuste: Procura o maior buraco disponível, esperando que o espaço restante seja usado por outros programas.
    • Quick-fit mantém várias listas de buracos, agrupados de acordo com as dimensões.

    Sistemas Multi-programados - Memória Dinâmica

    • Um processo pode precisar de mais memória em tempo de execução.
    • Uma solução é transferir para o disco, e depois introduzir com uma nova dimensão.
    • O que pode consumir tempo demais, então reservar antecipadamente espaço para a variável.
    • RÁPIDO, mas envolve desperdício de memória

    Sistemas Multi-programados - Linguagens de Programação (e.g., C/C++)

    • Funções para manipulação de memória dinâmica em C e C++.
    • malloc(size_t m): aloca um bloco de m bytes e devolve um apontador para o bloco.
    • calloc(size_t n, size_t m): aloca um conjunto de n elementos com m bytes cada, e o apontador para o bloco.
    • free(*ptr): Liberta o espaço apontado por ptr, que foi alocado por malloc ou calloc.

    Sistemas Multi-programados - Linguagens de Programação (e.g. C++)

    • Operadores para reserva e libertação de memória dinâmica em C++.
    • new: para reserva dinâmica de memória .
    • delete: para libertação de memória.
    • invocam construtores e destrutores.
    • Linguagens como Java usam garbage collectors para a gestão de memória.

    Memória Virtual - Conceitos

    • Espaço de endereçamento virtual engloba a memória primária e secundária.
    • O endereçamento virtual difere do swapping, visto que cada processo pode ter partes da memória principal ou secundária, ou em ambos.
    • Métodos para Gestão de memória virtual incluem: paginação e segmentação.

    Memória Virtual - Endereços

    • Endereços reais: endereços físicos para acesso direto a dispositivos.
    • Endereços virtuais: endereços usados internamente pelo sistema, que não são ligados diretamente aos dispositivos físicos; um endereço virtual pode ser muito diferente de um endereço real.
    • Converter para endereços reais, o sistema operativo usa estruturas e algoritmos, e uma unidade de hardware (MMU).

    Memória Virtual - MMU

    • A função da MMU é converter endereços virtuais em físicos.
    • Notifica o sistema se um acesso a um endereço virtual não existir fisicamente na memória principal (page fault).

    Memória Virtual - Paginação

    • Método comum para gestão de memória virtual.
    • Páginas/Blocos de dimensão fixa designadas por páginas.
    • A dimensão de paginas é uma potência de 2.
    • A memória principal é dividida em molduras (page frames) com capacidade de comportar uma página.
    • Endereços virtuais incluem páginas e deslocamento, e endereços físicos incluem molduras e deslocamento.
    • Tabelas de páginas (Page Tables): Estrutura que relaciona endereços virtuais com molduras para endereços reais.
    • Descritores usados nas Page Tables:
    • Bit de presença: indica se a página está na memória principal.
    • Moldura: índice da moldura onde a página está localizada.
    • Protecção: bits para controlar o acesso à página (e.g., leitura/escrita).
    • Controlo: bits auxiliares para o funcionamento dos algoritmos de substituição de páginas.

    Memória Virtual - Tabelas Multi-Nível

    • Para reduzir o espaço ocupado pelas tabelas de páginas.
    • Organizados numa estrutura hierárquica, incluindo uma tabela principal e tabelas de níveis.

    Memória Virtual - TLB

    • TLB (Translation Lookaside Buffer): cache para páginas, para diminuir o tempo de acesso.

    Memória Virtual - Paginação - Algoritmos de Substituição

    • Algoritmos para substituir páginas em memória principal quando não há espaço.
    • Alguns algoritmos incluem NRU , FIFO, Segundas chances, Relojóio e LRU (Least Recently Used).
      • NRU: classifica as páginas com base em bits que indicam se foram acessadas ou modificadas.
      • FIFO(First In, First Out): descarta a página que esteve mais tempo na memória.
      • Segunda Chance: Variante de FIFO que considera os bits de referência para evitar descartar páginas em uso.
      • Relógio: Variante de segunda chance, mas com uma estrutura circular.
      • LRU: descarta a página que não foi usada mais recentemente.
      • NFU(Not Frequently Used): Algoritmo que tenta aproximar-se do LRU com um contador para cada página carregada em memória.
      • Aging: Variante de NFU, desloca o conteúdo do contador.

    Memória Virtual - Paginação - Page Faults

    • Uma page fault indica que uma página solicitada não está na memória principal, causando bloqueio ao processo.
    • O sistema precisa carregar a página da memória secundária para a principal e atualizar as tabelas.
    • Page fault pode ocorrer quando o acesso a um endereço virtual não corresponde fisicamente a um espaço na memória principal.

    Memória Virtual - Paginação - Working Set

    • O working set é o conjunto de páginas que um processo está a utilizar num determinado momento.
    • Se todo o working set estiver na memória, não há page faults.
    • Algoritmos de substituição de paginação podem utilizar e prever o Working Set para gerenciar melhores decisões de paginação.

    Memória Virtual - Paginação - Políticas de Paginação

    • O sistema opta por criar a página a pedido quando ela é necessária (Demand Paging), ou carregando um conjunto de páginas antecipadamente (Prepaging).

    Memória Virtual - Segmentação

    • Método que divide os espaços de endereçamento virtual em segmentos.
    • Endereços são lineares (de 0 até um máximo), o que permite segmentos de tamanhos distintos.
    • Desvantagens: mais probabilidade de fragmentação.
    • Vantagens: fácil compartilhamento de dados.
    • Processo dividido em segmentos (código, heap, pilha) em espaços de endereçamento linear diferentes entre um processo e outro.

    Memória Virtual - Segmentação - Estruturas

    • Tabelas de descritores de segmentos: relacionam os selectores (endereço virtual) com os endereços físicos.
    • Estrutura de descritores contém: Bit de presença, Base, Limite, Protecção e Controlo (todos para organização e funcionamento melhorados).

    Memória Virtual - Misto

    • Combina paginação e segmentação para aproveitar as vantagens de ambos os métodos.
    • Um esquema misto era usado no sistema operativo Multics e no processador Pentium.
    • Vantagem: elimina desvantagens do esquema puro de segmentação.
    • Desvantagem: maior complexidade das MMUs, acessos extras à memória; mas mantém as vantagens do esquema de segmentação de melhor organização e acesso

    Studying That Suits You

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

    Quiz Team

    Related Documents

    Sistemas Operativos PDF

    Description

    Teste seus conhecimentos sobre gestão de memória virtual, endereços virtuais e reais, e segmentação. Este quiz aborda conceitos fundamentais relacionados ao funcionamento dos sistemas operacionais e suas técnicas de gerenciamento de memória. Prepare-se para responder perguntas desafiadoras!

    More Like This

    Use Quizgecko on...
    Browser
    Browser