SóProvas



Questões de Gerência de Memória


ID
5530
Banca
CESGRANRIO
Órgão
Transpetro
Ano
2006
Provas
Disciplina
Sistemas Operacionais
Assuntos

O sistema operacional, através do gerenciador de memória, deve tentar manter na memória principal o maior número de processos residentes, permitindo maximizar o compartilhamento do processador e demais recursos computacionais. Mesmo na ausência de espaço livre, o sistema deve permitir que novos processos sejam aceitos e executados. A técnica de swapping foi introduzida para contornar o problema de insuficiência de memória principal e consiste em:

Alternativas
Comentários
  • Swapping é o movimento de processos entre a memória e o disco rígido do computador:? Um processo bloqueado é transferido para o disco? O espaço de memória é liberado? Outro processo é carregado no local
  • a) escolher um processo residente, a ser transferido da memória principal para a memória secundária (swap out), sendo que, posteriormente, o processo é carregado de volta da memória secundária para a memória principal (swap in).

    CORRETO. Swap é uma área de troca do sistema operacional onde os processos que não estão em execução e não cabem na memória principal são guardados. Cada processo pode ter sua pilha (Stack), sua área de dados ( Heap ) e o programa em si, as instruções.

    Outra alternativa ao swap é a memória virtual, nesse caso o processo pode ser executado mesmo que não esteja totalmente carregado na memória principal. 
    Digamos que a memória física disponível esteja no espaço de endereçamento de  0x00 até  0xF0 . Com a memória virtual podemos fornecer ao processo um endereçamento maior que esse, de 0x00 até 0xFF por exemplo, sendo que acima de 0xF0 os dados estão no disco virtual, mas isso torna-se transparente ao processo.

    É a MMU ( Memory Management Unit) quem vai mapear endereços de memória virtuais em endereços de memória físicos.



    b) dividir a memória principal em pedaços de tamanho fixo, chamados partições, onde o tamanho das partições é estabelecido na fase de inicialização do sistema.

    Isso aí era nos tempos que os dinossauros ainda andavam sobre a terra. Nos computadores IBM OS 360. O operador definia manualmente o tamanho das partições e os JOBs iam chegando e uma partição era alocada para o JOB.

    Isso é usado muito raramente hoje.

    c)  dividir o programa em módulos, de forma que seja possível a execução independente de cada módulo, utilizando uma mesma área de memória.

    ISSO aí era uma técnica conhecida como OVERLAY. O programa era subdividido em módulos de forma que coubesse na memória. Quando um módulo terminava sua execução chamava outro módulo que ocupava a memória. Era o programador quem tinha que dividir os módulos. Isso acabou evoluindo para memoria virtual, onde o que está na Memória Principal e o que está no disco é completamente transpartente para o programador.


     
  • d) dividir a memória em pedaços de tamanho variável, de modo que cada programa utilize apenas o espaço necessário para sua execução.
     
    Isso aí refere-se a gerência de memória. Nesse caso é utilizado algum algoritmo para alocar dinamicamente memoria para algum processo. Esse algoritmo pode ser (não-exaustivamente) First-Fit - Que vai alocar a memória para o processo no primeiro espaço que couber essa quantidade de memória necessária, nesse caso, a memória restante pode ser utilizada por outro processo. Outro algoritmo é o Best-Fit, que vai alocar a memória necessária no menor espaço suficientemente grande, com o objetivo de deixar a menor fragmentação possível ( espaço restante) - essa é uma estratégia gulosa que não dá muito certo porque com o passar do tempo a memória fica com , fragmentos que não podem ser utilizados por outros processos porque são muito pequenos. Outro algoritmo é o Worst-Fit, que tenta fazer ao contrário do Best-Fit, deixar o maior fragmento livre possível.
     
    e) desenvolver as aplicações de modo a não ultrapassar o espaço de endereçamento de memória disponível.
    A memória utilizada pelos processos tende a crescer indefinidamente. Mesmo processos que aparentemente podem usar pouca memória, como por exemplo operações matemáticas, que utilizem, por exemplo, recursão, podem acabar sempre precisando de mais memória (algoritmos recursivos precisam crescer a stack - pilha - a cada recursão), ou quem nunca tomou um stack overflow...
  • Swapping - transfere temporariamente um processo da memória para o disco e depois do disco para a memória, tipo pin pong.


ID
5596
Banca
CESGRANRIO
Órgão
Transpetro
Ano
2006
Provas
Disciplina
Sistemas Operacionais
Assuntos

Um sistema operacional é uma camada de software que atua entre o hardware e os diversos aplicativos existentes em um sistema computacional, executando diversas atividades, de modo a garantir a disponibilidade de recursos entre todos os programas em execução. O gerenciador de memória é uma atividade do sistema operacional, responsável por:

Alternativas
Comentários
  • "De forma geral, a parte do SO responsável pelo tratamento dos arquivos é denominada sistema de arquivos". (Tanenbaum)

  • a) esta é a descrição de um escalonador(justo) de processos ou gerenciador de processosb) esta é a responsabilidade do gerenciador de Entrada/Saídac) está relacionado ao gerenciamento de usuáriosd) está relacionado ao gerenciamento de sistema de arquivose) resposta correta quanto a função do gerenciador de memória

ID
5605
Banca
CESGRANRIO
Órgão
Transpetro
Ano
2006
Provas
Disciplina
Sistemas Operacionais
Assuntos

O sistema operacional, através do gerenciador de memória, deve tentar manter na memória principal o maior número de processos residentes, permitindo maximizar o compartilhamento do processador e demais recursos computacionais. Mesmo na ausência de espaço livre, o sistema deve permitir que novos processos sejam aceitos e executados. A técnica de swapping foi introduzida para contornar o problema de insuficiência de memória principal, e consiste de:

Alternativas
Comentários
  • Swapping é uma técnica para resolver problema de processos que aguardam por espaço livre adequado, ou seja, os processos não ficam mais na memória o tempo todo.

    Um processo residente na memória é levado para o disco (Swapped-Out), dando lugar a outro; O processo Swapped-Out retorna à memória (Swapped-In), sem “perceber” o que ocorreu.

    Entretanto, temos um problema gerado pelo Swapping, que é a realocação dos processos, pois o tempo gasto com essas trocas é alto e um mesmo processo sendo Swapped-Out repetidas vezes gera um alto consumo de CPU.

    Técnica de Swapping traz algumas vantagens para os processos, tais como:
             - Maior compartilhamentoda memória;
             - Aumento no Throughput (quantidade de processos executados por unidade de tempo);
             - Eficiente para sistemas com poucos usuários e pequenas aplicações;

    Sabendo-se do conceito básico do é Swapping, já seria possível resolver a questão, pois a única alternativa que se refere à troca, transferência (que é o significado da palavra SWAP, é a alternativa D.

    Abs e bons estudos,
    Felipe Ferrugem!

    "Juntos somos ainda melhores!!!"
     

     
  • Impressão minha, ou o nível maior de exigência/cobrança atual mudou absurdamente?

  • Gabia D.


ID
12130
Banca
CESPE / CEBRASPE
Órgão
Polícia Federal
Ano
2004
Provas
Disciplina
Sistemas Operacionais
Assuntos

Os sistemas operacionais são softwares básicos dos computadores, oferecendo uma API conveniente para desenvolvimento e execução de aplicações e uma interface de usuário de alto nível. Acerca de sistemas operacionais, julgue os itens que se seguem.

Sistemas operacionais fazem o controle de acesso à memória primária, protegendo as áreas de memória de uma aplicação do acesso por outra aplicação. Esse mecanismo de controle utiliza técnicas de paginação e segmentação de memória.

Alternativas
Comentários
  • Como vários programas ocupam a memória simultaneamente e cada usuário possui uma área onde dados e código são armazenados, o Sistema Operacional deve possuir mecanismos de proteção à memória, de forma a preservar as informações. Caso um programa tente acessar uma posição de memória fora de sua área, um erro do tipo violação de acesso ocorre e o programa é encerrado. O mecanismo para o controle de acesso à memória varia em função do tipo de gerência de memória implementado pelo sistema.

    NA PAGINAÇÃO:
    O conceito de página, fundamental para a paginação, é uma criação do sistema operacional para facilitar a gerência da memória, a fim de se eliminar o problema da fragmentação externa (necessidade de um programa ocupar uma única área contígua de memória). A páginação faz com que cada programa seja espalhado por áreas não contíguas de memória.

    NA SEGMENTAÇÃO:
    Programadores e compiladores não enxergam a memória lógica dividida em páginas, mas sim em segmentos. Uma divisão típica descreve um programa em termos de quatro segmentos: código, dados alocados estaticamente, dados alocados dinamicamente e pilha de execução. Outros sistemas trabalham com uma granularidade menor. Por exemplo, cada objeto ou módulo corresponde a um segmento. Em geral, o programador atribui nomes aos segmentos, e o compilador transforma esses nomes em números.
  • A paginação eh um esquema de gerencia de memoria q permite q o espaco dos enderecos fisicos de um processo seja nao contiguo. Ela divide a memoria fisica em blocos tamanhos fixos chamados quadros e a memoria logica em blocos do mesmo tamanho chamados paginas. 

    A segmentacao tem a mesma ideia da paginacao, mas a diferença entre ambas eh q esta possui tamanho variavel, e aquela eh fixa.

  • Marquei com certo, mas sei não.

    Pra mim o principal responsável por isso é a CPU que deve disponibilizar as funções de segmentação, paginação, modos de execução, etc...

    No caso de um programa acessar área de memória não disponível a CPU gera uma interrupção e aciona o sistema operacional.

    Além disso o certo seria "Esse mecanismo de controle utiliza técnicas de paginação OU segmentação de memória" visto que pode ser um, outro ou ambos e não apenas ambos.

     

     

  • A segmentação complementa a lógica real de um programa, enquanto a paginação é voltada para o hardware do sistema.

    Na paginação, o espaço de endereçamento virtual é dividido em blocos, denominados unidades de alocação, de tamanho e posição fixas, geralmente de pequeno tamanho, aos quais se associa um número.

    Com segmentação é possível distinguir e proteger separadamente os procedimentos e dados de um programa.

    a Paginação faz referência ao espaço de endereçamento virtual dividido em unidades de tamanho fixo. Considerando que as páginas são pequenas e de comprimento fixo, a fragmentação deixa de ser um problema.


ID
16891
Banca
CESPE / CEBRASPE
Órgão
TRE-AL
Ano
2004
Provas
Disciplina
Sistemas Operacionais
Assuntos

O gerenciamento de memória é uma das principais
funcionalidades dos sistemas operacionais. Acerca do
gerenciamento de memória, julgue os itens subseqüentes.

Com o particionamento fixo da memória, evita-se o
fenômeno de fragmentação interna do espaço dos processos.

Alternativas
Comentários
  • devido ao particionamento fixo é que ocorre a fragmentação. Por exemplo, a memoria é particionada em segmentos fixos de 50kb, seu eu aloco 30kb, ficará uma lacuna de 20kb.
    "A fragmentação interna é a perda de espaço dentro de uma área de tamanho fixo > http://pt.wikipedia.org/wiki/Fragmenta%C3%A7%C3%A3o "
  • O particionamento fixo é tambem conhecido como estático e pode ser absoluto ou relocavel. Em ambos os casos pode ocorrer fragmentação interna. Já no particionamento dinâmico nao ocorre fragmentacao interna pq o espaco utilizado por um programa é a sua partição. O que ocorre nesse caso é a fragmentacao externa que é o espaco deixado por um processo quando este termina.
  • Com o particionamento fixo da memória, não evita fenômeno de fragmentação interna do espaço dos processos.

    GABARITO: E

  • PARTICIONAMENTO DA MEMÓRIA:

    PARTIÇÕES FIXAS: Divide a memória em pedaços de tamanho fixo, exemplo: 10KB, 20KB, se um processo de 5KB aloca-se no pedaço de 10KB, sobra ainda 5KB sem uso (FRAGMENTAÇÃO INTERNA)

     

    PARTIÇÕES DINÂMICAS: Divide a memória em pedaços por demanda, porém quando um dos pedaços deixa de ser ocupado, o mesmo torna-se um buraco sem uso entre as partições (FRAGMENTAÇÃO EXTERNA)

     

  • Conceito da paginação e segmentação.

    Paginação = Interna dentro de páginas e tamanho fixo;

    Segmentação = Externa entre segmentos e tamanho variável.

  • particionamento fixo -> fragmentação interna

    particionamento variavel -> fragmentação externa


ID
16894
Banca
CESPE / CEBRASPE
Órgão
TRE-AL
Ano
2004
Provas
Disciplina
Sistemas Operacionais
Assuntos

O gerenciamento de memória é uma das principais
funcionalidades dos sistemas operacionais. Acerca do
gerenciamento de memória, julgue os itens subseqüentes.

Na técnica de paginação com memória virtual, as páginas
não-residentes na memória são automaticamente trazidas
para ela quando se tornam necessárias.

Alternativas
Comentários
  • "automaticamente" é uma palavra, no mínimo, estranha para descrever como as páginas são trazidas para a memória principal.
  • Concordo.
    O termo deixou a questão bem confusa...
  • Você pode deixar que o sistema operacional faça o gerenciamento da memória virtual. É só deixar a opção “Gerenciar automaticamente o tamanho do arquivo de paginação de todas as unidades” marcada.

    fonte: https://www.tecmundo.com.br/o-que-e/1031-o-que-e-memoria-virtual-.htm#:~:text=Clique%20na%20aba%20%E2%80%9CAvan%C3%A7ado%E2%80%9D%20e,de%20todas%20as%20unidades%E2%80%9D%20marcada.


ID
16897
Banca
CESPE / CEBRASPE
Órgão
TRE-AL
Ano
2004
Provas
Disciplina
Sistemas Operacionais
Assuntos

O gerenciamento de memória é uma das principais
funcionalidades dos sistemas operacionais. Acerca do
gerenciamento de memória, julgue os itens subseqüentes.

No contexto do particionamento dinâmico da memória, um
endereço lógico é uma referência para uma posição de
memória, independentemente da atribuição corrente de
dados à memória, de modo que deve ser feita uma tradução
para um endereço físico antes de se realizar um acesso
efetivo à memória.

Alternativas
Comentários
  • Particionamento dinâmico de memória envolve dois tipos: paginação e segmentação.
    Um processo precisa estar mapeado na tabela de páginas. A entrada na tabela de páginas, p. ex., possui como entrada o número de página. Na mesma linha da tabela, possui a moldura de página correspondente (onde foi alocada tal página). Assim, um endereço lógico é uma referência para uma posição de memória.

    Um programa possui apenas endereços lógicos. Para virarem processos, a MMU tem que transformar esses endereços lógicos em físicos. Ele faz isso somando o endereço base (início do endereço físico onde foi alocado) ao endereço lógico.
    Faz de conta que há 16 molduras de página. Para referenciar tais molduras, são necessários 4 bits. Faz ainda de conta que a memória virtual é de 16 bits, podendo ter até 64k endereços. Faz de conta que o programa inicia no endereço 1234 (h). Em binário, 0001 0010 0011 0100. Se, faz de conta, esse endereço foi alocado na moldura de página 4 (0100), faz-se:

    0001 0010 0011 0100 (endereço lógico)
    0100                           (moldura de página)
    0100 0010 0011 0100 (endereço físico)

    Até + !
     




ID
16900
Banca
CESPE / CEBRASPE
Órgão
TRE-AL
Ano
2004
Provas
Disciplina
Sistemas Operacionais
Assuntos

O gerenciamento de memória é uma das principais
funcionalidades dos sistemas operacionais. Acerca do
gerenciamento de memória, julgue os itens subseqüentes.

Na técnica de paginação, o espaço de memória desperdiçado
com a alocação de processos consiste no conjunto de
espaços que separam um processo dos demais.

Alternativas
Comentários
  • Paginação é para memória e não processos. Processos são escalonados, ou seja, organizados e escolhidos para utilizarem o precessador em um determinado momento, de acordo com o algorítmo de escalonamento.
  • Paginação é para memória e não processos. Processos são escalonados, ou seja, organizados e escolhidos para utilizarem o precessador em um determinado momento, de acordo com o algorítmo de escalonamento.
  • Olá. Processos não são programas em execução? Acredito que processos também competem por espaço na memória primária (Além de competir pelo processador...com o uso do escalonamento).

    A paginação disperdiça pouco ou quase nehum espaço na memória. A fragmentação interna pode ocorrer apenas na última página de um processo.

    Acho que a afirmação está errada porque na paginação as páginas que compoem um processo são distribuídas na memória principal de forma não-contígua. Logo, não se pode falar sobre "espaços que separam um processo dos demais".
  • O que acontece na paginação é que as páginas são de tamanho pequeno. Quando um programa na memória virtual é dividido em páginas, pode acontecer de a última página não ser completada inteiramente. Assim, há um desperdício de espaço. Então, a perda é dentro da página, e não entre elas. Porém, é uma perda pequena.

  • Ocorre fragmentação interna e não externa!
  • Raciocinei parecido com o sargu mas comenti um erro que o enunciador deve ter pensado!

    A paginação disperdiça pouco ou quase nenhum espaço na memória.
    A fragmentação interna pode ocorrer apenas na última página de um processo.

    Só que pensei que as páginas que compoem um processo fossem distribuídas na memória principal de forma contígua.
    Daí a página que contém o desperdício de espaço seria a última do processo e a seguinte já seria uma nova página de um outro processo.

    Provavelmente as páginas que do processo são distribuídas na memória principal de forma não-contígua, como comentou o sargu.
  • O espaço de memória disperdiçado na alocação por paginação é fragmentação interna, ou seja, dentro da página. Desperdício de memória que fica entre um processo e outro seria fragmentação externa, mas esta não ocorre não técnica de paginação. Na paginação nós só temos fragmentação interna.
  • Na paginação a FRAGMENTAÇÃO é INTERNA e não EXTERNA.

  • Descreveu a segmentação, não a paginação.


ID
16903
Banca
CESPE / CEBRASPE
Órgão
TRE-AL
Ano
2004
Provas
Disciplina
Sistemas Operacionais
Assuntos

O gerenciamento de memória é uma das principais
funcionalidades dos sistemas operacionais. Acerca do
gerenciamento de memória, julgue os itens subseqüentes.

As técnicas de paginação e de segmentação têm em comum
a necessidade de gerenciar uma lista dos blocos livres de
memória.

Alternativas
Comentários
  • Na técnica de segmentação existe a compactação, que serve para tentar reduzir o problema da fragmentação externa. E na paginação?

  • flashfs na paginação não há fragmentação externa, apenas fragmentação interna.

  • Questão faz referencia ao recurso de:

    Lista de disponíveis (Lista Encadeada) segundo Tanembaum.

  •  A segmentação complementa a lógica real de um programa, enquanto a paginação é voltada para o hardware do sistema.

    Na paginação, o espaço de endereçamento virtual é dividido em blocos, denominados unidades de alocação, de tamanho e posição fixas, geralmente de pequeno tamanho, aos quais se associa um número.


ID
17812
Banca
CESGRANRIO
Órgão
BNDES
Ano
2008
Provas
Disciplina
Sistemas Operacionais
Assuntos

Um sistema operacional que usa segmentação de memória tem a seguinte configuração:

segmento 1 : 100 KB
segmento 2 : 50 KB
segmento 3 : 200 KB
segmento 4 : 50 KB

A memória é preenchida com segmentos de diversos tamanhos, colocados na ordem abaixo. 20 KB, 50 KB, 10 KB, 50 KB, 20 KB, 20 KB, 40 KB

Qual o espaço livre de cada segmento, respectivamente, para as estratégias abaixo?

I: best-fit
II: first-fit
III: worst-fit

Alternativas
Comentários
  • Best fit é um algoritmo de alocação de memória que utiliza o melhor espaço de memória, ou seja, aquela que deixa o menor espaço alocado sem utilização.
    O algoritmo First Fit utiliza o primeiro espaço de memória que encontrar com tamanho suficiente.
    O algoritmo worst-fit aloca o programa na pior partição, ou seja, aquela que deixa o maior espaço livre.

  • Best-Fit - Aloca cada processo no primeiro menor espaço que o caiba.Firt-Fit - Aloca cada processo na primeiro espaço disponível que o caiba.Worst-Fit - Aloca cada processo na ordem que chegam no maior espaço disponível.I - 100;50;200;50 --> 100;30;200;50 --> 100;30;200;0 --> 100;20;200;0 --> 50;20;200;0 --> 50;0;200;0 --> 30;0;200;0 --> 30;0;160;0 ---> I: 1=30 KB, 2=0 KB, 3=160 KB, 4=0 KBII - 100;50;200;50 --> 80;50;200;50 --> 30;50;200;50 --> 20;50;200;50 --> 20;0;200;50 --> 0;0;200;50 --> 0;0;180;50 --> 0;0;140;50 ---> II: 1=0 KB, 2=0 KB, 3=140 KB, 4=50 KBIII - 100;50;200;50 --> 100;50;180;50 --> 100;50;130;50 --> 100;50;120;50 --> 100;50;70;50 --> 80;50;70;50 --> 60;50;70;50 --> 60;50;30;50 ---> III: 1=60 KB, 2=50 KB, 3=30 KB, 4=50 KB
  • Resposta: A

    Resolucão: fiz a resolução mas não coube nesta página, segue o link:

    RESOLUÇÃO
  • Complementando as respostas aqui postadas...

    Letra A

    segmento 1 : 100 KB 

    segmento 2 : 50 KB 

    segmento 3 : 200 KB 

    segmento 4 : 50 KB

    A memória é preenchida com segmentos de diversos tamanhos, colocados na ordem abaixo.

    20 KB, 50 KB, 10 KB, 50 KB, 20 KB, 20 KB, 40 KB

    I: best-fit

    segmento 1 : 100 KB 50 KB 30 KB 

    segmento 2 : 50 KB 0 KB

    segmento 3 : 200 KB 160 KB

    segmento 4 : 50 KB 30 KB 20 KB 0 KB

    II: first-fit

    segmento 1 : 100 KB 80 KB 30 KB 20 KB 0 KB  

    segmento 2 : 50 KB 0 KB

    segmento 3 : 200 KB 180 KB 140 KB

    segmento 4 : 50 KB

    III: worst-fit

    segmento 1 : 100 KB 80 KB 60 KB 

    segmento 2 : 50 KB 

    segmento 3 : 200 KB 180 KB 130 KB 120 KB 70 KB 30 KB 

    segmento 4 : 50 KB


ID
28945
Banca
CESGRANRIO
Órgão
CAPES
Ano
2008
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em qual técnica de escrita (write) em cache a informação é gravada, de maneira síncrona, tanto no cache como nos blocos inferiores da hierarquia de memória?

Alternativas
Comentários
  • Dependendo da forma como a CPU escreve os dados na memória cache, a performance do processamento muda.

    Formas:

    Write-Back Cache

    A CPU escreve somente na cache. O SO se incube de escrever na memória principal. Aumenta a velocidade porém pode gerar inconsistência entre a cache e a mem. principal.

    Write-Through Cache

    A CPU escreve tanto na cache como na mem. principal. Diminui a velocidade mas aumenta a consistência.

    Write Allocate

    Usado se houver write miss (perda de escrita). Mais usado no caso de write-back, pois a correção é feita diretamente na cache.

    No Write Allocate

    Correção realizada diretamente na mem. principal. Mais usado quando a forma é write-through.

    Fonte: http://pt.wikipedia.org/wiki/Cache
  • A politica de escrita na cache é uma questão de manter o sincronismo da cache com a memória principal. Existem três algoritmos ou três formas de manter tanto a cache qto a memória principal atualizados. Os algoritmos são: a) write once; b) write throught; c) write back.A) Write once - esta algoritmo é apropriado para sistemas multiprocessadores que comartilham o mesmos barramentos. A controladora escreve atualizndo os blocos na memória principal sempre que o bloco correspondente na cache for atualizado pela primeira vez.B) Write Through - Neste algoritmo, sempre que ocorre uma operação de escrita na cache a informação é igualmente escrita na memória principal.C) Write Back - Neste algoritmp, sempre que houver uma alteração nos dados da cache, o quadro é marcado com um bit denominado atualiza. Desta forma, o sistema operacional verifica se o bit atualizado é igual a 1. Se for, o SO pega os blocos do quadro em questão e grava na memória principal.
  • Em outra bibliografia, lí que o Write-Throught ao atender uma solicitação de escrita, uma cópia dos dados à escrever no disco é mantida na cache para beneficiar futuras possíveis leituras...
    Isto é correto também?
  • Convém salientar que é necessário manter a integridade dos dados por meio das politica de atualizações. O intuito é repassar as informações atualizadas feitas pelo processador para os outros níveis da memória. As principais politicas de atualizações são: (i) write-back, na qual mantem as informações apenas na cache, repassando-as para o nível adjacente (memória principal) apenas quando houver a necessidade de substituição; e (ii) write-through, na qual as informações são atualizadas na memória principal no mesmo tempo que as informações são atualizadas na cache.


ID
29002
Banca
CESGRANRIO
Órgão
CAPES
Ano
2008
Provas
Disciplina
Sistemas Operacionais
Assuntos

No âmbito de sistemas operacionais, a Anomalia de Belady é um conceito relacionado à gerência de

Alternativas
Comentários
  • As vezes, dando-se mais memória aumenta o número de page faults!
  • Anomalia de Belady: Aumento da memória pode acarretar o aumento da taxa de page-faults.Mais frames => mais page faults
  • Page fault (às vezes chamado de #pf ou pf) é um tipo de interrupção, chamada de trap, aumentado pelo hardware quando está executando acesso a página de memória que é mapeada dentro de espaços de endereços virtuais, mas não é carregado em memória física [1].

    Page frame: são unidades correspondentes na memória física[2].

    Bélády's anomaly é o nome dado para um fenômeno onde se aumenta o número de page frames que é um resultado do aumento de page faults dado pelo padrão de acesso à memória[3].

    [1] http://en.wikipedia.org/wiki/Page_fault

ID
32764
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2008
Provas
Disciplina
Sistemas Operacionais
Assuntos

Quando uma falta de página ocorre, o sistema operacional precisa escolher uma página a ser removida da memória, a fim de liberar espaço para uma nova página a ser trazida para a memória. Em relação aos algoritmos que podem ser utilizados, para executar a substituição de páginas, pode-se afirmar que

Alternativas
Comentários

  • ANOMALIA de BELADY

    ACORRE QUANDO USAMOS O ALGORITMO FIFO

    - Usando 4 Frames (molduras) teremos mais PageFault (falta de páginas) do que usando 3 Frames. Por "parecer" impossível, sua ocorrência foi motivo de muitos estudos. Ocorre no uso do Algoritmo Fifo, quando da Substituição de páginas em memória Virtual.

    - Obs : Algoritmos que não apresentam a anomalia de Belady, são chamados de Algoritmos de Pilha.

    Até mais, Papirem!!!
  • Provavelmente porque o Sr. Belany (com N) nem deve imaginar que cunhou uma anomalia para TI.
  • Luciano tem razão, apesar do gabarito considerar a letra "a" como correta, o nome da anomalia descrita deveria ser Belady (com "d"). Mas vamos lá:
    a) Certa. Pode parecer, intuitivamente, que, quanto mais molduras de página a memória possuir, menos faltas de página o programa terá. É bastante  surpreendente constatar que isso nem sempre é verdadeiro. Belady et al (1969) descobriram um contra-exemplo, no qual o algoritmo de substituição de página FIFO causava mais faltas de página com quatro molduras de página do que com três. Essa estranha situação tornou-se conhecida como anomalia  de Belady. (Fonte: Sistemas Operacionais, Tanembaum, 2ed, pag 170).
    b) Errada. Na paginação por demanda, os processos são iniciados sem qualquer uma de suas páginas presentes na memória. Assim que a CPU tenta buscar a primeira instrução, ela detecta uma falta de página, fazendo o sistema operacional carregar na memória a referida página que contém essa primeira instrução. Nessa estratégia, as páginas só são carregadas à medida que são solicitadas, e não antecipadamente. O processo depois de um certo tempo terá a maioria das páginas que necessita para ser executado e passa a gerar relativamente poucas faltas de página.
    c) Errada. No FIFO puro, a página mais antiga é a primeira a sair da memória. O FIFO com segunda chance é uma modificação simples do FIFO puro. O FIFO segunda chance impede que uma página intensamente usada saia da memória simplesmente porque é a mais antiga.
    d) Errada. LRU (Least Recently Used) retira da memória a página não utilizada pelo período de tempo mais longo. O algoritmo que retira da memória a página menos referenciada é o Algoritmo de Envelhecimento (Aging).

    e) Errado. É nitidamente mais eficiente compartilhar páginas para evitar a situação de existirem duas cópias ou mais da mesma página presentes na memória. Com essa economia de memória sobra mais espaço, que poderá conter mais páginas e que diminuirá o problema de falta de páginas.
    (Fonte: Sistemas Operacionais, Tanembaum, 3ed, Cap 3)
  • O que há de errado com a letra D ??????

    O LRU (Least Recently Used) é um algoritmo de substituição de página que apresenta um bom 
    desempenho substituindo a página menos recentemente usada. Esta política foi definida baseada na 
    seguinte observação: se a página está sendo intensamente referenciada pelas instruções é muito 
    provável que ela seja novamente referenciada pelas  instruções seguintes e, de modo oposto, 
    aquelas que não foram acessadas nas últimas instruções também é provável que não sejam 
    acessadas nas próximas
  • Gustavo,
    A letra (d) diz:  "no algoritmo LRU, ao ocorrer uma falta de página, é retirada da memória a página menos referenciada."
    O LRU (Least Recently Used) substitui página que está há mais tempo sem ser referenciada, ou seja, a menos recentemente usada e não a menos referenciada.
    O algoritmo que substitui a página que foi MENOS REFERENCIADA é o LFU (Least Frequently Used).
    Espero ter ajudado
    Bons estudos
  • Não seria Anomalia de Belady?? Achei que fosse pegadinha. Acho q caberia recurso.


ID
56692
Banca
CESPE / CEBRASPE
Órgão
ANAC
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

A crescente evolução da computação tem sido impulsionada pelo
melhoramento do hardware e pelo surgimento dos sistemas
operacionais. No que concerne a sistema operacional, julgue os
itens de 51 a 60.

Uma das responsabilidades dos sistemas operacionais é gerenciar a memória. Para que essa gerência possa garantir eficiência na execução dos processos, os sistemas operacionais tentam maximizar o número de processos residentes na memória principal. Para isso, foi introduzido, nos sistemas operacionais, o conceito de swapping, que consiste em dividir o programa em módulos de tamanhos diferentes, a fim de carregar o módulo que tiver o tamanho da área livre na memória principal.

Alternativas
Comentários
  • Aqui está o erro: "que consiste em dividir o programa em módulos de tamanhos diferentes, a fim de carregar o módulo que tiver o tamanho da área livre na memória principal."As páginas de memória são de tamanho fixo. Além disso, o objetivo não é carregar o módulo com o tamanho da área livre.
  • "No contexto de computação, tratando-se de gerenciamento de memória em sistemas operacionais, o Swapping, realizado pelo escalonador de medio prazo, consiste em remover processos da memoria (e da disputa ativa por CPU), reduzindo o grau de multiprogramação."http://pt.wikipedia.org/wiki/Swapping
  • O conceito de dividir em módulos refere-se à Memória Virtual.Swapping (troca) consiste em fazer a 'troca' da localização dos processos, do disco para a memória ou da memória para o disco.
  • Consegui enxergar dois erros:

    primeiro erro: Os sistemas operacionaus não tentam maximizar o numero de processos residentes na memoria principal, e sim minimizar. O que ele tenta maximizar é o numero de processos em execução, ou seja, os processos que estão prontos para ser executados devem ser evitados ficarem na memoria principal.

    segundo erro: O conceito de Swapping esta errado. O swapping é uma tecnica para resolver o problema de processos que aguardam por espaco livre adequado. Desta forma os processos nao ficam mais na memoria o tempo todo. Podem tb ficar no disco (arquivo swap)
  • Bruno, acredito que o comentário do primeiro erro encontrado por você esteja errado. Os sistemas operacionais tentam realmente maximizar o número de processos residentes na memória principal. Ora, quanto mais processos executando, mais teremos um desempenho melhor da multiprogramação.

    Para corroborar minha explicação, veja [1]:

    "A gerência de memória deve tentar manter na memória principal o maior número de processos residentes, permitindo maximizar o compartilhamento do processador e demais recursos computacionais." (Grifo meu)

    O único erro na questão é que a técnica descrita ("... dividir o programa em módulos de tamanhos diferentes, a fim de carregar o módulo que tiver o tamanho da área livre na memória principal") na verdade se chama Técnica de Overlay.

    Swapping é apenas uma técnica aplicada à gerência de memória para programas que esperam por memória livre para serem executados. Sendo que no swap out, o sistema escolhe um processo residente, que é transferido da memória principal para a secundária. E no swap in, ocorre o inverso.

    Referência:
    [1] Arquitetura de Sistemas Operacionais - 2ª Edição - MACHADO, Francis Berenger e MAIA, Luiz Paulo - Editora LTC.
  • Uma das responsabilidades dos sistemas operacionais é gerenciar a memória. Para que essa gerência possa garantir eficiência na execução dos processos, os sistemas operacionais tentam maximizar o número de processos residentes na memória principal. Para isso, foi introduzido, nos sistemas operacionais, o conceito de swapping, que consiste em dividir o programa em módulos de tamanhos diferentes, a fim de carregar o módulo que tiver o tamanho da área livre na memória principal.

    A estratégia de troca de processos (swapping) consiste em trazer totalmente cada processo para a memoria.

    Sistemas operacionais modernos - 2º ed p. 145
  • Para mim o erro da questão está em dizer que o conceito de swapping consiste em: "dividir o programa em módulos de tamanhos diferentes, a fim de carregar o módulo que tiver o tamanho da área livre na memória principal". Esse conceito pertence a Segmentação. Swapping e Memória Virtual são duas tecnicas diferentes para lidar com a sobrecarga de memória principal.

    A técnica Swapping consiste em trazer, em sua totalidade, cada processo para a memória principal, executá-lo durante um certo tempo e, então, devolvê-lo ao disco. (Fonte: SO Modernos Ed. 3 Tanenbaum)

    A técnica Memória Virtual permite que programas possam ser executados mesmo que estejam parcialmente carregados na memória principal. (Fonte: SO Modernos Ed. 3 Tanenbaum). Por sua vez, essa técnica pode ser exercida utilizando Paginação, Segmentação ou Segmentação com Paginação.

    Na Paginação o programa é dividido em módulos de tamanho igual. Por exemplo, um programa carregado na memória principal ocuparia um total de 100 KB pode ser dividido em 10 páginas de 10 KB cada. Teoricamente, na técnica de Memória Virtual só as Páginas necessárias a execução do programa ficarão na Memória Principal (MP), enquanto as outras ficam na Memória Virtual (MV) aguardando seu carregamento na MP quando forem necessárias a execução do programa. O problema dessa técnica está no desperdício chamado de fragmentaçao interna. Se no exemplo mencionado anteriormente o programa tivesse 101 KB teriamos 11 páginas de 10 KB, com uma das páginas utilizando apenas 1 KB e desperdiçando 9 KB.

    Na Segmentação o programa é dividido em módulos de tamanho variado. O problema dessa técnica está no despercídio chamado de fragmentação externa.

    Na Segmentação com Paginação o programa é dividido em módulos de tamanho variado e em cada módulo desse é utilizada a técnica de paginação. Isso resolve o problema de fragmentaçao externa, mas não resolve o problema da fragentação interna.

    Desculpem não ter explicado melhor a Segmentação e Segmentação com Paginaçao, fiquei sem tempo aqui. rsrsrs ^_~

     

  • "consiste em dividir o programa em módulos de tamanhos diferentes, a fim de carregar o módulo que tiver o tamanho da área livre na memória principal. "

    Isso não seria o conceito da técnica de overlay?

     

     

  • Uma das responsabilidades dos sistemas operacionais é gerenciar a memória.(CERTO)

     

    Para que essa gerência possa garantir eficiência na execução dos processos, os sistemas operacionais tentam maximizar o número de processos residentes na memória principal. (ERRADO)

    (Para que essa gerência possa garantir eficiência na execução dos processos, os sistemas operacionais tentam MINIMIZAR o número de processos residentes na memória principal (RAM), transferindo para a memória segundária (HD). Técnica conhecida como memória virtual.)

     

    Para isso, foi introduzido, nos sistemas operacionais, o conceito de swapping, que consiste em dividir o programa em módulos de tamanhos diferentes, a fim de carregar o módulo que tiver o tamanho da área livre na memória principal. (ERRADO)

    (Para isso, foi introduzido, nos sistemas operacionais, o conceito de OVERLAY, que consiste em dividir o programa em módulos de tamanhos diferentes, a fim de carregar o módulo que tiver o tamanho da área livre na memória principal)

  • Gabarito Errado

    swapping é uma técnica criada na tentativa de melhorar o problema da insuficiência de memória durante a execução de alguns processos em ambientes multiprogramados. Essa técnica consiste em transferir automaticamente todo o processo da memoria principal para o disco(swap out) e vice-versa.

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !

  • e-

    dividir programa em modulos é overloay, uma solucao ao problema de alocacao contigua single user, a qual so permite alocacao consecutiva, nao aproveitando blocos se nao forem grandes demais para o processo

  • Swapping -> Todo o processo é transferido

    Memória virtual -> Parte do processo é transferida.


ID
59482
Banca
CESPE / CEBRASPE
Órgão
STF
Ano
2008
Provas
Disciplina
Sistemas Operacionais
Assuntos

No que concerne a instalação e customização do sistema
operacional Windows XP Professional, julgue os itens a seguir.

O particionamento da memória RAM é possível porque, após a instalação, o Windows XP é capaz de transformar parte desse tipo de memória em um espaço de armazenamento similar ao disco rígido.

Alternativas
Comentários
  • Na sentença as palavras "memória RAM" e disco rígido estão trocadas. O certo seria:

    O particionamento do disco rígido é possível porque, após a instalação, o Windows XP é capaz de transformar parte desse tipo de memória em um espaço de armazenamento similar à memória RAM.
  • Que é o arquivo pagefile.sys.
  • Complementando os comentários...  a questão queria dar uma idéia de memória virual, porém o termos foram trocados de ordem como o Danilo afirmou.
  • Pessoal é possível transformar a memória RAM em uma partição de disco similar ao disco rígido conforme o artigo neste site: http://www.techtudo.com.br/dicas-e-tutoriais/noticia/2012/11/veja-como-transformar-memoria-ram-em-uma-particao-de-disco.html


ID
81574
Banca
FCC
Órgão
TRE-AM
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em relação ao gerenciamento de memória, considere

I. No contexto da organização hierárquica de memórias e da monoprogramação sem troca ou paginação, o sistema operacional pode estar na parte inferior da memória RAM ou parte em ROM, ou ainda, os drivers de dispositivos podem estar na parte superior da memória ROM e o restante do sistema em RAM, na parte inferior.

II. Em sistemas de compartilhamento de tempo ou computadores gráficos, às vezes, não há memória principal suficiente para armazenar todos os processos ativos. Nesse caso, uma das alternativas é a memória virtual que permite que os programas executem mesmo estando apenas parcialmente na memória principal.

III. Quando a memória é atribuída dinamicamente, o sistema operacional pode gerenciá-la por meio de mapas de bits ou de listas encadeadas.

É correto o que se afirma em

Alternativas
Comentários
  • Textos todos tirados do Tanebaum.
  • I - Certa. Existem três modos simples de organizar a memória com um sistema operacional e um processo de usuário: (1) O Sistema Operacional pode estar na parte inferior da memória RAM, (2) Ou o Sistema operacional pode estar em ROM na parte superior da memória ou (3) Os drivers de dispositivo podem estar na parte superior da memória em ROM e o resto do sistema em RAM embaixo. Os três modos estão representados na figura abaixo.

    O primeiro modelo era usado antigamente em computadores de grande porte e minicomputadores e raramente foi utilizado depois disso. O segundo modelo é usado em alguns computadores portáteis e sistemas embarcados. O terceiro modelo foi empregado nos primeiros computadores pessoais.
    II - Certa. Dois métodos gerais para o gerenciamento de memória podem ser usados, dependendo (em parte) dos recursos de hardware disponíveis. A estratégia mais simples,  denominada troca de processos (swapping), consiste em trazer totalmente cada processo para a memória, executá-lo durante um certo tempo e então devolvê-lo ao disco. A outra estratégia, denominada memória virtual, permite que programas possam ser executados mesmo que estejam apenas parcialmente carregados na memória principal.
    III - Certa. Quando  a memória  é alocada dinamicamente, o sistema operacional deve gerenciá-la.  Em  termos gerais, existem  duas maneiras  de  fazer  isso:  (1) Com mapa  de bits e (2) Lista de disponíveis (Listas livres ou encadeadas). Com um mapa de bits, a memória é dividida em unidades de alocação, que podem conter  apenas poucas palavras ou ter vários quilobytes. Associado a cada unidade de alocação existe um bit no mapa de bits, o qual vale 0 se a respectiva unidade de alocação estiver disponível e 1 se estiver ocupada (ou vice-versa). Outra maneira de gerenciar o uso de memória é manter uma lista encadeada de segmentos de memória alocados e de segmentos de memória disponíveis. Um segmento é uma área de memória alocada a um processo ou uma área de memória livre situada entre as áreas de memória de dois processos.
    Logo, gabarito A.
    (Fonte: Sistemas Operacionais, Tanembaum, 3ed, Cap 3)

ID
101959
Banca
CESPE / CEBRASPE
Órgão
TCU
Ano
2007
Provas
Disciplina
Sistemas Operacionais
Assuntos

Acerca dos sistemas Windows e Linux, julgue os itens
subseqüentes.

O gerenciador de memória virtual do Windows XP Professional utiliza páginas de 4 kB tanto para arquiteturas de 32 bits como para arquiteturas de 64 bits.

Alternativas
Comentários
  • Espaço de Endereçamento de MemóriaHouve uma época que só poderíamos acessar 640K de memória RAM, época do MS-DOS e do modelo de acesso segmentado a memória. A demanda aumentou e com o aumento da demanda veio a evolução tanto do hardware quanto do software. O ambiente que hoje domina o mercado é o de 32 bits com um modelo de acesso “flat” à memória. Com isso a memória não é mais segmentada e na realidade agora é apenas um espaço continuo de endereçamento de 4GB.No modelo de endereçamento utilizado pelo Windows (NT/2000/XP/2003) cada processo tem acesso à até 2GB exclusivo enquanto que o núcleo do sistema operacional fica com os outros 2GB Um outro conceito importante que deve se entendido é PTE – Page Table Entries. Este conceito é importante de ser passado agora pois dependendo do tipo de alteração que façamos no boot.ini, haverá uma mudança no SO que pode afetar estas páginas de sistema. Antes que a CPU possa encontrar os bytes de informação localizados em páginas de memória ele precisa dinamicamente construir outras páginas de memória que contém os mapeamentos de informação necessária para que ele faça a devida busca. É este mapeamento de informações que chamamos de “Page Table Entries” ou simplesmente PTE. Com base nisso é correto afirmar que os PTE’s são usados para fazer o mapeamento de espaço de endereçamento de E/S, pilhas do kernel ou arquivos, ou seja, o PTE vai apontar a localização da informação na memória física. Fonte: http://blogs.technet.com/latam/archive/2006/07/07/boot-ini-e-o-gerenciamento-de-mem-ria-do-windows.aspx
  • Segundo Tanenbaum, o tamanho da página no Windows varia conforme a arquitetura do processador, sendo de 4KB até 64KB.

    Rafael Eduardo Barão
    http://www.itnerante.com.br/profile/RafaelBarao
    http://www.provasdeti.com.br/por-professor/rafael-barao.html

ID
105523
Banca
FCC
Órgão
DPE-SP
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Quando a memória cache está cheia e precisa ter seus dados substituídos, são utilizados métodos de substituição de páginas da cache. Dentre eles, aquele que substitui o bloco dentro do conjunto que tem sido menos referenciado na cache denomina-se

Alternativas
Comentários
  • O LFU (Least Frequently Used) escolhe a página que foi menos acessada dentre todas as que estão
    carregas em memória.

    O LRU (Least Recently Used) é um algoritmo de substituição de página que apresenta um bom
    desempenho substituindo a página menos recentemente usada.

    O FIFO (First-in, First-out) é um algoritmo de substituição de páginas de baixo custo e de fácil
    implementação que consiste em substituir a página que foi carregada há mais tempo na memória (a
    primeira página a entrar é a primeira a sair).

  • É nesses horas que agradeço a minha professora de inglês por ter pegado no meu pé.


ID
110719
Banca
CESGRANRIO
Órgão
IBGE
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Durante uma reunião da equipe de TI de uma empresa, para discutir a estratégia de virtualização dos seus servidores, um analista fez as seguintes considerações sobre os inconvenientes relacionados à virtualização:

I - a virtualização não pode ser utilizada quando as aplicações que rodarão em um ambiente virtualizado precisarem acessar dispositivos conectados à porta paralela ou à USB, pois os softwares de virtualização ignoram a existência desses dispositivos;
II - existe um grande consumo de memória RAM dos servidores, dado que cada máquina virtual vai ocupar uma área separada da mesma;
III - o gerenciamento fica descentralizado, e o suporte e a manutenção ficam mais complexos, em comparação a um ambiente que não utiliza virtualização, mas sim, máquinas físicas para suprir as necessidades.

Qual(is) dos inconveniente(s) apontado(s) pelo analista está(ão) correto(s)?

Alternativas
Comentários
  • I - a virtualização não pode ser utilizada quando as aplicações que rodarão em um ambiente virtualizado precisarem acessar dispositivos conectados à porta paralela ou à USB, pois os softwares de virtualização ignoram a existência desses dispositivos;  Errado
    Os sw de virtualização fornecem acesso aos dispositivos de i/o do computador hospedeiro, como portas usb (virtual box por exemplo)

    II - existe um grande consumo de memória RAM dos servidores, dado que cada máquina virtual vai ocupar uma área separada da mesma; Correto
    O uso de memória ram aumentará na medida do que foi configurado para o sistema hóspede. Fiquei na dúvida quanto a ocupação de área separada, mas entendo que isso ocorrerá, para que não haja conflito com os processos do so hospedeiro. Inclusive abri o windows xp virtualizado com o virtual box, configurado com 2 GB de memória e não percebi nenhum processo aumentar de tamanho no computador hospedeiro.

    III - o gerenciamento fica descentralizado, e o suporte e a manutenção ficam mais complexos, em comparação a um ambiente que não utiliza virtualização, mas sim, máquinas físicas para suprir as necessidades. Errado
    O que ocorre é a centralização, pois fisicamente haverá um hardware e vários so rodando sobre ele. E essa centralização permitem a diminuição da complexidade de suporte e manutenção.

ID
118888
Banca
FCC
Órgão
TRT - 20ª REGIÃO (SE)
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

No gerenciamento de memória, são características típicas da segmentação:

Alternativas
Comentários
  •  

    a) Segmentos do programa sempre do mesmo tamanho. INCORRETO A implementação da segmentação difere da paginação porque as páginas têm tamanho fixo e os segmentos não, onde seus comprimentos podem ser diferentes e variar durante a execução. Como cada segmento constitui um espaço de endereçamento completamente independente e diferente, eles podem aumentar ou encolher sem afetar um ao outro.   b) Programas normalmente separados em módulos. CORRETO Uma das possibilidades da segmentação é que ela pode facilitar o compartilhamento de procedimentos e/ou dados entre vários processos. Um exemplo é uma biblioteca compartilhada. Neste caso, os procedimentos desta biblioteca permanecem em um único segmento que pode ser utilizado por diversos programas (processos), sem que cada um precise possuí-la em seu espaço de endereço.   c) Segmentos de tamanho máximo inexistentes. INCORRETO Segmentos possuem tamanho variável, porém limitado, considerando que a memória virtual possui tamanho máximo conhecido.   d) Segmentos sem possibilidade de controle pelo usuário. INCORRETO Diferentemente da paginação, que é executada inteiramente pelo S.O., os segmentos são entidades lógicas das quais o programador está ciente e as quais ele pode utilizar como qualquer entidade lógica. Um segmento pode conter um procedimento ou uma matriz, ou uma pilha, mas normalmente ele não contém uma mistura de tipos diferentes.   e) Eliminações de qualquer tipo de fragmentações. INCORRETO A substituição dos processos gera lacunas fazendo com que a memória se transforme em um tabuleiro de xadrez, formado por segmentos e lacunas, que pode ser tratado com compactação. No entanto, se os segmentos são grandes pode ser impossível mantê-los na memória principal em sua totalidade (segmentação pura).   FONTE: http://pt.wikiversity.org/wiki/Introdu%C3%A7%C3%A3o_aos_Sistemas_Operacionais/Ger%C3%AAncia_de_Mem%C3%B3ria
  • A segmentação com paginação vem como uma solução aos problemas da segmentação e da paginação.Utilizando o meio termo entre os dois métodos combinaremos suas vantagens:


    • A fragmentação interna da paginação é reduzida pela segmentação.

    • A fragmentação externa da segmentação é eliminada pela paginação.

    • A paginação passaria de forma invisível ao programador.

    • A segmentação ofereceria a divisão do processo em módulos(segmentos).

    • Teriamos a facilidade do compartilhamento e proteção da memória pela segmentação.


ID
119212
Banca
FCC
Órgão
TRF - 4ª REGIÃO
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Sobre o gerenciamento da memória real (também denominada memória principal, memória física ou memória primária), considere:

I. O gerenciador de memória é um componente do sistema operacional que se preocupa com o esquema de organização da memória do sistema e com as estratégias de gerenciamento de memória.

II. Estratégias de gerenciamento de memória determinam como uma organização de memória particular funciona sob várias cargas.

III. O baixo custo da memória principal aliado à melhoria da capacidade de memória, na maioria dos sistemas, evidenciou a necessidade de estratégias de gerenciamento de memória.

Está correto o que consta em

Alternativas
Comentários
  • I. O gerenciador de memória é um componente do sistema operacional que se preocupa com o esquema de organização da memória do sistema e com as estratégias de gerenciamento de memória.

    Explicação correta sobre o gerenciador de memória

    II. Estratégias de gerenciamento de memória determinam como uma organização de memória particular funciona sob várias cargas.

    Também está correto

    III. O baixo custo da memória principal aliado à melhoria da capacidade de memória, na maioria dos sistemas, evidenciou a necessidade de estratégias de gerenciamento de memória.

    Relação errada entre o começo e o fim da afirmação. Como as memórias estão mais baratas e melhores não justifica a necessidade de estratégias de gerenciamento de memória.

  • II - várias cargas significa os processos.

    III - o que justifica o gerenciamento de memória é a multiprogramação, que são vários processos na memória disputanto um quantum da CPU. Quantum é o tempo que o sistema operacional reserva do processador ao processo.
  • [D] - I e II, apenas.


ID
137155
Banca
CESGRANRIO
Órgão
Casa da Moeda
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

Determinado sistema operacional apresenta a seguinte lista de segmentos de memória disponíveis, em sequência:

10 KB, 20 KB, 40 KB, 80 KB, 160 KB

Nesse momento, um processo solicita alocação de memória para 16 KB. Considerando-se o uso do algoritmo first fit, que segmento será utilizado na alocação?

Alternativas
Comentários
  • First Fit é um algoritmo utilizado por sistemas operacionais para decidir em que local da memória um processo deve ser alocado.Ele funciona escolhendo sempre o primeiro espaço vazio na memória que caiba o processo. Tem um tempo médio de espera entre processos relativamente baixo, principalmente se levado em conta sua facilidade de implementação. É mais eficaz que o Best Fit e menos que o Worst Fit.O algoritmo Next Fit é um melhoramento do First Fit
  • O FIrst Fit aloca na primeira lacuna que couber. 16 kb nao cabe em 10 kb entao vai para o proximo. 16 kb cabe em 20 kb. Resposta letra b
  • O First-Fit é um representante dos algoritmos para “Estratégias de Alocação de Memória”. Nele, a primeira posição livre de tamanho suficiente para carregar o programa é escolhida. Podemos citar como exemplos de algoritmos de Estratégias de Alocação: Lista de Áreas Livres, Best-fit, Worst-fit e First-fit.
    Tanembaum, em seu livro traduzido, chama as técnicas de “Gerenciamento de Memória com Listas Encadeadas” e traduz os termos assim:
    • Algoritmo Primeiro Ajuste (first-fit): “o gerenciador de memória varre toda a lista de segmentos até localizar uma lacuna suficientemente
    grande.” É um algoritmo rápido, pesquisando o mínimo possível.
    • Próximo ajuste (lista de áreas livres): “funciona da mesma maneira que o primeiro ajuste, exceto que monitora a posição em que ele está
    sempre que encontra uma lacuna adequada. Da próxima vez que é chamado para localizar uma lacuna, ele começa pesquisando na lista a
    partir do lugar em que deixou da última vez, em vez de sempre partir do começo”.
    • Melhor ajuste (best-fit): “pesquisa na lista inteira e pega a menor lacuna que seja adequada”.
    • Pior ajuste (worst-fit): “sempre pega a maior lacuna disponível para evitar o problema de dividir lacunas quase exatas entre um processo e
    uma lacuna minúscula”.
    • Ajuste rápido: “mantém listas separadas para os tamanhos de lacunas mais comuns”.
    O enunciado informa uma lista de segmentos livres e indica que um segmento de 16KB deve ser alocado conforme regras do algoritmo first fit. Então, o primeiro segmento em que couber o segmento será o utilizado, ou seja, a letra B que possui 20KB disponíveis. É importante observar que o segmento de 20KB será dividido em 2 segmentos (uma vez que não é do mesmo tamanho do segmento a ser armazenado): um de 16KB, que será utilizado, e outro com os 4KB restantes. Assim, a nova lista de segmentos disponíveis será 10 KB, 04 KB, 40 KB, 80 KB, 160 KB.
  • Alocação de Memória

    Best-fit: a melhor partição é escolhida, aquela que irá deixar o menor espaço sem utilização. Aumenta o problema de fragmentação devido ao pouco espaço disponível para execução dos programas.

    Worst-fit: a pior partição é escolhida, aquela que o programa deixa o maior espaço sem utilização. Diminui o problema de fragmentação devido ao grande espaço disponível para execução dos programas.

    First-fit: a primeira partição livre de tamanho suficiente para carregar o programa é escolhida. É a estratégia mais rápida e que consome menos recursos do sistema.

    Alternativa: B


ID
153064
Banca
CESPE / CEBRASPE
Órgão
TJ-DFT
Ano
2008
Provas
Disciplina
Sistemas Operacionais
Assuntos

Julgue os próximos itens, acerca de características, funções,
algoritmos e componentes de sistemas operacionais.

Uma região ou seção crítica é uma área de memória gerenciada pelo sistema operacional, mas que pode ser acessada por processos dos usuários, o que coloca em perigo a proteção do próprio espaço do sistema operacional.

Alternativas
Comentários
  • ERRADA!

    Região Crítica ou Seção Crítica é a parte do programa em que há acesso à memória compartilhada, e não a própria área de memória.

    Sistemas Operacionais Modernos, Tanenbaum, 3a. Ed. Pág. 71.

  • Errado

    Região crítica: Parte do programa onde a memória compartilhada é acessada.

    FONTE: Tanenbaum 4ª ed.


ID
153076
Banca
CESPE / CEBRASPE
Órgão
TJ-DFT
Ano
2008
Provas
Disciplina
Sistemas Operacionais
Assuntos

Ainda com relação a características, funções, algoritmos e
componentes de sistemas operacionais, julgue os itens a seguir.

Na hierarquia dos sistemas de memória, pode haver vários níveis de memória cache entre a camada de registradores e a camada da memória principal.

Alternativas
Comentários
  • Com a evolução na velocidade dos dispositivos, em particular nos processadores, o cache foi dividido em níveis, já que a demanda de velocidade a memória é tão grande que são necessários caches grandes com velocidades altíssimas de transferencia e baixas latências. Sendo muito difícil e caro construir memórias caches com essas características, elas são construídas em níveis que se diferem na relação tamanho X desempenho.

ID
153079
Banca
CESPE / CEBRASPE
Órgão
TJ-DFT
Ano
2008
Provas
Disciplina
Sistemas Operacionais
Assuntos

Ainda com relação a características, funções, algoritmos e
componentes de sistemas operacionais, julgue os itens a seguir.

A técnica de compactação de memória é usada com freqüência na gestão de memória por ter um pequeno tempo de processamento.

Alternativas
Comentários
  • Nas trocas de processos quando deixam muitos espaços vazios na memória, há a possibilidade aglutiná-los em único espaço contíguo de memória,movendo-os o maximo possível para os endereços mais baixos, é chamada de técnica denominada compactação de memória. No entanto não é muito utilizada pelo tempo de processamento necessário considerado alto .
  • Resposta: Errado

    Não é uma consequencia a técnica de compactação de memória com um pequeno tempo de processamento. A compactação de memória ocorre quando utilizada a segmentação, quando ocorre muita paginação, então ficam vários espaços de memória pequenos não utilizados entre os fragmentos, então é necessário fazer uma compactação da memória para poder reaproveitar esta memória que está perdida. 

  • É exatamente o contrário, ou seja, a técnica de compactação demanda bastante tempo de processamento o que leva a sua pouca utilização nos dias de hoje.

  • A técnica de compactação de memória  Não é usada com freqüência na gestão de memória por ter seu tempo ALTO de processamento.

    GABARITO: E


ID
153082
Banca
CESPE / CEBRASPE
Órgão
TJ-DFT
Ano
2008
Provas
Disciplina
Sistemas Operacionais
Assuntos

Ainda com relação a características, funções, algoritmos e
componentes de sistemas operacionais, julgue os itens a seguir.

No algoritmo first fit (o primeiro que couber), o gerenciador de memória procura ao longo da lista encadeada de segmentos de memória livres um segmento suficientemente grande para compactar o máximo de processos.

Alternativas
Comentários
  •  First Fit é um algoritmo utilizado por sistemas operacionais para decidir em que local da memória um processo deve ser alocado.
    Ele funciona escolhendo sempre o primeiro espaço vazio na memória que caiba o processo. Tem um tempo médio de espera entre processos relativamente baixo, principalmente se levado em conta sua facilidade de implementação. É mais eficaz que o Best Fit e menos que o Worst Fit.
    O algoritmo Next Fit é um melhoramento do First Fit.
    Exemplo:
    Existem os seguintes espaços livres: 11k, 3k, 19k, 18k, 7k, 8k, 13k, 15k. Se o First-Fit for utilizado, as solicitações 5k, 12k, 6k, ocupariam os espaços 11k, 19k, 18k respectivamente.

     

    Fonte: http://pt.wikipedia.org/wiki/First_Fit

  • Exemplos de algoritmos de alocação de memória:

    Fisrt-Fit

    Verifica se o processo é menor que a memória atual. Caso for menor, aloca a memória e volta para o início, após percorre toda a lista novamente, caso contrário, segue adiante. Veja o algoritmo

    Best-Fit

    Organiza os blocos de memórias de em ordem crescente. Verifica se o processo é menor que a memória. Caso for menor, aloca a memória e volta para o início, após percorre toda a lista novamente, caso contrário, segue adiante. Veja o algoritmo

    Worst-Fit

    Organiza os blocos de memórias de em ordem decrescente. Verifica se o processo é menor que a memória. Caso for menor, aloca a memória, após volta para o início, e percorre toda a lista novamente, caso contrário, segue adiante. Veja o algoritmo

    Next-Fit

    Verifica se o processo é menor que a memória. Caso for menor, aloca a memória, após segue da próxima posição. Veja o algoritmo

    Ajuste rápido (quick fit): mantém diversas listas separadas para os tamanhos de processos mais comuns.


ID
153085
Banca
CESPE / CEBRASPE
Órgão
TJ-DFT
Ano
2008
Provas
Disciplina
Sistemas Operacionais
Assuntos

Ainda com relação a características, funções, algoritmos e
componentes de sistemas operacionais, julgue os itens a seguir.

Nos sistemas de memória virtual, cabe à unidade de gerenciamento de memória (memory management unit) mapear endereços virtuais em endereços físicos.

Alternativas
Comentários
  • MMU (MEMORY MANAGEMENT UNIT) – Mapeia endereços virtuais em endereços físicos. A memória real desconhece sua existência.
    O espaço de endereçamento virtual é dividido em unidade denominada páginas (PAGES). As unidades correspondentes na memória física são denominadas molduras de página (PAGE FRAMES).

ID
155431
Banca
FCC
Órgão
MPE-RN
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em relação à memória virtual do Linux, é correto afirmar:

Alternativas
Comentários
      • A partição Swap é mais rápida que o arquivo Swap pois é acessada diretamente pelo Kernel. Se o seu computador tem pouca memória (menos que 32Mb) ou você tem certeza que o sistema recorre frequentemente a memória virtual para executar seus programas, é recomendável usar uma partição Swap.
      • O arquivo de troca permite que você crie somente uma partição Linux Native e crie o arquivo de troca na partição EXT2.
      • Você pode alterar o tamanho do arquivo de troca facilmente apagando e criando um novo arquivo como descrito em [#s-disc-swap-criando-a Criando um sistema de arquivos Swap em um arquivo, Seção 5.8.2].
      • É possí­vel criar um arquivo de troca em outros tipos de partições como FAT16, FAT32, etc.
      • O arquivo de troca estará disponí­vel somente após o sistema de arquivos que o armazena (ext2, fat32, etc) estar montado. Isto é um problema para sistemas com pouca memória que dependem do arquivo de troca desde sua inicialização.
  • a) Arquivos de troca podem ser criados somente em partições EXT2
        Arquivos de troca podem ser criados em partições EXT2 - EXT3 - EXT4 e em outras partições.

    c) Por ser acessado diretamente pelo Kernel, o arquivo Swap é mais rápido que a partição Swap.
        Por ser acessado diretamente pelo Kernel, a partição Swap é mais rápida que o arquivo swap.

    d) Partições de troca e arquivos de troca não podem ser usadas ao mesmo tempo.
        Partições de troca e arquivos  podem ser usadas ao mesmo tempo.

    e) Na coexistência de partição Swap e arquivo Swap é recomendável que o acesso ao arquivo Swap tenha maior prioridade.
        Na coexistência de partição Swap e arquivo Swap é recomendável o uso da partição swap. 
        
  • Fundação Copia e Cola do Guia Foca Linux:
    http://pt.wikibooks.org/wiki/Guia_do_Linux/Iniciante%2BIntermedi%C3%A1rio/Discos_e_Parti%C3%A7%C3%B5es/Parti%C3%A7%C3%A3o_Linux_Swap_%28Mem%C3%B3ria_Virtual%29
    Alternativa totalmente incorreta, não há essa limitação.
    Além disso, após o kernel 2.5.23 não há mais o overhead para o kernel acessar o filesystem:
    http://www.kernel.org/pub/linux/kernel/v2.5/ChangeLog-2.5.23
    [PATCH] direct-to-BIO I/O for swapcache pages

ID
163549
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

A fragmentação interna é uma anomalia observada quando o gerenciador de memória usa um esquema de particionamento dinâmico de memória.

PORQUE

No particionamento dinâmico de memória, tanto o número de partições quanto o tamanho das partições podem variar de acordo com a demanda dos processos.

Analisando as afirmações acima, conclui-se que

Alternativas
Comentários
  • Correta " D"
    A fragmentação interna é a perda de espaço dentro de uma área de tamanho fixo.
    Numa memória secundária, ela ocorre quando um arquivo ou fragmento de arquivo não ocupa
    completamente o espaço da unidade de alocação destinado a ele, causando desperdício de espaço.
    ada unidade de alocação não pode comportar fragmentos de arquivos diferentes.
    Na memória principal, o esquema de particionamento pode ser dinâmico ou fixo.

    No particionamento dinâmico, cada processo submetido à execução recebe o tamanho necessário para se
    comportar por completo na memória. Assim, a memória principal é subdividida em segmentos de tamanho
    variado.
  • A fragmentação interna é uma anomalia observada quando o gerenciador de memória usa um esquema de particionamento dinâmico de memória.

    Falso! O correto seria:

    A fragmentação externa é uma anomalia observada quando o gerenciador de memória usa um esquema de particionamento dinâmico de memória.

    Falou em particionamento dinâmico, lembre-se de fragmentação externa.

    Fragmentação interna está relacionada a perda de espaço dentro de uma área fixa.
    Por exemplo:
    Suponha que todas as áreas alocadas a um processo no meu computador possuem tamanho 100K.
    Se um processo demanda 5k, ele vai ser alocado no espaço de 100k. Observem a fragmentação interna de 95K.

  • Framentação interna ocorre quando um processo aloca uma quantidade de memória maior do que o necessário, desperdiçando memória
    Fragmentação externa ocorre quando a memória possui uma quantidade total suficiente de memória, mas não possui espaço contíguo de memória demandado por um processo. 
    Na figura abaixo, por exemplo, temos mais de 100 MB livres de memória. Mas se um processo requisitar 50 MB, não temos este espaço contíguo na memória.

     Para solucionar o problema da fragmentação interna, criou-se o particionamento dinâmico, que visa alocar a quantidade exata de memória demandada pelo processo. Porém, este método causa mais problema de fragmentação externa, pois começam a aparecer lacunas curtas demais na memória (espaços contíguos menores).

  • Apenas para mostrar a hierarquia: [ FI = fragmentação interna e FE = Fragmentação externa

    Alocação pode ser:
       1 - Contígua
             1.1 Simples - sem fragmentação: memória é um bloco único... mas aí e difiícil gerenciar os endereços e multiprogramação
             1.2 Particionada
                   1.2.1 Fixa [estática] ----- FI
                   1.2.2 Variável [ dinâmica] ----- FI e FE

       2 - Não contígua
          2.1 Paginaçào  ------ FI
          2.2 Segmentação ----- FE
          2.3 Seg e Pag  --------- FE e FI

ID
174865
Banca
VUNESP
Órgão
CETESB
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em sistemas operacionais, memória compartilhada é

Alternativas
Comentários
  •  Alternativa CORRETA letra C

    No hardware, a memória compartilhada se refere tipicamente a grandes blocos de RAM que podem ser acessados por diferentes unidades centrais de processamento (CPU) em um sistema de multiprocessamento. Um sistema de memória compartilhada é simples de ser programado já que todos os processadores compartilham a mesma visão dos dados, e a comunicação entre processadores pode ser tão rápida quanto o acesso à memória na mesma posição.

    Em software, a memória compartilhada é tanto um método de comunicação entre processos quanto um método de conservação do espaço de memória. Para o primeiro, um processo pode criar uma área na RAM que outros processos sendo executados simultaneamente pode acessar. Para o segundo, ao invés de replicar cópias de blocos de memória entre diferentes processos, há somente uma instância.

  • c-

    Shared memory pode ser usada na comunicacao de processos, quando 2 ou mais em um dado momento quiserem usar parte da RAM. Os processos participantes localizam-se em uma area de endereço da memoria memoria e podem ser lidos e alterados com operacoes de acesso a memoria. 


ID
178003
Banca
FCC
Órgão
TRT - 9ª REGIÃO (PR)
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

No contexto de gerenciamento de memória, é correto afirmar:

Alternativas
Comentários
  • letra a) CORRETA

    letra b) o swapping tira um processo temporariamente da memória.  o sistema escolhe um programa residente que é levado da memória para o disco (Swapp out), retornando posteriormente para a memória principal com se nada tivesse ocorrido. Quando o programa tiver que ser executado novamente, então ele é novamente carregado para a memória principal (swapp in).

    letra c) O MMU mapeia os endereços virtuais em físicos, não em físicos em virtuais, como esta na questao.

    letra d) na realocacao dinamica os objetos sao alocados dinamica, podem ser criados e liberados a qualquer momento, em qualquer ordem, não precisando ser em segmentos continuos como dá a resposta da alternativa.

    letra e) alocacao contigua a PARTE ALTA é para o sistema operacional e o vetor de interrupções e PARTE BAIXA é para os processos do usuário.
  • Rosane, sobre a Letra E você escreveu o que está dito na questão.

    O Erro desta opção foi em afirmar que, na alocação contígua de memória, a parte alta da MP é reservada do SO e Vetor de Interrupções. Na verdade, é o contrário. A parte baixa que é reservada para o SO e o vetor.

    A parte alta é reservada aos processos dos usuários.
  • O erro da letra C está em: para serem vistos pela memória (o correto seria:  pelo processador). 

    quem visualiza os endereços mapeados na memoria virtual é o processador

  • Eis uma bela questão. Sem pegadinhas, a meu ver...


ID
178054
Banca
VUNESP
Órgão
CETESB
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em relação à gerência da memória de um computador pelo sistema operacional, têm-se que

Alternativas
Comentários
  • Que eu saiba, "memória estática" significa outra coisa, pode pôr no google...
  • a) a alocação de memória dinâmica, para um dado programa, é definida durante a sua EXECUÇÃO, dependendo da disponibilidade de memória nesse momento. c) a paginação não acelera a execução de um programa, pois é necessário acessar o HD o que torna a execução mais lenta. e) A técnica de swapping apenas traz o processo do HD para a memória, ou seja, precisa sim da memória para ser executado.
  • Complementando a resposta do Black Soul:


    Item D) está errado porque na alocação contínua simples, a Memória Principal é dividida em duas partes: O SO fica na parte inferior da memória principal e na parte superior ficam os processos de usuários.

  • b-

    Alocação Estática: tamanho fixo sequenciais na memória. e.g.: arrays;

    Alocação Dinâmica: blocos de memória não precisam estar sequenciais, sao alocados de acordo com necessidade, reservando ou liberando blocos de memória durante a execução de um programa. 

  • Eduardo Farias

    Nesse caso estamos falando de gerenciamento de memoria e não do periférico físico


ID
204682
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Acerca de características dos sistemas operacionais modernos,
julgue os itens subsequentes.

Swapping é a troca de processos entre a memória e o disco, realizada quando a memória principal não é suficiente para conter todos os processos.

Alternativas
Comentários
  • não seria troca de processos entre a memória e a CPU não?

    alguém poderia me esclarecer isso por favor?
  • salvio, de acordo com [1]:

    "...(swapping), consiste em trazer totalmente cada processo para a memória, executá-lo durante um certo tempo e então devolvê-lo ao disco."

    [1] Sistemas Operacionais Modernos, Tanembaum, página 144.
  • Em Sistemas Operacionais, existem dois tipos de entendimentos de Swapping:


    1-Swapping considerado como técnica mais antiga a Memória Virtual (Paginação, Segmentação, Segmentação paginada), onde todo o processo é movido para Memória Principal (Na Técnica de Memória Virtual, somente a parte necessária do processo que está no HD/Disco é movida para Memória Principal).


    2-Swapping considerado como o movimento dos processos entre Memória Principal -> Disco e Disco-> Memória Principal. Tanto na Memória Virtual, como no Swapping (técnicas), o movimento dos processos é chamado de Swapping


    A definição dita pelo Breno, trata-se do movimento dos processos.

  • Até me assusto quando vejo uma questão do CESPE objetiva e que não dá margem pra 2 interpretações. Essa banca tá cada vez pior.

  • c-

    swapping -  quando não for possível manter tudo na memória; um processo já alocado faz system call pedindo mais memória e não ha memória livre contígua. O sistema escolhe um programa que é levado para o disco (swap-out ) retornando à memória (swap-in).

     

    Paginação 

    A paginação deixa o programa possa ser colocado em blocos não contíguas de memória, dividindo o espaço de endereçamento de um processo é em páginas de tamanho fixo

  • memória virtual = parte do processo e transferido

    Swapping - todo o processo e transferido out/inp


ID
223951
Banca
UFF
Órgão
UFF
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em relação à gerência de memória, a estratégia para a escolha da partição livre para a carga de um programa, visando à minimização ou eliminação do problema da fragmentação, segue três mecanismos. Desses mecanismos, um deles é mais rápido, consumindo menos recursos do sistema. Esse mecanismo é conhecido como:

Alternativas
Comentários
  • Best Fit: é um algoritmo de alocação de memória que utiliza o melhor espaço de memória, ou seja, o que deixa menos espaço alocado sem utilização. Uma grande desvantagem desta estratégia é que, como são alocados primeiramente as alocações menores, deixando pequenos blocos a fragmentação aparece rapidamente.
    Worst-Fit: Aloca memória na maior particão, deixando muito espaço livre.
    First-Fit: aloca memória na primeira partição que couber o programa.
    Overlay: técnica de diminuir a quantidade de memória para o programa.
    FIFO: modo de estrutura de dados - Primeira a entrar, primeira a sair (First in, First out).

ID
230011
Banca
FUNCAB
Órgão
PRODAM-AM
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

A técnica de gerência de memória cujas memórias principal e secundária são combinadas, dando ao usuário a ilusão de existir uma memória muito maior que a memória principal, é conhecida como:

Alternativas
Comentários
  • Memória virtual: consiste de recurso de hardware e sofware com três funções básicas:
    1. relocação: para assegurar que cada processo tenha o seu próprio espaço de endereçamento começando em zero.
    2. Proteçao: para impedir que um processo utilize um espaço de memória que não lhe pertença.
    3. Paginação ou troca  (swapping): que possibilita a uma aplicação utilizar mais memória do que fisicamente existe
  • Memória virtual

    Nada mais é do que um espaço no disco rígido reservado para ajudar a armazenar os dados da memória RAM quando ela está cheia. É uma forma de estender a quantidade de memória para os dados temporários utilizados pelos aplicativos em execução sem que você precise fazer um upgrade de hardware.



  • Overlay: Os programas eram maiores do que a memória RAM disponível no computador. Devido ao problema de escassez de memória RAM, os programas eram construídos de forma que pudessem ser carregados em módulos/camadas. Assim, para que um determinado módulo do programa estivesse na memória RAM outro era retirado.


    Best-fit: é um algoritmo de escolha do espaço de memória ao qual um programa será alocado. Ele varre toda a tabela de mapeamento e escolhe o menor espaço livre de memória que caiba o programa. Dos algoritmos disponíveis, esse acaba tendo o maior desperdício, pois, ao tentar escolher o menor segmento possível, acaba deixando pequenos espaços livres impossíveis de serem aproveitados por outros programas.


    Thrashing: ocorre quando existem muitos processos competindo por memória RAM e pouco espaço livre. Devido a muitos pages fault (a página não é encontrada na memória RAM), ocorre um excesso de troca de página entre a memória RAM e o Disco Rígido. Isso degrada em muito o desempenho do processo.


    Paginação: técnica de gerenciamento de memória. O espaço real e virtual são divididos em blocos de MESMO tamanho. As unidades de endereçamento virtual são chamadas de páginas e as unidades de endereçamento física de molduras de página.


  • Teoricamente, todos os programas em funcionamento, em um computador ligado, deveriam estar carregados na memória DRAM.
    Entretanto, o sistema operacional, “ciente” de que a memória física nem sempre é suficiente para executar todos os programas, reserva no disco rígido um espaço que funciona como um prolongamento da memória RAM.

  • Memória Virtual:

    - Combina memória principal e secundária;
    - Impressão da memória ser muito maior do que é;
    - Desvinculação do endereçamento feito pelo programa dos endereços físicos da memória principal;
    - Procura minimizar o problema de fragmentação da memória.


ID
238249
Banca
CESPE / CEBRASPE
Órgão
ABIN
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Julgue os seguintes itens, a respeito da relação entre arquitetura de
computadores e sistemas operacionais.

No gerenciamento de memória, o mecanismo de paginação utilizado pelo sistema operacional, além de facilitar a segmentação e a alocação mais eficiente da memória aos processos em execução, evita que o tamanho dos programas seja limitado pelo tamanho da memória principal.

Alternativas
Comentários
  •  paginação da memória do computador é um processo de virtualização da memória que consiste na subdivisão da memória física em pequenas partições (frames), para permitir uma utilização mais eficiente da mesma. A alocação de memória é requisitada por páginas, a menor unidade deste método. Cada página é mapeada numa frame de memória através de um processo que chama paginação.

    Fonte: wikiped
  • Essa questão era passível de recurso.

    "(...)além de facilitar a segmentação(...)" pode confundir o candidato. Segmentação é uma forma de partição da memória principal, onde cada segmento pode possuir tamanhos diferentes, tipos de dados diferentes e permissões de acessos distintos. Se for entendida dessa forma, a questão está unindo dois conceitos diferentes: paginação e segmentação. Assim, está estaria errada, pois a paginação não facilita a segmentação. Porém, pelo gabarito definitivo (correta), essa segmentação não faz alusão a definição de segmentação, mas sim para divisão, com sentido estrito da palavra.

    Quem fez a prova poderia ter feito um recurso em cima da definição de segmentação e, com certeza, ganharia.


  • Aprofundando um pouco a discussão.

    "No gerenciamento de memória, o mecanismo de paginação utilizado pelo sistema operacional, além de facilitar a segmentação e a alocação mais eficiente da memória aos processos em execução, evita que o tamanho dos programas seja limitado pelo tamanho da memória principal."

    Apesar do fato da segmentação poder ser usada em conjunto com a paginação (como na arquitetura Intel), discordo que ela facilita a segmentação.
    Uma questão um tanto polêmica.
  • a parte final dá a entender que programas de tamanho infinito possam ser executados, o que também não é verdade.
  • O mecanismo de paginação facilita sim a segmentação e a alocação.

    Vejamos: "No gerenciamento de memória, o mecanismo de paginação utilizado pelo sistema operacional, além de facilitar a segmentação e a alocação mais eficiente da memória aos processos em execução..."

    A paginação é a virtualização da memória física. Ou seja, a memória dos processos em execussão podem ser alocados em dois locais (RAM ou HD). Com isso, a segmentação, também se torna mais prática pois terá 'menos trabalho', digamos assim, já que parte desta alocação será feita na memória virtual, eliminando a segmentação externa da memória.

    Segunda parte: "... evita que o tamanho dos programas seja limitado pelo tamanho da memória principal."

    O que é Memória Virtual:
    "A memória virtual ou arquivo de paginação, é um aplicativo que permite ao sistema operacional obter mais memória RAM do que o computador possui, ou seja, se o computador possui pouca memória, o sistema utiliza um arquivo chamado Arquivo de Paginação que é um pequeno arquivo, alocado no HD, utilizado como memória RAM. Este processo, evita que em horários de pico, o sistema trave ou fique extremamente lento. Com tudo, porém, como o arquivo fica alocado no HD, o sistema não vai ficar tão rápido quanto utilizando a memória real do computador, já que a leitura do HD é muito mais lenta do que a leitura da memória RAM"

    Em nenhum momento tem-se a ideia de que o programa seja de tamanha ilimitado. Mas simplismente afirma, corretamente, que ele pode ser maior que o tamanho da memória principal.

    Questão CERTA!
  • Prezados,

    Segundo Silberschatz, em seu livro Sistemas operacionais, página 217, vemos que a Paginação é um esquema de gerência de memória que permite que o espaço de endereços físicos de um processo seja não contíguo, ela evita o problema considerável de ajustar trechos de memória de tamanhos variados ao armazenamento de apoio,  a maioria dos esquemas de gerência de memória antes da introdução da paginação sofria com esse problema.

    Portanto a questão está correta.

  • Gabarito C

    No contexto dos sistemas operacionais, a paginação da memória do computador é um processo de virtualização da memória que consiste na subdivisão da memória física em pequenas partições (frames), para permitir-lhe uma utilização mais eficiente. As frames da memória física correspondem a páginas de memória virtual. A alocação de memória é requisitada por páginas, a menor unidade deste método. Cada página é mapeada numa frame de memória através de um processo que chama paginação.[1]

    A paginação é implementada normalmente por unidades dedicadas de hardware integradas nos processadores. No caso dos processadores da família Intel x86, esta funcionalidade está atribuída à MMU. A paginação é obtida através de consulta a tabelas que relacionam os endereços lineares das páginas de memória com os endereços físicos das frames de memória respectivas.

    Neste sistema, cada processo no computador tem a sua própria tabela de páginas, em que a cada endereço virtual corresponde o endereço físico em que a informação está efectivamente armazenada. Visto que a informação está dividida em pequenas unidades, o seu armazenamento não tem de ser necessariamente sequencial, o que elimina a fragmentação externa da memória.

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !

  • 2017

    Embora o sistema operacional, que se constitui de um conjunto de softwares importantes para o funcionamento do computador, realize diversas funções de gerenciamento, ele não consegue aumentar os recursos da máquina.

    Errada

     

    2015

    Caso utilize a técnica de memória virtual, um sistema operacional pode carregar e executar um programa de 32 Mb em um computador com 8 Mb de memória principal.

    certa

     

  • wikipedia:

    A paginação da memória do computador é a virtualização da memória, dividing a memória física em partições (frames) e memoria logica em paginas, menor unidade deste método , as quais requisitam a alocação de memória. Paging é o frame de memoria mapeando a pagina exigida.

    https://pt.wikipedia.org/wiki/Gerenciamento_de_mem%C3%B3ria


ID
238258
Banca
CESPE / CEBRASPE
Órgão
ABIN
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Julgue os seguintes itens, a respeito da relação entre arquitetura de
computadores e sistemas operacionais.

Sempre que se procede à instalação do sistema operacional Linux, é necessário definir uma partição no disco rígido destinada à memória virtual, a fim de evitar o comprometimento do correto funcionamento do sistema.

Alternativas
Comentários
  • A memória swap pode ser definida em um arquivo, não necessáriamente em uma partição.

  • não é necessário, mas sim recomendado!

  • Está errada porque não é necessário ou porque pode ser instalada em um arquivo?
  • A questão está errada pelos dois motivos.
    1) A instalação do Linux não precisa definir um espaço para a memória virtual (swap). O swap não é necessário, mas pode afetar algumas coisas, como a performance ou o fato de não se poder realizar a hibernação.
    2) O swap não precisa ser uma partição no HD. É possível defini-lo tanto como uma partição separada no HD quanto como um arquivo de swap. Para isso, pode-se utilizar os comandos swapon/swapoff: "enable/disable devices and files for paging and swapping"
  • Somente para complementar:

    em caso de servidores, que normalmente ficam meses ou até anos ligados, o Swap não é obrigatório, mas é importantíssimo. Pois a falta e swap pode ocasionar o travamento do mesmo.

    No caso de desktops/notebooks, a menos que tenha muito pouca memória, não é tão importante, pois geralmente os desktops não necessitam da memória toda que dispõe, e se eventualmente acontecer de travar, é só reiniciar e tá tudo certo. :)

    Além disso, caso posteriormente se note a necessidade de swap, é possível acrescentar um arquivo de SWAP, como foi dito em outro comentário.

  • Prezados,

    Apesar de necessário, a definição do swap não é obrigatória.

    Portanto a questão está errada.


  • Errado.

    "Outra polêmica é com relação à real necessidade de usar uma partição ou arquivo de swap em micros com 512 MB de RAM, que são suficientes para a maioria das tarefas. Lembre-se de que, embora todos os manuais digam para criar uma partição swap durante a instalação do sistema, ela não é obrigatória."


    http://www.hardware.com.br/livros/ferramentas-linux/administrando-memoria-swap.html

     

  • SWAP SIGNIFICA TROCA

    APESAR DE NECESSÁRIO, NÃO É OBRIGATÓRIO

    No Linux, o swap é a memória virtual (também é conhecido como área de troca). A memória virtual funciona como uma extensão da memória RAM, que fica armazenada no disco. O porquê da memória swap precisar existir é simples: o sistema operacional precisa de memória para funcionar, e se a memória acabar, o sistema falha.


ID
238312
Banca
CESPE / CEBRASPE
Órgão
ABIN
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em relação aos sistemas operacionais, julgue os itens subsequentes.

O gerenciamento de memória no ambiente Linux envolve a definição de três tipos de segmentos lógicos para cada processo: texto, dados e pilha. Esses segmentos possuem características diferentes, especialmente em relação aos direitos de escrita durante a execução do processo; enquanto os segmentos de texto e dados são de leitura e escrita, o segmento de pilha é do tipo somente leitura.

Alternativas
Comentários
  • Gabarito: Errado

    Dados e Pilha - Leitura e Escrita; Texto - Leitura

    fonte: Grupo TI Masters e www.inf.ufsc.br/~lourenco/4fase/ine5611/unix.pdf

  • Resposta: Errado

    O gerenciamento de memória no ambiente Linux envolve a definição de três tipos de segmentos lógicos para cada processo: texto, dados e pilha.           ( Definição de Espaço de Endereçamento de um processo) Esses segmentos possuem características diferentes, especialmente em relação aos direitos de escrita durante a execução do processo; enquanto os segmentos de texto e dados são de leitura e escrita, o segmento de pilha é do tipo somente leitura.

    1º A área de texto já está escrita, então não tem necessidade de fazer uma escrita durante a execução.
    2º Os dados podem ser escritos e lidos
    3º A pilha é altamente dinâmica, a todo momento lendo e escrevendo.
  • Complementando os colegas:

    • Texto: contém as instruções binárias do código executável do processo (imagem). 

    • Dados: espaço para as variáveis do processo, declaradas como globais no programa. 

    • Heap: memória para alocação sob-demanda durante a execução – Alocação dinâmica (malloc/free) 

    Pilha: memória para alocação: – De variáveis locais a sub-rotinas (vide chamada de funções); – Do endereço de retorno de uma sub-rotina.


    http://www.inf.ufrgs.br/~johann/sisop1/aula07.threads.pdf

  • Prezados,

    Para que um programa seja executado ele precisa ser transformado em processo(s), assim é necessário alocar o descritor de processos,alocar espaço na memória para o código (área conhecida como TEXT, onde se localiza o programa principal, as funções e as bibliotecas estáticas), os dados (Data, área onde as variáveis são alocadas - globais, locais estáticas, buffers internos)e a pilha (que possui o HEAP, área onde se localiza as variáveis dinâmicas, e o STACK, endereços de retorno de chamadas e parâmetros de funções). Os dados e a pilha podem ser alterados, por isso são de leitura e escrita , enquanto o texto ( programa principal ) é somente de leitura.

    Portanto a questão está errada.


  • Tornando a questão certa:

    O gerenciamento de memória no ambiente Linux envolve a definição de três tipos de segmentos lógicos para cada processo: texto, dados e pilha. Esses segmentos possuem características diferentes, especialmente em relação aos direitos de escrita durante a execução do processo; enquanto os segmentos de dados e pilha são de leitura e escrita, o segmento de texto é do tipo somente leitura.

    Agora, pq apenas o segmento de texto é somente leitura? Pq é o único q contém as instruções do código executável; lógico q só pode ser lido, ou seria um caos as instruções sendo executadas e alteradas...na verdade, seria um desastre para o sistema todo.

    Quanto aos demais, podem ser alterados à vontade, pois possuem apenas alocação de memória e espaços de variáveis.


ID
247003
Banca
COVEST-COPSET
Órgão
UFPE
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Um dos tipos de gerenciamento de memória utilizados por sistemas operacionais é a memória virtual. Este tipo de memória pode ser gerenciada por segmentação. Assinale a alternativa que descreve o funcionamento do gerenciamento de memória virtual por segmentação:

Alternativas
Comentários
  • Alternativa CORRETA letra C

    Memória virtual por segmentação é a técnica de gerência de memória onde o espaço de endereçamento virtual é dividido em blocos de tamanhos diferentes chamados segmentos. Na técnica de segmentação, um programa é dividido logicamente em sub-rotinas e estruturas de dados, que são alocadas em segmentos na memória principal.



  • Resposta: C

    Memória Virtual por Segmentação é o conceito resposável por dívidir a memória em blocos (segmentos), idependendo do tamanho, podendo ser igauis ou diferentes. Esta divisão possibilita uma maior facilidade de gerênciamento, pricipalmente com estruturas de dados que tem tamanhas dinâmicos, bibliotecas compatilhadas.
  • Segmentação
    • Segmentação é a técnica de gerência de memória, onde os programas são divididos logicamente em sub-rotinas e estruturas de dados e colocados em blocos de informações na memória.
    • Os blocos têm tamanhos diferentes e são chamados segmentos, cada um com seu próprio espaço de endereçamento.
    • A grande diferença entre a paginação e a segmentação é que, enquanto a primeira divide o programa em partes de tamanho fixo, sem qualquer ligação com a estrutura do programa, a segmentação permite uma relação entre a lógica do programa e sua divisão na memória.
  • Fontes! Fontes! Fontes! Fontes!
  • Uma boa fonte para estas respostas é o livro da Gagne e Silberschatz "Fundamentos de Sistemas Operacionais, 8ª Edição", no capítulo de "Gerancia de memória" e "Memória virtual".
  • Memória Virtual: Paginação e Segmentação

    Segmentação: Os programas são divididos em sub-rotinas e estruturas de dados, e depois são colocados em blocos de informações na memória que possuem tamanhos diferentes com seu próprio espaço de endereçamento.

    Paginação: Processo da 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 páginas do mesmo tamanho.

  • MEMÓRIA  Virtual por Segmentação

    Segunda a FGV: separa regiões de memória conforme a utilização da mesma.

    É uma técnica de gerência de memória onde o espaço de endereçamento virtual é dividido em blocos de tamanhos diferentes chamados segmentos.

    Um programa é dividido logicamente em sub-rotinas e estruturas de dados, que são alocadas em segmentos na MP.


ID
249445
Banca
CESPE / CEBRASPE
Órgão
DETRAN-ES
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Julgue os próximos itens, relativos a sistemas operacionais.

No gerenciamento de memória por um sistema operacional, cada processo possui um conjunto de endereços que pode ser utilizado e cujos valores podem se estender de 0 a um valor máximo. Nos computadores, os endereços são normalmente de 32 bits ou de 64 bits.

Alternativas
Comentários
  • Acredito que esteja referindo sobre Segmentação.

    "Cada segmento consiste numa sequencia linear de endereços, 0 até algum máximo"....
    Fonte: Organização Estruturada de Computadores, 5ª ed, Tanenbaum 
  • Certo. Um bit pode ter dois valores possíveis (possibilidades): 0 e 1. Para aumentar essa possibilidade se trabalha com grupos conjuntos de bits. Os endereços nos computadores geralmente são 32 e 64 bits. Os processadores de 64 bits reproduzem o processamento de 32 bits, mantendo compatibilidade com programas de 32 bits, pois estes são os mais utilizados atualmente. 
  • Na maioria dos computadores os endereços são de 32 ou 64 bits, fornecendo um espaço de endereçamento de 2^32 ou 2^64, respectivamente.
    Fonte: Sistemas Operacionais Modernos, Tanenbaum.
  • Cada processo tem o seu próprio espaço de endereçamento, seja real ou virtual. Esses endreços, do ponto de vista do processo, vão de 0 a um dado valor. Cabe a MMU fazer a tradução do valor inicial de 0 para o valor inical real, na memória física. Ex: Somando Zero ao valor do Registrador Base. Já o endereço final, deve ser verificado se é menor que Registrador Base + Registrador Limite -1.
    O endereços nos computadores são, também, de 32 ou 64 bits.

ID
249451
Banca
CESPE / CEBRASPE
Órgão
DETRAN-ES
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Julgue os próximos itens, relativos a sistemas operacionais.

No gerenciamento de memória virtual, um sistema operacional pode ter uma parte dos espaços de endereçamento atribuída à memória principal e outra ao disco rígido, sendo possível alternar o uso desses espaços de acordo com a necessidade de gerenciamento e uso.

Alternativas
Comentários
  • No contexto de Swapping isto é válido, pois em um esgotamento de memoria RAM o processador transfere o conteúdo da RAM para um arquivo de troca nos discos, liberando espaço na RAM.
  • Certo. No gerenciamento de memória virtual, que é constituída de memória principal RAM, o usuário pode utilizar espaço de armazenamento no disco rígido, caso a memória do programa exceda a memória real de seu sistema ou de acordo com a necessidade de gerenciamento e uso. Este caso se enquadra no item 3 da definição abaixo.
    Conforme Wikipédia.
    A memória virtual consiste em recursos de hardware e software com três funções básicas
    1. relocação (ou recolocação), para assegurar que cada processo (aplicação) tenha o seu próprio espaço de endereçamento, começando em zero;
    2. proteção, para impedir que um processo utilize um endereço de memória que não lhe pertença;
    3. paginação (paging) ou troca (swapping), que possibilita a uma aplicação utilizar mais memória do que a fisicamente existente (essa é a função mais conhecida).
  • Eu pensava que a questão estava se referindo ao espaço de endereçamento do sistema operacional, pois que eu saiba, o sistema operacional deve ser todo ele carregado em memória. Estou certo?
  • 2011

    Na técnica denominada escalonamento de processos, o sistema operacional mantém parte do espaço de endereçamento de um processo na memória principal e parte em dispositivo de armazenamento secundário, realizando trocas de trechos de código e de dados entre eles, de acordo com a necessidade.

    ERRADA → isso é memória virtual

     


ID
260362
Banca
FCC
Órgão
TRT - 4ª REGIÃO (RS)
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Se a referência à memória é para um endereço determinado, é possível que a próxima referência à memória seja feita nas adjacências desse endereço. Trata-se de uma afirmação relevante ao princípio que forma a base de todos os sistemas cache, denominado princípio da

Alternativas
Comentários
  • Princípio da localidade de referência

    É a tendência de o processador ao longo de uma execução referenciar instruções e dados da memória principal localizados em endereços próximos. Tal tendência é justificada devido as estruturas de repetição e as estruturas de dados, vetores e tabelas utilizarem a memória de forma subseqüente (um dado após o outro). Assim a aplicabilidade da cache internamente ao processador fazendo o intermédio entre a memória principal e o processador de forma a adiantar as informações da memória principal para o processador.

  • Princípio da localidade É a observação de que as referências à memória feitas em qualquer intervalo curto de tempo tendem a usar apenas uma fração de memória total. Os programas não acessam a memória de maneira completamente aleatória. Se uma referência à memória é para o endereço A, é possível que a próxima referência à memória seja  feita nas vizinhanças de A. Exceto pelos desvios e chamadas de procedimentos, as instruções são executadas seqüencialmente. A maior parte do tempo de execução de um programa é passada em loops. O princípio da localidade forma a base de todos os sistemas cache.
  • Apenas completando as respostas anteriores, é importante saber o conceito de TEMPORALIDADE, pois tem relação com o conceito de LOCALIDADE. TEMPORALIDADE é a tendência do processador executar novamente uma instrução que tenha sido executada anteriormente num tempo próximo.
  • Localidade espacial: é a tendência de que após uma referência a uma posição de memória sejam realizadas novas referências a endereços próximos.

    Localidade temporal: é a tendência de que após uma referência a uma posição de memória esta mesma posição seja novamente referenciada em um curto intervalo de tempo.

    Alternativa: B


ID
273394
Banca
CESPE / CEBRASPE
Órgão
FUB
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Julgue os itens a seguir, acerca do gerenciamento de memória.

Em sistemas multiprogramados, uma forma de resolver o problema da realocação consiste em alterar as instruções do programa de acordo com a partição de memória em que ele será carregado.

Alternativas
Comentários
  • Quando falamos em realocação, temos duas variações: a estática e a dinâmica. A questão se refere à estática.
    Cada processo possui o seu espaço de endereçamento. O programa é carregado em memória por completo e todas as suas referências à memória são modificadas somando os endereços que o programa contém com o endereço físico onde o processo foi carregado.
  • Não entendi bem esta questão. Se alguém tiver referências sobre este assunto e puder compartilhar links aqui.
  • Eu não entendi a parte: ...alterar as instruções do programa...

    Eu devo alterar o código do programa que está em memória? Alguém poderia me ajudar?

  • Mateus, pelo visto é isso mesmo! 


    De acordo com o Tanembaum em Sistemas Operacionais Modernos, 3ªEd, página 143-144:


    "Uma possível solução para isso é modificar as instruções do programa segundo a partição de memória em que ele será carregado. Programas carregados na partição 1 terão 100K adicionados a cada endereço; programas carregados na partição 2 terão a adição de 200K e assim por diante. Para executar a relocação do programa, ao carregá-lo em uma partição de memória, o ligador deve incluir no código binário uma lista ou um mapa informando quais palavras do programa são endereços que necessitam de realocação e quais são códigos de operação, constantes ou outros itens que não devem ser realocados."


    É meio estranha essa ideia, mas no parágrafo anterior ele dá uma dica: "Quando um programa é ligado (isto é, quando se combinam o programa principal, procedimentos escritos pelo usuário e procedimentos de biblioteca em um único espaço de endereçamento), o ligador (linker) tem de saber em que endereço o programa deve começar na memória".

  • Obrigado Paulo!


ID
273397
Banca
CESPE / CEBRASPE
Órgão
FUB
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Julgue os itens a seguir, acerca do gerenciamento de memória.

A monoprogramação, apesar de ser um modelo limitado para as capacidades avançadas oferecidas pelos atuais sistemas operacionais, ainda é utilizada como base para sistemas operacionais de palmtops e sistemas embarcados utilizados pelas indústrias.

Alternativas
Comentários
  • Monoprogramação executa um processo por vez, com aperfeiçoamento da memória ram, o próximo passo foi permitir a carga de mais de um programa na memória primária, dando origem aos programas multiprogramados. Os palmtops e sistemas embarcados utilizados pelas indústrias utilizam alocação de memória para apenas um processo, ficando o sistema operacional em uma camada protegida da memória. Esse sistema permite que o processador, execute apenas um programa. Suas principais desvantagens são a ociosidade do processador e subutilização da memória. A principal vantagem é que sua implementação é feita de forma bem simples.

    até mais!
  • Monoprogramação
    O esquema mais simples possível de gerência de memória consiste em ter-se somente um processo na memória durante toda a sua execução, O usuário carrega um programa do disco para a memória, podendo este fazer uso de toda a máquina. Se a memória for insuficiente, o programa simplesmente tem sua execução rejeitada,
    Quando o sistema é organizado dessa maneira, somente um processo pode estar em execução por vez. O usuário entra com um comando no terminal, e o sistema operacional carrega o programa requerido do disco para a memória e o executa, Quando o processo termina, o sistema operacional reassume a CPU e espera por um novo comando para carregar um outro processo na memória já liberada pelo primeiro,
     
    Multiprogramação e Uso da Memória
    Embora a monoprogramação seja usada em pequenos computadores, em grandes computadores com múltiplos usuários ela é proibitiva, Multiprogramação, além de suportar processos simultâneos de diversos usuários, também permite utilizar melhor a CPU durante acessos de um processo a dispositivos de entrada e saída, é comum para um processo permanecer em um loop lendo um bloco de dados de um arquivo em disco e então realizando alguma computação sobre o conteúdo dos blocos lidos, Se for gasto 40 ms para ler um bloco e a computação demanda apenas 10 ms, sem a multiprogramação a CPU estará desocupada esperando pelo acesso ao disco durante 80% do tempo,
    Quando a multiprogramação é usada, o percentual de utilização da CPU aumenta. Grosso modo, se a média dos processos utilizam CPU somente 20% do tempo que permanecem na memória, com 5 processos em memória, a CPU deverá estar ocupada o tempo todo, Este modelo é otimista, entretanto, pois assume que os 5 processos nunca estejam esperando por E/S ao mesmo tempo.

ID
273400
Banca
CESPE / CEBRASPE
Órgão
FUB
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Julgue os itens a seguir, acerca do gerenciamento de memória.

Swaping é a troca de processos entre a memória e o disco, quando a memória principal não é suficiente para conter todos os processos.

Alternativas
Comentários
  • É uma técnica aplicada a gerência de memória, onde um sistema escolhe um programa residente que é levado da memória para o disco (Swapp out), retornando posteriormente para a memória principal como se nada estivesse ocorrido. Quando o programa tiver que ser executado novamente, então ele é novamente carregado para memória principal (swapp in). Esta programação pode ocasionar o swapp out de outro programa. O processo é ineficiente com relação ao tempo gasto em cada carregamento. Uma solução pertinente é a implementação de Hardware dos computadores para permitir a recolocação seja realizada durante a execução do programa.

    Vantagens;
    -Maior compartilhamento da memória
    -Maior throughput
    -Eficiente

    Desvantagens;
    -Elevados custos das operações de entrada e saída.

    até mais
  • Swaping é a troca de processos entre a memória principal ( RAM)  e o disco (HD), quando a memória principal (RAM) não é suficiente para conter todos os processos.

    Gabarito: C


ID
273403
Banca
CESPE / CEBRASPE
Órgão
FUB
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Julgue os itens a seguir, acerca do gerenciamento de memória.

Para que um programa possa ser executado, o seu tamanho, incluindo os dados e a pilha, não pode ser maior que a quantidade de memória física disponível no computador para a sua execução.

Alternativas
Comentários
  • item ERRADO!

    Como exemplo, na memória virtual os programas a serem executados podem ser maiores do que o tamanho da memória principal.

    até mais!
  • Item Errado.

    O texto da questão é o exato conceito para a existência da memória virtual. Um programa pode ser executado mesmo que seu espaço de endereçamento necessário sejá maior do que o tamanha da memória física, pela existe da memória virtual.
  •         Para que um programa possa ser executado, o seu tamanho, incluindo os dados e a pilha,  pode ser maior que a quantidade de memória física (RAM) disponível no computador para a sua execução. Para isso que temos a (Memória Virtual).

    Gabarito: E

     

     


ID
287485
Banca
INSTITUTO CIDADES
Órgão
UNIFESP
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

Acerca das características do sistema de memória de um computador moderno, marque a alternativa INCORRETA:

Alternativas
Comentários
  • Letra B.
    A taxa de transferência nas memórias RAM é determinada pela ideia 2/tempo do ciclo. Este valor pode ser ajustado pelo SETUP do computador, para valores maiores (menos transferência) ou menores (mais dados). É claro que esta mudança precisa de ajustes para cada situação, e é conhecido como situação ótima de configuração.
  • "cachê" foi o que o elaborador da questão tava pensando em ganhar quando fez essa :P
  • Achei a seguinte explicação sobre taxa de transferência:
    Taxa de transferência: diz respeito a taxa (velocidade) com que os dados podem ser transferidos de ou para a unidade de memória. Nas memórias de acesso aleatório essa taxa é equivalente a 1 / (tempo de ciclo). Para as memórias de acesso não-aleatório vale a seguinte relação: TN = TA + N / R Onde: TN = tempo médio para ler ou escrever N bits TA = tempo médio de acesso N = número de bits R = taxa de transferência de bits por segundo (bps)
    Ou seja, o erro da letra (b) está no fato de que a taxa é equivalente a 2 / (tempo de ciclo) ao invés de 1 / (tempo de ciclo).

    Fonte: http://regulus.pcs.usp.br/~jean/arquitetura/Aula%2002%20-%20Subsistema%20de%20Memoria.pdf
  • No meu entendimento a resposta deveria ser a letra "A":

    tempo de acesso: tempo gasto para efetuar uma operação de escrita ou leitura. Este
    tempo é contabilizado desde o instante em que o endereço é apresentado a memória
    até o momento em que os dados são armazenados (op. escrita) ou se tornam
    disponíveis para serem manipulados (op. leitura).

    Concordo com o amigo Marcelo:

    taxa de transferência: diz respeito a taxa (velocidade) com que os dados podem ser
    transferidos de ou para a unidade de memória. Nas memórias de acesso aleatório essa 
    taxa é equivalente a 1 / (tempo de ciclo). Para as memórias de acesso não-aleatório 
    vale a seguinte relação:
    TN = TA + N / R

ID
319033
Banca
FCC
Órgão
NOSSA CAIXA DESENVOLVIMENTO
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em relação à segmentação no gerenciamento de memória, é correto afirmar:

Alternativas
Comentários
  • Memória Virtual

    Já esse método permite que programas sejam executados mesmo que estejam apenas parcialmente carregados na memória principal.

    Partições fixas e Partições variáveis: As principais diferenças são o tamanho e a localização das partições que variam conforme os processos entram e saem da memória nas partições variáveis, enquanto que nas partições fixas os parâmetros são fixos. Nas trocas de processos quando deixam muitos espaços vazios na memória, há a possibilidade aglutiná-los em único espaço contíguo de memória, movendo-os o máximo possível para os endereços mais baixos. Técnica denominada compactação de memória. No entanto não é muito utilizada pelo tempo de processamento necessário considerado alto. Algo que deve ser dado uma devida importância é a quantidade de memória que deve ser alocada a um processo, quando for criado ou trazido do disco para memória. Se o processo possuir tamanho fixo, inalterável, então o processo de alocação torna-se simples: o sistema operacional alocará o espaço necessário. No entanto, na área de dados que o processo puder crescer, é alocado uma área temporária denominada (heap). Se houver espaço disponível ao processo, ele poderá ser alocado a esse determinado processo. Quando os processos puderem ter duas área de expansão, a área de dados sendo usada como área temporária (heap) para variáveis dinamicamente alocadas e liberadas, e uma área de pilha para variáveis locais e para endereços de retorno.

  • GAB: E

    (...) a segmentação normalmente é visível ao programador e é fornecida como uma conveniência para organizar programas e dados e como um meio de associar atributos de privilégio e proteção com instruções e dados. A segmentação permite que o programador veja a memória como consistindo em múltiplos espaços ou segmentos de endereço. Os segmentos têm tamanho variável, realmente dinâmico. Normalmente, o programador ou o SO atribuirá programas e dados a diferentes segmentos.

    Fonte: Willian Stallings 8a. ED. pág: 233

  • "c) O programador não precisa estar ciente de que há segmentação. "

    Já programei muito na minha vida, mas sequer fui informado de que havia segmentação ou não implementada no gerenciador de memória do computador que usei!

    Mais uma para guardar!

  • Não sei para vocês, mas essa é a questão que você deve marcar a "MAIS CERTA", seguindo o que está sempre explicito nas literaturas sobre o assunto...

    Portanto, qualquer lugar que você pesquisar sobre segmentação irá dizer que os tamanhos não são fixos
  • Bom, concordo com os amigos.

    Lendo a questão, chegando ao item "C" pensei, ok, é isso mesmo, porém chegando ao item "E" conclui. Bom, agora fiquei em duvida no C pq o E eu tenho certeza que esta certo. Ora! pela duvida e pela certeza optei pelo Item "E", que é descrito sempre em qq conceito de segmentação.

    Obs: em relação ao Item C, talvez o prgramador precise sim estar citente que há segmentação, PORÉM, isso já é feito pela linguagem utilizada. Ou seja, o programador deve ter a ciencia da segmentação porém as linguagens atuais fazem este meio de campo para ele. Enfim, não sei se o raciocinio é correto, mas é um mistério a desvendar este item. :)
  • Reparem que as alternativas D) e E) são ambíguas, portanto só pode ser uma destas possíveis, só há uma alternativa correta.

    Segmentação é um tipo de memória virtual onde os blocos de memória alocados não tem tamanho fixo. Já no tipo "paginação" de memória virtual, os blocos de memória alocados tem tamanho fixo.

    Alternativa correta é a E)  .

    Não existe isso de meio certa. Existe alternativa incompleta, que está ERRADA.

     

    sobre a alternativa C) isso não é uma verdade universal, a depender da aplicação que esteja desenvolvendo ou manipuando é importante saber desta informação sim, em nehum lugar dos livros de Sistemas Operacionais isso é mencionado. Que "o programador não precisa estar ciente de que há segmentação". Errado né gente.

    Alternativa correta E)

  • Memória virtual por Segmentação

    - O espaço de endereçamento virtual é dividido em blocos de tamanhos diferentes chamados segmentos;

    - Facilidade em lidar com estruturas de dados dinâmicas;

    - Apenas os segmentos referenciados são transferidos da memória secundária para a memória principal.

    - Existe o problema de fragmentação eterna;

    - A proteção da memória é mais simples de ser implementada do que sistema com paginação;

    - É mais simples o compartilhamento de memória do que na paginação;

    Alternativa: E


ID
320323
Banca
CESPE / CEBRASPE
Órgão
INMETRO
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Assinale a opção correta com relação aos conceitos de gerenciamento de memória.

Alternativas
Comentários
  • Definição segundo Tanenbaum

     

    O gerenciador de memória deve ser capaz de controlar que parte da memória está em uso (e quais não estão), alocar memória para processos quando eles necessitam e desalocar quando eles terminam e, principalmente, gerenciar a troca entre a memória principal e o disco, quando a memória principal é muito pequena para armazenar todos os processos.

  • Tipicamente, em um ciclo de execução do processador, primeiramente uma instrução será carregada do processador para a memória; a seguir, a instrução será decodificada e poderá fazer que operandos sejam carregados do processador (incorreto).... da memória (correto)


ID
320776
Banca
CESPE / CEBRASPE
Órgão
INMETRO
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em um sistema operacional que implementa a gerência de memória, por meio de um sistema de paginação por demanda, observou-se que, durante a execução de um processo, a utilização da CPU é 20%, do disco de paginação 75% e dos demais dispositivos de E/S 5%. Assinale a opção que otimiza a utilização da CPU.

Alternativas
Comentários
  • A ideia principal da paginação por demanda é manter na memória principal somente as páginas que serão utilizadas pelo processo, podendo assim aumentar a quantidade de processos em execução (multiprogramação). Quando um processo necessita de uma página que não está na memória, é gerada uma exceção (page fault)  no qual é tratado pelo sistema operacional, que consiste basicamente em carregar a página ausente do disco para a memória.

    No caso da questão, 75% da execução do processo é desperdiçada no carregamento de páginas do disco para a mémoria, sendo a CPU utilizada em apenas 20% da execução. Como as páginas mapeadas na memória possuem um tamanho único, se aumentarmos o tamanho da página não será mais necessário para o processo realizar tantos carregamentos do disco para a memória. Diminuindo assim a utilização do disco de paginação e aumentando proporcionalmente a utilização da CPU.

    Rafael Eduardo Barão
    http://www.itnerante.com.br/profile/RafaelBarao
    http://www.provasdeti.com.br/por-professor/rafael-barao.html
  • Apenas acrescentando o comentário do nosso colega acima existem 2 modos de paginação:

    CARGA POR DEMANDA:
     - A página é carregada na RAM quando é referenciada.
     - Não há desperdício de espaço na RAM.
     - Ideal para sistemas antigo onde a memória RAM era cara e escassa.

    CARGA ANTECIPADA:
     - Página é carregada na RAM quando é referenciada, porém as páginas adjacentes também são (Princípio da localidade espacial), melhorando o desempenho da aplicação, reduzindo ainda mais os Page Faults.
     - Ideal para sistemas atuais onde a RAM é farta mais barata e as CPU´s são mais rápidas.

     
  •       Como as páginas mapeadas na memória possuem um tamanho único, se aumentarmos o tamanho da página não será mais necessário para o processo realizar tantos carregamentos do disco para a memória. Diminuindo assim a utilização do disco de paginação e aumentando proporcionalmente a utilização da CPU.

    Gabarito: B
     


ID
320785
Banca
CESPE / CEBRASPE
Órgão
INMETRO
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Considere um sistema com swapping, no qual as seguintes partições vazias de tamanho fixo estão na memória, na ordem apresentada: 20K, 14K, 35K, 8K, 17K, 39K, 22K e 27K. Se um processo solicitar a alocação de uma área de memória de 21K, o algoritmo de alocação de memória que faz a alocação minimizando a fragmentação interna é

Alternativas
Comentários
  • Vários algoritmos podem ser utilizados para encontrar uma lacuna de memória para alocação de um processo:


    1 - Primeiro ajuste (first fit): varre a lista desde o início e aloca no primeiro espaço (lacuna) suficientemente grande;

    2 - Próximo ajuste (next fit): varre a lista da posição atual e aloca no primeiro espaço suficientemente grande;

    3 - Melhor ajuste (best fit): varre a lista completamente e aloca no espaço que gerar a menor lacuna de memória;

    4 - Pior ajuste (worst fit): varre a lista completamente e aloca no espaço que gerar a maior lacuna de memória disponível, de modo que a lacuna resultante possa ser suficientemente grande para ser útil;

    5 - Ajuste rápido (quick fit): mantém diversas listas separadas para os tamanhos de processos mais comuns.

  • De acordo com o próprio livro de SO do Tanenbaum, o algorítmo best fit é um dos que apresenta pior fragmentação, por deixar pequenos fragmentos de memória inúteis (quando não encontra a alocação perfeita, ele aloca em um espaço com uma pequena sobra que acaba não sendo usada com facilidade). Tanto que o worst fit foi criado com a intenção de reduzir a fragmentação deixando espaços maiores que podem ser úteis. Acredito que a alternativas B e C seriam melhores opções que a considerada pelo gabarito.
  • Achei a redação da questão bem confusa!

    Fragmentação interna ocorre com paginação, quando sobra espaço dentro da página ocupada pelo processo.
    Fragmentação externa ocorre com segmentação, quando vão aparecendo sobras/buracos na memória principal.

    Entendo que usando worst-fit ou best-fit ocorrerá fragmentação interna nas partições de tamanho fixa.

    As partições disponíveis para alocar 21k são:
    39k / 35k / 27k / 22k

    (I) Se usarmos worst-fit, colocaremos na 39k. O tamanho do maior processo que poderemos alocar seria 22k.
    (II) Se usarmos best-fit, colocaremos na 22k. O tamanho do maior processo que poderemos alocar seria 27k.

    Se tivéssemos processos de 23k, 24k, 25k, 26k não conseguiríamos alocar usando (I). Então parece que (II) minimizaria o problema da fragmentação.
  • Questão casca de banana, a perceber pelos comentários.
    A questão apresenta um cenário de páginas com várias possibilidades de tamanho fixo a aderir.
    Naturalmente, o algortimo que minimiza o espaço livre dentro da página é o best-fit.
  • sss

  • Absurdo, Tanenbaum diz exatamente o oposto, a best-fit vai gerar um monte de fragmentos pequenos inúteis.

  • Best fit usa o menor bloco possivel. Porque esse algoritmo deixa a menor area livre, com o tempo a memoria vai ter mais areas nao contiguas, aumentando fragmentacao

  • Questão bem malandra...

    Como mencionado pelos colegas, best fit aumenta a fragmentação. Segue uma definição:

     

    Best-fit
    Escolhe a melhor partição, ou seja, aquela que o programa deixa o menor espaço sem utilização.
    Desvantagem de deixar pequenas áreas não contíguas, aumentando o problema da fragmentação.

     

    O enunciado fala que best-fit "faz a alocação minimizando a fragmentação interna".

     

    Forçando muito a barra, a única coisa que consigo imaginar para validar essa questão é que esse "minimizar" não se refere à redução da quantidade de fragmentações existentes, mas sim ao tamanho dos fragmentos, gerando desperdício ao deixa pequenas áreas não contíguas tão minúsculas que dificilmente serão utilizadas por outro processo.


ID
321217
Banca
CESPE / CEBRASPE
Órgão
Correios
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Com relação aos sistemas operacionais Unix e Linux, julgue os itens que se seguem.

A gerência de memória do sistema operacional Unix é realizada por meio da técnica de segmentação.

Alternativas
Comentários
  • "O Sistema UNIX possui rotinas de gerenciamento de memória que utiliza a técnica de paginação ou swapping."

    Fonte: http://www.dca.ufrn.br/~xamd/dca0800/Cap03.pdf
    pg. 8
  • Apenas completando, o Windows também utiliza como técnica a PAGINAÇÃO.
  • http://terminaldeinformacao.com/2013/01/28/tudo-sobre-paginacao-e-segmentacao/

  • A técnica de segmentação é utilizada em memória virtual onde o espaço de endereçamento virtual é dividido em blocos de tamanhos diferentes chamados de segmentos.

    Na técnica de segmentação, um programa é dividido logicamente em sub-rotinas e estrutura de dados, que são alocadas em segmentos na memória principal.

  • O Sistema UNIX possui rotinas de gerenciamento de memória que utiliza a técnica de paginação ou swapping."

    Gabarito: E
     


ID
334630
Banca
FCC
Órgão
TRT - 23ª REGIÃO (MT)
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

São funções do gerenciador de memória:

I. Controlar quais as unidades de memória estão ou não estão em uso, para que sejam alocadas quando necessário.

II. Liberar as unidades de memória que foram desocupadas por um processo que finalizou.
III. Tratar do Swapping entre memória principal e memória secundária.

Está correto o que se afirma em:

Alternativas
Comentários
  • Segundo Tanenbaum:

    O gerenciador de memória deve ser capaz de controlar que parte da memória está em uso (e quais não estão), alocar memória para processos quando eles necessitam e desalocar quando eles terminam e, principalmente, gerenciar a troca entre a memória principal e o disco, quando a memória principal é muito pequena para armazenar todos os processos.

  • A redação do enunciado influencia bastante!

    "I. Controlar quais as unidades de memória estão ou não estão em uso, (...) "
    é diferente de, conforme comentario do colega acima:
    "O gerenciador de memória deve ser capaz de controlar que parte da memória está em uso"

    Você tem N módulos de memória no computador, X deles estão pifados, o pc ligar numa boa e depois o gerenciador de memória, em execução, sabe qual unidade de memória ele tem que alocar!

  • A alocação pode ser:

    Estática: criada programa é compilado. o Sistema operacional o lê e cria um processo, programa em execução, recebendo um espaço na memória. Para alocação estática, o compilador deve saber o total de memória livre, mandar esta informação para o SO ele criar um segmento de dados.

    Alocação Dinâmica: permite Swapping. Os objetos alocados dinamicamente podem ser criados e liberados a qualquer momento, em qualquer ordem. A memória dinâmica  para objetos é heap. Em linguagem C, organização do heap é lista encadeada de blocos livres, o que causa fragmentação dos blocos. Em linguagens com gerenciamento automático (Java), heap depende da parte do sistema que faz esse gerenciamento - garbage collection.

    Fragmentacao pode ser


    Interna: quando o processo não ocupa todos blocos de memória (páginas) reservados quando o tamanho do processo não é um múltiplo do tamanho da página de memória.

    Externa: lacunas cada vez menores de espaços entre as páginas quando os programas terminam. Quando estes espaços sao pequenos demais para alocarem um processo, ficam inutilizados.


ID
334717
Banca
FCC
Órgão
TRT - 14ª Região (RO e AC)
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

O gerenciamento de memória desenvolve sua função a partir de duas tarefas, denominadas

Alternativas
Comentários
  • Quando o sistema operacional gerencia a memória do computador, duas grandes tarefas precisam ser cumpridas.
    1. Cada processo deve ter memória suficiente para ser executado. Ele não pode utilizar a memória de outro processo e outro processo também não pode utilizar a sua memória.
    2. Os diferentes tipos de memória no sistema devem ser bem utilizados para que cada processo seja executado de forma eficaz.
  • A cada dia que passa os programadores necessitam de mais memória e mais programas rodando simultaneamente para poderem tratar cada vez mais informações. O tratamento necessário da memória utilizada não é uma tarefa fácil de ser implementada. Existem vários requisitos que devem ser observados para o correto funcionamento, tais como, Segurança, Isolamento, Performance, entre outros. Para isto a função de gerenciar a memória passa a ser do sistema operacional e não mais do aplicativo. Para que uma memória funcione de maneira correta, é necessário que se tome cuidado com vários elementos como segurança e isolamento, e para isso é utilizado o gerenciamento de memória. Este desenvolve sua função a partir de duas tarefas, a Alocação de Memória e a Fragmentação

    FCC=Wikipedia

    http://pt.wikipedia.org/wiki/Gerenciamento_de_mem%C3%B3ria

  • Pensei que a resposta fosse a letra D, pelo o fato do gerenciamento de memória ter que alocar todos os processos independentemente de ter espaço disponível ou não, neste caso se não tiver espaço o gerenciamento de memória deverá realizar o swapping out retirando algum processo da memória principal e enviando para a secundária.

  • Gabarito A

    Gerenciamento (ou gestão) de memória é um complexo campo da ciência da computação e são constantemente desenvolvidas várias técnicas para torná-la mais eficiente. Em sua forma mais simples, está relacionado em duas tarefas essenciais:

    Alocação: Quando o programa requisita um bloco de memória, o gerenciador o disponibiliza para a alocação;

    Reciclagem: Quando um bloco de memória foi alocado, mas os dados não foram requisitados por um determinado número de ciclos ou não há nenhum tipo de referência a este bloco pelo programa, esse bloco é liberado e pode ser reutilizado para outra requisição.

    Alocação

    A alocação de memória está dividida em 3(três) partes:

    Alocação Estática: Decisão tomada quando o programa é compilado.

    Alocação Dinâmica: Decisão é adiada até a execução. (Permite Swapping)

    Alocação Local

     

    Fragmentação

    Desperdício de páginas de memória alocadas.

    Pode ser de dois tipos: interna e externa.

    Interna: Ocorre quando o processo não ocupa inteiramente os blocos de memória (páginas) reservados para ele. Geralmente acontece pois o tamanho do processo não é um múltiplo do tamanho da página de memória, o que acarreta sobra de espaço na última página alocada.

    Externa: Ocorre à medida que os programas vão terminando e deixando lacunas cada vez menores de espaços entre as páginas. Dependendo do tamanho que precisa ser escrito em memória, estes espaços podem ser pequenos demais para serem úteis, e assim ficam inutilizados.

    Estratégias para "atacar" o problema com o algoritmos First-fit, Best-fit, Worst-fit e Next-fit.

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !

  • Letra A

    Para que uma memória funcione de maneira correta, é necessário que se tome cuidado com vários elementos como segurança e isolamento, e para isso é utilizado o gerenciamento de memória. Este desenvolve sua função a partir de duas tarefas, a Alocação de Memória e a Fragmentação:

     

    A Alocação pode ser tanto estática, feita quando o programa é compilado, e a dinâmica, adiada até a execução.

     

    A Fragmentação, desperdício de memória, por sua vez pode ser interna (paginação), sobra na memória reservada ao programa, e externa (segmentação) que acontece quando após o termino dos programas são deixadas pequenas lacunas entre as páginas.

  • que coisa ein, copiar coisa da wiki em questão sem nenhuma vergonha...


ID
334720
Banca
FCC
Órgão
TRT - 14ª Região (RO e AC)
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

A Memory Management Unit (MMU) tem como função

Alternativas
Comentários
  • A unidade de gerência de memória

    (Memory Management Unit, MMU) é o componente do hardware responsável por prover os

    mecanismos que serão usados pelo sistema operacional para gerenciar a memória. Entre

    outras coisas, é a MMU que vai mapear os endereços lógicos gerados pelos processos nos

    correspondentes endereços físicos que serão enviados para a memória.


    (Revista de Informática Teórica e Aplicada - RITA - Volume VIII, Número 3)

  • Interessante resaltar que a opção a: "mapear páginas virtuais em molduras de página." talvez so estaria errada pelo expressão paginas virtuais que não existe o nome correto é pagina, apenas.

    Veja esse trecho do livro Sistemas Operacionais Modernos:
    "[...] O espaço de endereçamento virtual é dividido em unidades denominadas páginas(pages).As unidades correspondentes na memória física são denominadas molduras de pagina(page frames) [...]}"

    Como trata-se da FCC essa opção , em outro contexto, poderia ser considerada correta. Bastante cuidado com isso.
  • "Quando a memória virtual é utilizada, o endereço virtual não é colocado diretamente no barramento da memória. Em vez disso, ele vai a uma MMU (memory management unit) que mapeia endereços virtuais em endereços físicos"

    Fonte: Sistemas Operacionais Modernos. 3ed. Andrew S. Tanenbaum
  • Um endereço gerado pela CPU é denominado endereço lógico, enquanto um endereço visto pela unidade de memória, aquele carregado no registrador de endereços de memória, é chamado endereço físico.
    O mapeamento em tempo de execução dos endereços virtuais para físicos é feito pelo dispositivo de hardware MMU.
  • A função principal da MMU é mapear endereços virtuais e não páginas para endereços físicos. Ver:

    "A TLB, também conhecida como memória associativa, é um dispositivo de hardware cujo propósito é mapear endereços virtuais em endereços físicos sem passar pela tabela de páginas. Usualmente, ela faz parte da MMU.

    Ela constitui-se de um banco de registradores que armazenam um pequeno número de entradas, muito rápidas, contendo as tabelas de páginas mais utilizadas. Quando um endereço virtual é enviado a MMU, ela primeiramente verifica se o seu número de página virtual está presente na TLB. Se o resultado for positivo (hit), a moldura de página é tomada diretamente da TLB sem a necessidade de passar pela tabela de páginas na memória (mais lento). Caso contrário (miss), a pesquisa é feita normalmente na tabela de páginas presente na memória. Então, uma das entradas é removida da TLB e a entrada da tabela de páginas pesquisada é colocada em seu lugar."

    Ref: http://pt.wikiversity.org/wiki/Introdu%C3%A7%C3%A3o_aos_Sistemas_Operacionais/Ger%C3%AAncia_de_Mem%C3%B3ria

  • A alternativa a. torna-se errada porque ela considera que a técnica de memória virtual utilizada trabalhará com páginas, oque não é obrigatório. Podemos trabalhar com segmentos por exemplo.

  • Gabarito B

    Memory Management Unit (MMU) é o responsável pela coordenação do funcionamento da memória. O processador só pode ser rápido se a memória RAM acompanhar. O MMU é o recurso que transforma as instruções lógicas (virtuais) em endereços físicos nos bancos de memória.

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !

  • Questão que hoje acho fácil, mas ano passado errei.. Pouco a pouco a gente chega lá! "Fortuna Audaces Sequitur !"

     

    Em 25/07/2018, às 19:03:42, você respondeu a opção B.Certa!

    Em 15/08/2017, às 18:33:55, você respondeu a opção A.Errada!

  • MMU -> Dispositivo do hardware que transforma endereços virtuais em endereços físicos.

  • Unidade de gerenciamento da memória (MMU): traduz endereço virtual para endereço físico.

    Alternativa: B


ID
334726
Banca
FCC
Órgão
TRT - 14ª Região (RO e AC)
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Quando um job chega para ocupar uma partição de memória, ou ele é colocado em uma fila de entrada da menor partição capaz de armazená-lo ou ele é colocado em uma fila de entrada única para todas as partições.
No contexto de gerenciamento de memória trata-se de uma afirmativa típica da

Alternativas
Comentários
  • Segue um resumo do livro do Tanenbaum a respeito do tema:

    Gerenciamento Básico de Memória

    Os Sistemas de Gerenciamento de Memória podem ser divididos em duas classes: aqueles que movem processos de um lado para outro entre a memória principal e o disco durante a execução (fazendo troca e paginação) e aqueles que não o fazem. As próximas seções apresentam os mesmos.

     

    1. Monoprogramação sem troca ou paginação

    Este é o esquema mais simples possível: só é possível executar um programa de cada vez, compartilhando a memória entre o programa e o S.O. Existem três variações para este modelo. Quando o sistema está organizado desta maneira somente um processo por vez pode estar executando.

     

    2. Multiprogramação com Partições Fixas

    A maneira mais simples de implementar a multiprogramação, em termos de memória, é dividir a mesma em n partições desiguais. Quando um job chega, há duas possibilidades: ele é colocado em uma fila de entrada da menor partição capaz de armazená-lo ou ele é colocado em uma fila de entrada única.

    Uma vez que as partições são fixas, qualquer espaço não ocupado por um job é perdido. A desvantagem de classificar os jobs em entradas separadas é apresentada quando uma fila para uma partição grande está vazia e filas para partições pequenas estão muito cheias. Uma possível alternativa é colocar todos os jobs em uma única fila de entrada e sempre que uma partição encontra-se livre, alocar para o próximo job da fila. Para não desperdiçar espaço pode-se realizar uma pesquisa para selecionar o job que melhor se ajuste ao tamanho da partição. No entanto, isto pode deixar jobs pequenos de fora, o que também é indesejável. Neste caso, é interessante dispor de pelo menos uma partição pequena para jobs pequenos ou criar uma regra que limite o número de vezes que um job pode ser ignorado, obrigando que o mesmo seja selecionado em um determinado momento.

  • Complementando o comentário do colega acima, segue uma imagem do livro do Tanembaum.


ID
344053
Banca
FUNCAB
Órgão
DER-RO
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Sobre segmentação e paginação, analise as afirmativas abaixo.
I. Com a utilização de segmentação e paginação na execução de um programa, a tabela de páginas de memória real fica reduzida, implicando diminuição da utilização dememória.

II. Os segmentos de páginas de um programa em execução possuem tamanhos iguais e fixos até o término da execução.

III. A segmentação complementa a lógica real de um programa, enquanto a paginação é voltada para o hardware do sistema.

IV. Na paginação, o espaço de endereçamento virtual é dividido em blocos, denominados unidades de alocação, de tamanho e posição fixas, geralmente de pequeno tamanho, aos quais se associa um número.
Está(ão) correta(s) apenas a(s) afirmativas(s):

Alternativas
Comentários
  • I. .... fica reduzida, implicando diminuição da utilização dememória.

               Incorreta, paginação e segmentação  implaca na melhor utilização da memória;

     

    II. Os segmentos de páginas de um programa em execução possuem tamanhos iguais e fixos até o término da execução.

              Incorreta, segmentos possuem tamanho variáveis;

    III. CORRETA

    IV. CORRETA

    GABARITO LETRA E

  • paginação.-Esquema de gerenciamento da memória que permite que o espaço de endereçamento físico de um processo não seja contíguo. Evita a fragmentação externa e a necessidade de compactação.


ID
370903
Banca
FCC
Órgão
TCE-GO
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

No contexto do algoritmo de substituição de página não usada recentemente (NUR), considere:
I. A maioria dos computadores com memória virtual tem dois bits de status: o bit referenciada (R) e o bit modificada (M).

II. Os bits de status devem ser atualizados em todas as referências à memória, sendo essencial que tal atualização ocorra via hardware.

III. Uma vez que o bit de status é colocado em 1, via hardware, este permanece com tal valor até o sistema operacional colocá-lo em 0, via software.
Está correto o que se afirma em

Alternativas
Comentários
  • Sempre que uma página (endereço virtual) não estiver em uma moldura de página, uma interrupção ocorre e ela deve ser carregada para uma moldura antes de ser executada. No entanto, alguma página que está atualmente em uma moldura deve ser retirada (gravada em disco). Os algoritmos de substituição de páginas se preocupam em escolher a melhor página a ser retirada da moldura. Existem várias alternativas:
    • algoritmo de substituição de página ótimo: deve ser retirada a página que só será referenciada o mais tarde possível. Apesar de, teoricamente, ser um algoritmo interessante, é extremamente difícil prever quando uma página será referenciada;
    • algoritmo de substituição de página não recentemente utilizada (NUR): o S.O. e o hardware mantêm uma coleção de estatísticas sobre as páginas referenciadas e/ou modificadas (através dos bits de referência e modificação das entradas da tabela de páginas) e dão preferência para a troca de páginas não referenciadas e/ou não modificadas;
    • algoritmo de substituição de página “primeira a entrar, primeira a sair (FIFO – first-in first-out): a página mais antiga é removida.No entanto, pode estar sendo removida uma página bastante utilizada;
    • algoritmo de substituição de página de segunda chance: uma modificação do algoritmo FIFO, que busca não substituir uma página antiga e, no entanto, bastante utilizada. A solução é inspecionar o bit R (referenciada) da página mais antiga; se o bit for 1 (foi referenciada) o bit será limpo e a pesquisa continua. Se todas as páginas tiverem sido referenciadas, o algoritmo FIFO acaba sendo executado e a página mais antiga (que agora estará com o bit R limpo) será substituída;'
    • algoritmo de substituição de página menos recentemente utilizada (LRU – least recently used): a idéia é que as páginas que foram intensamente utilizadas nas últimas instruções provavelmente serão utilizadas de forma intensa no futuro próximo. Desta forma, deve ser removida a página que não foi utilizada por mais tempo.
    • Algoritmo de Substituição de Página Não-Recentemente Utilizada

    O NRU (do inglês, Not Recently Used Page) usa dois bits de status, R e M, que são assiciados a cada página. R é setada sempre que uma página é referenciada e M é setado quando a página é modificada. Quando o sistema precisa remover uma página, ele percorre todas as páginas presentes e as classifica em quatro classes:

    • classe 0: não-referenciada, não-modificada;
    • classe 1: não-referenciada, modificada;
    • classe 2: referenciada, não-modificada;
    • classe 3: referenciada, modificada;

    Dessa forma, o algoritmo remove uma página em execução da classe mais baixa.

    O NRU é bom pois é de fácil entendimento e implementação, porém seu desempenho não é ótimo (apesar de ser suficiente na maioria dos casos).

  • Acredito que as assertivas II e III se contradizem. Ora, se é essencial que o bit de status seja atualizado via HW, como na assertiva III temos que o bit é atualizado via SW?
  • As três afirmativas estão no livro de SO do Tanembaum (pg 124). Porém, na frase do autor não tem o via software igual está na alternativa III.
  • No meu livro do Tanenbaum, 2ª Edição, página 160. Estão todas as respostas:

    I - "A maioria dos computadores com memória virtual tem 2 bits de status - o bit referenciada (R) e o bit modificada (M)"
    II - "è importante perceber que esses bits devem ser atualizados em todas as referências à memória, de modo que é essencial que essa atualização se dê por hardware"
    III - "Uma vez que um bit é colocado em 1 por hardware, ele permanece em 1 até o sistema operacional colocá-lo em 0 por software"
  • Dúvida: Conforme o II, toda atualização deve ser feita via HARDWARE. Conforme III, o bit colocado em 1 via hardware, é colocado em zero(ao meu ver, não deixa de ser uma atualização) via software. 

    Ora, se o II diz que toda atualização deve ser feita via hardware, como o S.O pode fazer atualização????? Ferrou....


ID
399871
Banca
CESPE / CEBRASPE
Órgão
Correios
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Acerca de sistemas operacionais, julgue os próximos itens.

Um sistema operacional de tempo compartilhado realiza o escalonamento de CPU e a multiprogramação; as desvantagens desse tipo de sistema estão na sua incapacidade de utilizar memória virtual e no fato de todo o processamento ser realizado na CPU.

Alternativas
Comentários
  • O erro está na seguinte afirmação: "As desvantagens desse tipo de sistema estão na sua incapacidade de utilizar memória virtual".
  • Em tempo compartilhado (time-sharing): variante da multiprogramação ou multitarefa
        -> trabalha com fatias de tempo.

    O fato de ter esse comportamento, não há impedimento algum de usar o recurso de memória virtual.


ID
399874
Banca
CESPE / CEBRASPE
Órgão
Correios
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Acerca de sistemas operacionais, julgue os próximos itens.

Um programa carregado na memória e em execução é denominado processo. Nos sistemas operacionais de tempo compartilhado e nos multiprogramados, os jobs devem ser mantidos na memória ao mesmo tempo que são executados e, por isso, o sistema deve prover recursos de gerência de memória e proteção.

Alternativas
Comentários
  • Sistemas operacionais modermos permitem que múltiplos programas residam na memória principal ao mesmo tempo. Para mantê-los livres da interferência dos outros programas é necessário mecanismos de proteção. Embora esse mecanismos devam ser de hardware, eles são controlados pelo sistema operacional.
    Fonte: Sistemas Operacionais Modernos, Tanenbaum.
  • Na questão o bom observar que o termo Jobs é sinônimo de tarefas.

    Questão Certa.
  • Questão esquisita!!! O primiero comentário está certo, era isso que o examinador queria saber do candidato. O problema é extrair isso da questão.

    Um programa carregado na memória e em execução é denominado processo(blá blá,não acrescenta nada). Nos sistemas operacionais de tempo compartilhado e nos multiprogramados, os jobs devem ser mantidos na memória ao mesmo tempo que são executados ( gostaria de saber qual tipo de sistema operacional em que os jobs não deve ser mantidos na memoria ao mesmo tempo em que são executados)e, por isso, o sistema deve prover recursos de gerência de memória e proteção( o "por isso" é que é hilário).
  • Alguém poderia tirar minha dúvida? O termo "job" não está restrito ao processamento em lote (batch)? Acredito que, para esta questão, o terma mais adequado seria "thread".

    É isso mesmo?

    Obrigado!

ID
425137
Banca
COPEVE-UFAL
Órgão
UFAL
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

As páginas no armazenamento virtual são o mesmo que

Alternativas
Comentários
  • Definindo programa -> Arquivo contendo instruções e dados.
    Já processo  seria algo como esse programa em execução.

    A memória virtual consiste em fornecer um espaço de endereçamento virtual maior que o espaço de endereçamento físico disponível.

    Digamos que um computador consiga endereça 16 bits de memóra ( 2^16) , então temos 65.535 espaços de endereçamento possíveis. Se o tamanho da célula de memória é 2, 4 ou 8k não importa agora.

    Porém o computador só dispõe de 2^8 células de memória. Nesse caso os processos podem utilizar o espaço de endereçamento total de memória virtual (2^16) mesmo que o computador não tenha essa memória. Os processos que não estão em execução podem ter partes de sua área de memória ( o programa) movido para o disco, e os novos processos podem utilizar essa memória liberada.

    Não é necessário colocar todo o programa na memória principal, pode ser apenas parte que vai ser executada. Para o processo não há distinção que parte está na memória principal ou secundária.

    Essa estratégia de ficar movendo programas para o disco e para a memória é chamada de paginação.

    Uma página tem sempre o mesmo tamanho.

    Na representação da página na memória secundária é chamada moldura de página.

    MMU ( Memory Management Unit) é o chip que realiza o mapeamento de memória lógica para endereço de memória física, que o processador consegue entender.

    Sim, não confundir paginação com swapping.
    Swapping é algo mais grosseiro, de mover todo o programa para o disco. Paginação não, é possível que apenas partes não utilizadas possam ser movidas para o disco.

    Quando a área de memória alocada para um processo temos o código, a pilha e o heap. O código tem tamanho fixo, a pilha guarda os dados de parâmetros das instruções e o heap a área de dados do programa.

    FONTE: Sistemas Operacionais Modernos.
  • Questão terrivelmente mal feita.

    "páginas" simplesmente dizendo são "espaços de memória" dentro do conceito de memória virtual. Quando são mapeadas para a memória física, se chamam "Page Frames" e CONTÉM partes de PROCESSOS. Quando não estão mapeadas para a RAM podem simplesmente estar vazias ou então contém partes de processos que foram transferidos para o disco. Os programas, pela definição convencional, são os executáveis em disco, compilados.

    Essa questão tinha que ser fuzilada.
  • PAGINAS (PAGES) são unidades do espaço de endereçamento virtual. Este constitui-se de endereços gerados pelo programa. As molduras de páginas são as unidades correspondentes em memória física
  • essa questão é sobre a alocação de processos utilizando a técnica de memória virtual que transfere parte dos processos - programas em execução - podendo utilizar a paginação ou segmentação.

ID
463363
Banca
CESPE / CEBRASPE
Órgão
HEMOBRÁS
Ano
2008
Provas
Disciplina
Sistemas Operacionais
Assuntos

Um sistema operacional (SO) moderno possui diversas
características que o distinguem de um sistema operacional dos
computadores de primeira geração. Acerca das características dos
sistemas operacionais modernos, julgue os itens subseqüentes.

O gerenciamento de memória é uma atividade de responsabilidade do device driver do fornecedor da memória porque o SO se preocupa apenas com o tamanho utilizado para poder fazer a paginação de arquivos.

Alternativas
Comentários
  • Errado. O gerenciamento de memória é responsabilidade do sistema operacional, sendo o device driver responsável pela comunicação com o hardware.
  • e-

    o sistema operacional deve administrar e controlar o acesso aos dados que estao nas camadas da hierarquia de memoria (registradores, cache, RAM, memoria secundaria etc). Isso é mais relevante nas camadas iniciais, onde ha grande fluxo de dados


ID
464080
Banca
CESGRANRIO
Órgão
Transpetro
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Um processo referencia 5 páginas identificadas por p1, p2, p3, p4 e p5, na seguinte ordem:
p1, p2, p3, p1, p4, p2, p5, p1, p2, p5, p2, p1

Considerando-se que o algoritmo de substituição de página seja LRU e que a memória principal encontra-se inicialmente vazia, qual é o número de transferências de páginas em um sistema com 3 quadros em memória principal?

Alternativas
Comentários
  • O guilherme respondeu de forma bem didática e correta, segue o site.

    http://guilherme.inf.br/index.php?option=com_content&view=article&id=177:questao-24-da-transpetro-2011&catid=45:so&Itemid=59

  • Vou colar aqui a resposta do Guilherme em caso da página sair do ar ou ser inacessível em algum local.

    "Amigos, essa é para quem esta estudando a disciplina de "sistemas operacionais", ou então esta ligado em questões de concursos... essa questão caiu na prova para analista de sistemas júnior da TransPetro 2011, realizada neste fim-de-semana (10/7/11):

     

    Questão 24: Um processo referencia 5 páginas identificadas por p1, p2, p3, p4 e p5, na seguinte ordem:
    p1, p2, p3, p1, p4, p2, p5, p1, p2, p5, p2, p1
    Considerando-se que o algoritmo de substituição de página seja LRU e que a memória principal encontra-se inicialmente vazia, qual é o número de transferências de páginas em um sistema com 3 quadros em memória principal?

    (A) 6
    (B) 7
    (C) 8
    (D) 9
    (E) 10

    clique no link "leia mais..." e veja a resposta!

     

     

    Explicação: O programa esta fragmentado em diversas páginas, para executar cada instrução do programa, o sistema operacional precisa carregar a página que contém a instrução que ele precisa executar num determinado momento. No caso deste tipo de exercício, a sequencia de páginas necessárias já esta definida, na sequencia determinada....

    Passo 1: O SO carrega a página P1 para a memória principal (MP). Número de transferências (NT) = 1;
    Passo 2: O SO carrega a página P2 para a MP; NT = 2
    Passo 3: O SO carrega a página P3 para a MP; NT = 3
    Passo 4: O SO precisa carrega a página P1 para a MP, mas.... ela já esta lá! Então... não ocorre nenhuma transferência de página para a memória principal. NT = 3
    Passo 5: O SO precisa carrega a página P4 para a MP, mas não temos mais espaço, pois os 3 quadros de MP estão sendo usados. Então.... como estamos usando o algoritimo LRU (Least Recently Used) para fazer a páginação, o SO descarta os itens (páginas) menos usado recentemente. As últimas páginas mais usadas foram P1 e P3, então essas ficam e o SO descarta da MP o P2, liberando espaço para o P4. NT = 4  (não perca a conta!! rsrs)
    Passo 6: O SO precisa carrega a página P2, portanto, usando o LRU, as páginas mais usadas recentemente foram P4 e P1, então P3 sai, liberando o quadro para P2. NT = 5;
    Passo 7: O SO carrega a página P5 no lugar de P1. NT = 6;
    Passo 8: O SO carrega a página P1 no lugar de P4. NT = 7;
    Passo 9: O SO precisa carrega a página P2 para a MP, mas ela já esta lá! NT = 7;
    Passo 10: O SO precisa carrega a página P5 para a MP, mas ela já esta lá! NT = 7;
    Passo 11: O SO precisa carrega a página P2 para a MP, mas ela já esta lá! NT = 7;
    Passo 12: O SO precisa carrega a página P1 para a MP, mas ela já esta lá! NT = 7;

    Resultado: Número total de transferências de páginas para a memória principal (NT) = 7;
    As trocas estão marcadas em vermelho com fundo amarelo:"

  • Alguém saberia me explicar, por favor, por que no passo 7, carrega P5 no lugar de P1 e não no lugar de P4?
  • No  passo 7 a P1 sai porque a P4 foi a usada mais recentemente, no passo 5.
    Já a P1 tinha sido usada no passo 4.

    Eu entendi sua dúvida no algoritmo LRU, o que conta mais é o recentemente.
    Tanto faz se uma página foi usada 9 vezes ainda há pouco, e vem outras 2 e são usadas 1 vez. 
    Quem sai é a que não é utilizada durante mais tempo.

      

  • Entendi! Obrigada pela ajuda ;)

  • Acho que toda questão ao citar uma sigla - como LRU - deveria descrever o significado (que seja em inglês!) da sigla!
    Mas... viva a sopinha de letras! Redes então...
  • As explicações dos colegas estão perfeitas. Vamos ver se consigo facilitar mais o entendimento.
    Segundo Tanenbaum, Sistemas Operacionais Modernos, 3ª edição pag. 126; "quando ocorrer uma falta de pagina, elimine a página não utilizada pelo periodo de tempo mais longo".
    Então: A pagina que será utilizada vai para o inicio da fila. Se estiver em memoria passa para o início da fila. Se tiver em disco é trasferida para o inicio da fila. Dos 3 quadros o que tiver mais tempo sem utilização é descartada.

    Seguindo a sequencia:
    P1 P2 P3  - são trasferidos do disco para memoria
    P2 P3 P1 - P1 é carregado para o inicio da fila - não houve a necessidade de ir no disco pois ja está em memoria.
    P2 P3 P1 P4 - P4 é transferido do disco para memoria e P2 é o menos utilizado então é descartado
    P3 P1 P4 P2  - P2 é transferido do disco para memoria e P3 é descartado
    P1 P4 P2 P5 - P5 é transferido do disco para a memoria e P1 é descartado
    P4 P2 P5 P1 - P1 é trasferido do disco para a memória e P4 é descartado
    P2 P5 P1 -  agora é feito a troca de ordem das paginas de acordo com a utilização sem pedir paginas ao disco pois as paginas ja estão em memoria.
    Obs: Em vermelhos: Paginas excluidas. Sublinhado: paginas trasferidas.
  • Essa é uma questão que, na minha opinião, deveria ter sido anulada, pois a questão não informa se as páginas que o programa referencia são páginas modificáveis ou não. Segundo o livro "Arquitetura de Sistemas Operacionais":

    Qualquer das estratégias de paginação deve considerar se a página foi ou não modificada antes de liberá-la. No caso de páginas contendo código executável, que não sofrem alterações, há uma cópia dela no disco, então ela pode ser descartada sem fazer "page-out", já as páginas modificáveis, que armazenam variáveis e estruturas de dados, o sistema deverá gravá-la na memória secundária antes do descarte. Cada página possui um "bit de modificação" (dirty bit ou modify bit) para esse propósito.

    Se considerarmos que todas as página não foram modificadas pelo programa, I.E. que ela é simplesmente descartada e a nova página é gravada em cima, o resultado é 7
    Já se considerarmos que as páginas sofreram alteração pelo programa, I.E. que a página deve ser salva na memória secundária (area de swap) antes de ser apagada da memória principal, o que ocasionaria 2 operações de transferências de páginas, teríamos 10 transferências:

    na memória: P1 P2 P3 ---- 3 transferências
    ...
    Insere página P4 na memória: P1 P2 P3 - p2 faz page-out, é salvo na area de SWAP e P4 é inserido. ---- 5 operações de transferência.
    Se continuarmos teremos as 10 operações.


    Ou seja, questão com 2 respostas possíveis.


ID
519463
Banca
Exército
Órgão
EsFCEx
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

A fragmentação externa de memória causada pelo gerenciamento de memória em um sistema é originada por:

Alternativas
Comentários
  • Alternativa correta letra B. As partições são criadas dinamicamente, assim cada processo é alocado em uma partição que tenha seu tamanho, não causando fragmentação interna. No entanto, causa fragmentação externa, pois quando este arquivo é excluído ou movido, ele libera um bloco de memória do mesmo tamanho que o arquivo. Se o próximo arquivo a ser salvo no espaço desalocado for muito pequeno para preencher a memória disponível, ele vai deixar uma parte não utilizada, que muitas vezes é pequena demais para qualquer outra coisa ser salva. O uso do processador se torna ineficiente, por necessitar de constante compactação (unir os pedaços livres de memória) para solucionar a fragmentação externa.

  • Blocos de tamanho variável(Segmentação) --> Fragmentação Externa

     

    @papirobizurado

  • Fragmentação interna – problema de quando os programas não preenchem totalmente as partições onde são carregados.

     

    Fragmentação externa – Ele ocorre quando os programas forem terminando e deixando espaços cada vez menores na memória, não permitindo o ingresso de novos programas.


ID
533890
Banca
ESAF
Órgão
CVM
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Nas questões de n. 2 a 9, assinale a opção correta.

Alternativas
Comentários
  • Quando a demanda por memória no sistema se torna muito elevada, o número de operações de leitura/escrita em disco também cresce. Se o
    espaço disponível em memória principal for insuficiente para atender todos os processos ativos no sistema, o número de acessos a disco aumenta muito, podendo levar o sistema a uma situação conhecida como thrashing. Nessa situação, os processos ativos praticamente não conseguem
    mais continuar suas execuções, pois precisam esperar pelos acessos a disco, tornando o sistema inoperante. Apesar de ter sido inicialmente estudado nos anos 60, o thrashing ainda constitui um sério problema nos sistemas operacionais atuais. 
  • Thrashing

    - É a excessiva transferência de páginas/segmentos entre a memória principal e a memória secundária.

    - Este problema está presente em sistema que implementam tanto paginação quanto segmentação.

    Motivos que legam o processo a sofrer Thrashing:

    - Dimensionamento incorreto do limite máximo de páginas do processo.

    - Ausência do princípio de localidade.

    Overlay: É uma técnica que divide o programa em módulos, de forma que seja possível a execução independente de cada modulo utilizando uma mesma área de memória;

    Alternativa: A


ID
599764
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Para aparentar dispor de uma grande quantidade de memória com tempo de acesso pequeno, um sistema hierárquico de memória opera

Alternativas
Comentários
  • Resposta: Letra "C"

    Um sistema hierárquico de memória opera buscando uma informação em um nível de ordem N+1 da hierarquia, somente após certificar-se de que essa mesma informação não está no nível N, superior na hierarquia.
  • Imagine que se deseje buscar um conteúdo em RAM, nível 3.  O sistema vai checar se este valor está em cache (nível 2) e se der um cache miss ele vai até a RAM (nível 3) e recupera o valor.  Que é o que está descrito na opção c.

  • Quando o processador deseja acessar uma informação, lá é o primeiro local de busca. Se o cache a tiver entre seus arquivos (quando ocorre o chamado cache hit), a varredura termina e o dado é executado imediatamente.

    O cache é dividido em níveis, de acordo com sua capacidade e proximidade com a CPU. Os dados do nível 1 são menores, porém de fácil acesso (atingindo até mesmo o dobro da velocidade da memória central). No nível 2 não há tanta rapidez, mas a transmissão ainda não é comprometida. As demais camadas seguem o mesmo princípio.


ID
605611
Banca
CESPE / CEBRASPE
Órgão
EBC
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Com relação aos princípios de sistemas operacionais, julgue os itens
seguintes.

Para que os sistemas operacionais tenham acesso direto à memória, é necessário haver, no computador, recurso de hardware controlador DMA (direct memory access).

Alternativas
Comentários
  • DMA visa melhorar a performance geral do micro, permitindo que os periféricos transmitam dados diretamente para a memória, poupando o processador de mais esta tarefa.

    Existem 8 portas de DMA e, como acontece com os pedidos de interrupção, dois dispositivos não podem compartilhar o mesmo canal DMA, caso contrário haverá um conflito.

    Normalmente o único componente que acessa a memória RAM da máquina é o processador. O recurso DMA permite que outros componentes (como controladores de disco, placas gráficas, de rede ou de som) também acessem a memória RAM diretamente, o que aumenta o desempenho na transferência de grande quantidade de dados. 

    Afirmativa CORRETA.

  • Ficaria mais correto assim: Para que os periféricos tenham acesso.....
  • Concordo plenamente  Silvio Danilo de Oliveira
    Do jeito que a questão está ela ficou confusa.

  • Na minha opinião, a questão está errada. É claro que o DMA proporciona o acesso direito à memória por parte dos periféricos. O SO não tem nada a ver com isso.
  • O DMA permite que certos dispositivos de hardware num computador acessem a memória do sistema para leitura e escrita independentemente da CPU. Muitos sistemas utilizam DMA, incluindo controladores de disco, placas gráficas, de rede ou de som.O acesso direto da memória é usado igualmente para transferência de dados de núcleos em processadores multi-core, em especial nos sistema-em-microplaquetas do processador, onde seu elemento de processamento é equipado com uma memória local ,e o acesso direto da memória é usado para transferir dados entre a memória local e a memória principal.

    O DMA é uma característica essencial dos computadores modernos. Normalmente o único componente que acessa a memória RAM da máquina é o processador. O recurso DMA permite que outros componentes também acessem a memória RAM diretamente, como discos rígidos, o que aumenta o desempenho na transferência de grande quantidade de dados. De outra maneira, a CPU teria que copiar todos os dados da fonte até o destino.
  • Questão completamente louca. Tá errada. Sistema operacional e DMA são conceitos que não se relacionam diretamente. Tem a ver com operações de E/S e a responsabilidade do processador de fazer a transferencia do requisitado nessa operação à memória.
  • Dúvida: caso uma questão parecida caia em outra prova da CESPE, o que devo fazer? Marcar errado e argumentar que já teve prova que caiu isso, ou marcar o certo?
  • Item correto.
    A questão não é louca como alguém aí disse. É que falta achar a referência certa da questão.
    Ela foi tirada do Tanenbaum, Modern Operating System, 3ª edição, página 334: "The operating system can only use direct memory access if the hardware has a DMA controller, which most systems do.".
  • O problema é que a referência citada pelo amigo não diz o que o enunciado afirma!! O que aconteceu aí foi uma tradução precipitada de quem elaborou a questão.
    A questão está errada! O enunciado para que a questão estivesse correta teria que ser:

    "Para que os sistemas operacionais SUPORTEM A TÉCNICA DE E/S (OU MECANISMO DE E/S) DE acesso direto à memória, é necessário haver, no computador, recurso de hardware controlador DMA (direct memory access)."

    Os examinadores deveriam prestar mais atenção ao elaborar questões, pessoas estudam anos para um concurso público e acabam
    não passando por causa de provas mal feitas!
  • Essa é a questão simples demais a ponto de manter a dúvida (típicas do Cespe).

    Também errei, mas a questão está mesmo correta.

    "Para que os sistemas operacionais tenham acesso direto à memória, é necessário haver, no computador, recurso de hardware controlador DMA (direct memory access)."

    Reformulando a afirmativa: "Os SOs só conseguem ter acesso direto à memória se houver um controlador DMA no hardware."

    É exatamente o que, por exemplo, afirma Tanenbaum: "O sistema operacional somente pode usar DMA (acesso direto à memória) se o hardware tem o controlador de DMA (...)"

  • pra mim estaria errado.

    A questão afirma que é necessário haver, no computador, recurso de HARDWARE controlador DMA (direct memory ACCESS).

    E antes de existir essa tecnologia ? funcionava nos SO.. pra mim questão errada.

  • A questão está correta!
    O DMA é uma forma dos dispositivos de I/O terem acesso direto a memória a RAM, o que aumenta o desempenho na transferência de grande quantidade de dados. Visto que o acesso a dispositivo de I/O através de barramentos periféricos é mais lento que a RAM.

  • Questão errada na minha opinião, pois o DMA diz repeito a E/S e a assertiva não trata em nenhum momento disso.

  • O sistema operacional somente pode usar DMA (acesso direto à memória) se o hardware tem o controlador de DMA

    Gabarito: C

  • Questão tava com cara da típica pegadinha do CESPE onde o examinador trocou periféricos por sistema operacionais, só que não.

     

  • Gabarito Certo

    O termo DMA é um acrónimo para a expressão em inglês Direct memory access. O DMA permite que certos dispositivos de hardware num computador acessem a memória do sistema para leitura e escrita independentemente da CPU. Muitos sistemas utilizam DMA, incluindo controladores de disco, placas gráficas, de rede ou de som.O acesso direto da memória é usado igualmente para transferência de dados de núcleos em processadores multi-core, em especial nos sistema-em-microplaquetas do processador, onde seu elemento de processamento é equipado com uma memória local ,e o acesso direto da memória é usado para transferir dados entre a memória local e a memória principal. Os computadores que têm os canais de acesso direto à memória podem transferir dados aos dispositivos com muito menos perdas gerais de processamento do que computadores sem uma via de acesso direto à memória. Similarmente um elemento de processamento dentro de um processador multi-core pode transferir dados para e de sua memória local sem ocupar seu tempo de processamento e permitir a simultaneidade de transferência de dados. Sem acesso direto da memória, usando a modalidade programada de entrada/saída (E/S) para uma comunicação com os dispositivos periféricos, ou as instruções da troca no caso dos núcleos multi-core, o processador central é ocupado inteiramente para a leitura ou escrita da operação, e assim não se torna possível executar o outro afazer. Com acesso direto da memória, o processador central executa transferências, faz outras operações enquanto alguma transferência estiver em andamento, recebe uma interrupção do controlador de acesso direto da memória uma vez que a operação foi feita.

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !

  • Isso aí minha gente. Questão porca típica da CESPE. Questões dúbias, que podem ser ditas certas ou erradas dependendo da interpretação do avaliador.

    Essas questões são elaboradas assim propositalmente, não para medir conhecimento, e sim para que a banca possa considerar a questão tanto certa como errada, ou até anular se for o caso, de forma a favorecer os candidatos que a banca/orgão quer favorecer, e prejudicar os demais. Assim eles podem ter uma certa autonomia na escolha dos aprovados.

  • dma - se resume em barramento?

    periféricos de baixa velocidade, se comunicam diretamente com a memória principal, sem precisa do processador, poupando desse esforço.

  • Não deveria ser " Para que os periféricos tenham acesso..."?!


ID
608338
Banca
IADES
Órgão
PG-DF
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

A maioria dos sistemas operacionais da atualidade utiliza o recurso chamado Memória Virtual. Uma das funções da Memória Virtual é a paginação ou troca (swapping). Assinale a alternativa que contém a afirmação correta a respeito do swapping.

Alternativas
Comentários
  • O Swapping é uma técnica utilizada para gerenciamento de memória. Nesta técnica, um processo é suspenso e todas suas páginas de memória são descarregadas para o disco (swap-out), liberando a memória para que algum outro processo possa executar. Quando o processo suspenso pode voltar para
    memória, as páginas do processo são novamente carregadas para a memória (swap-in).
  • A) O swapping, no contexto de memória virtual, pode ser traduzido como "troca de páginas". No contexto de inexistência de páginação, "troca de processos". Um programa pode ser de tamanho maior que a memória principal. No segundo contexto, esse programa deveria ser dividido pelo programador. No primeiro contexto, essa tarefa fica em cargo do sistema operacional e do hardware. Assim, um processo pode executar mesmo tendo
    um tamanho maior que a memória principal.


    B)A principal função do swapping é permitir um maior grau de multiprogramação.

    C)A técnica descrita é a memória virtual.

    D) Essa capacidade descrita é "plug and play".

    E)Não é mecanismo e a descrição é de memória virtual.
  • a) Swapping possibilita ao sistema operacional e às aplicações o uso de mais memória do que a fisicamente existente em um computador.
    * um tamanho maior que a memória principal. (gostei desse comentário, define a memória física)

    minha dúvida é:   fisicamente ou virtualmente a memória nunca será além das existente em um computador.
  • Apenas complementando, na verdade a capacidade descrita na letra D é chamada de Hot Swapping ou Hot Plugging.
  • Na realidade, swapping dá a ideia de que a memória principal é expandida, de que existe mais memória. Para isso ocorrer necessita-se ocupar o disco. Aquilo que foi ocupado no disco é a parte "estendida" da memória principal. E essa extensão pode ocorrer até o tamanho total do disco. Só que a questão afirma que "possibilita ao sistema operacional e às aplicações o uso de mais memória do que a fisicamente existente em um computador". Ao me ver dizer que pode-se usar mais memória do que "fisicamente" existe está errado. Dá a ideia de que é possível usar mais memória do que existe no computador. Isso não é verdade. Precisaríamos de mais hardware para expandir além do que existe fisicamente.

  • Gabarito: A.

     

    Só não concordo quando o conceito de swapping menciona algo semelhante a "uso de mais memória do que a fisicamente existente em um computador".

     

    A memória virtual possibilita utilização de memória maior do que a RAM, aproveitando o espaço em disco. Mas não é possível utilizar "mais memória do que a fisicamente existente". Se não existe memória, não tem como criá-la.

  • Gabarito A

    Swapping

    É uma técnica aplicada a gerência de memória, onde o sistema escolhe um programa residente que é levado da memória para o disco (Swapp out), retornando posteriormente para a memória principal com se nada tivesse ocorrido. Quando o programa tiver que ser executado novamente, então ele é novamente carregado para a memória principal (swapp in). Esta operação pode até causar o "swapp out" de um outro programa.

    Problemas: Ineficiência em função do tempo gasto em cada carregamento.

    Solução: Implementação no Hardware dos computadores para permitir que a relocação seja realizado durante a execução do programa.

    Vantagens :

    - Maior compartilhamento da memória - Maior throughput - Eficiente

    Desvantagens :

    - Elevados custos das operações de entrada e saída.




    "Retroceder Nunca Render-se Jamais !"

    Força e Fé !

    Fortuna Audaces Sequitur !

  • Memoria Virtual:

    Memória RAM esgotando-se, aproveitaremos então o HD. Essa memória é criada na instalação do SO, em uma área variável do Disco Rígido

    As principais características da memória virtual:

    • espaço variável e reservado no disco rígido.

    • criada na instalação do Sistema Operacional – (Windows, Linux...).

    • quando utilizada, o sistema fca extremamente lento.

    • pode receber outros nomes: page-fle, paginação, paginada, swap ou memória de troca.

    • reserva da memória RAM.

    ʕ•́ᴥ•̀ʔっ INSS 2020/21.

  • mesma questão. PF escravão 2018.


ID
638260
Banca
FUMARC
Órgão
PRODEMGE
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em relação ao funcionamento de sistemas operacionais, analise os itens a seguir e coloque (V) para a assertiva Verdadeira e (F) para a assertiva Falsa.
( ) A sondagem (polling) é uma abordagem alternativa à interrupção que consiste no teste de cada dispositivo de forma cíclica para identifcar o estado do hardware. Normalmente, aumenta o desempenho do sistema quando comparado às interrupções, pois diminui a sobrecarga do processador.

( ) No gerenciamento de memória, o fenômeno empírico que descreve eventos estreitamente relacionados em espaço ou tempo é chamado Localidade. Quando se trata de referências (acessos) à memória, Localidade Espacial ocorre quando processos se referem às mesmas localizações de memória repetidamente dentro de um curto período de tempo.

( ) Uma interrupção causada por instruções de um processo em execução é geralmente denominada desvio (trap) sendo considerada síncrona em relação à execução do processo.

( ) A paginação é uma técnica de organização de memória virtual que divide um espaço de endereçamento em blocos contíguos de tamanho fxo enquanto que a segmentação utiliza blocos contíguos de tamanho variável.
Assinale a opção com a sequência CORRETA, na ordem de cima para baixo.

Alternativas
Comentários
  • (F) A sondagem (polling) é uma abordagem alternativa à interrupção que consiste no teste de cada dispositivo de forma cíclica para identifcar o estado do hardware. Normalmente, aumenta o desempenho do sistema quando comparado às interrupções, pois diminui a sobrecarga do processador.
    Aumenta a sobrecarga do processador, pois estará trabalhando em tempo integral fazendo o ciclo de polling. Se usa-se interrupção, o processador seria acionando somente quando necessário

    (F) No gerenciamento de memória, o fenômeno empírico que descreve eventos estreitamente relacionados em espaço ou tempo é chamado Localidade. Quando se trata de referências (acessos) à memória, Localidade Espacial ocorre quando processos se referem às mesmas localizações de memória repetidamente dentro de um curto período de tempo.

    Localidade Temporal: Se um endereço é referenciado, tenderá a se-lo de novo em breve.
    Localidade Espacial: Se um endereço é referenciado, os endereços cont´?guos tenderao a ser referenciados em breve.

    ( V  ) Uma interrupção causada por instruções de um processo em execução é geralmente denominada desvio (trap) sendo considerada síncrona em relação à execução do processo.

    Um outro tipo de interrupção são as interrupções síncronas, muitas vezes também chamadas de traps. Traps ocorrem em consequência da instrução sendo executada.
    Fonte:
    http://www.inf.puc-rio.br/~inf1018/2010.2/interrupcoes.html

    (  V    ) A paginação é uma técnica de organização de memória virtual que divide um espaço de endereçamento em blocos contíguos de tamanho fxo enquanto que a segmentação utiliza blocos contíguos de tamanho variável

    Informação é mantida para segmentos de tamanho fixo da memória primária e secundária. Páginas da memória secundária são trazidas para os frames de páginas da memória principal.
    A segmentação agrupa itens relacionados logicamente em unidades de acesso (segmentos) de tamanho variável

    Fonte: http://www.cin.ufpe.br/~can/Arquivos/memhier.htm


ID
645175
Banca
FCC
Órgão
TJ-PE
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em relação a códigos de detecção de erro de memória, a distância de Hamming entre as palavras de código 10001001 e 10110001 é igual a

Alternativas
Comentários
  • 10001001
    10110001
    10XXX001

    O quantitativo de bits diferentes representa o código de hamming, ou seja 3 (representados pelo X).
  • Na teoria da informação, a distância de Hamming entre duas strings de mesmo comprimento é o número de posições nas quais elas diferem entre si. Vista de outra forma, ela corresponde ao menor número de substituições necessárias para transformar uma string na outra, ou o número de erros que transformaram uma na outra.
  • Técnico Judiciário, ele disse

  • Para determinar quantos bits apresentam diferenças, basta efetuar uma operação XOR entre as duas palavras de código e contar o número de bits 1 no resultado.
    Na questão, sendo 10001001 e 10110001, o XOR resulta em 00111000. No caso, há 3 bits diferentes.
    (Tanembaum Português, 5ª Ed., página 128)


ID
645178
Banca
FCC
Órgão
TJ-PE
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

O algoritmo que, além de realizar a substituição de páginas, também estabelece um tempo máximo que cada página pode permanecer ativa na memória, é denominado

Alternativas
Comentários
  • Working set: é o conjunto de páginas referenciadas por ele durante determinado intervalo de tempo, ou seja, é o conjunto de páginas constantemente referenciada pelo processo devendo permanecer na memória principal para que execute de forma eficiênte, evitando a elevada taxa de paginação (thrashing).
  • Correta: Letra D

    Working Set é um conceito formulado por Peter Denning e surgiu com o objetivo de reduzir o problema do trashing (excessiva transferência entre a memória principal e a memória secundária), e está relacionado ao princípio da localidade.

    O conceito de Working Set é definido como sendo o conjunto das páginas referenciadas por um processo durante um determinado intervalo de tempo.

    Fonte: Livro de Arquitetura de Sistemas Operacionais - Francis Berenger Machado e Luiz Paulo Maia - 4ª Edição
  • Só tem um problema nessa questão...
    Working Set é um conjunto, e não um algoritmo.

    o Working Set também não define tempo algum. 

    Alguem sabe se houve algum tipo de recursos contra esta questão?
  • Concordo plenamente contigo, Bernardo.
  • O WS é um algorítmo sim:

    Algoritmo de substituição de páginas WS
      O algoritmo WS (Working Set) possui a mesma política do LRU. No entanto, este algoritmo não  realiza apenas a substituição de páginas ele também estabelece um tempo máximo que cada página  pode permanecer ativa na memória. Assim, toda página que tem seu tempo de permanência  esgotado ela é retirada da memória. Portanto, o número de páginas ativas é variável. O WS  assegura que as páginas pertencentes ao working set processo permanecerão ativas em memória

    Fonte: http://www.riopomba.ifsudestemg.edu.br/dcc/dcc/materiais/58613113_AULA15-AlgoritmosdeSubstitui%C3%A7%C3%A3odeP%C3%A1ginas.pdf
  • Basicamente é uma especialização da pré-paginação, mantendo na memória um conjunto de páginas que foi referenciado em um intervalo de tempo determinado.
    No caso do processo sofrer swap, somente as páginas do WS serão carregadas no futuro.


    Na substituição de páginas seu objetivo é encontrar uma página que não esteja presente no conjunto de trabalho e removê-la da memória.

     

    Gabarito: D


ID
645193
Banca
FCC
Órgão
TJ-PE
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em relação à sistemas operacionais é correto afirmar:

Alternativas
Comentários
  • Qual seria o erro do ítem E?
  • Na paginação, o espaço de endereço de memória física é dividido em unidades chamadas páginas (FRAMES).

    No contexto dos sistemas operacionais, a paginação da memória do computador é um processo de virtualização da memória que consiste na subdivisão da memória física em pequenas partições (frames), para permitir uma utilização mais eficiente da mesma. As' 'frames da memória física correspondem a páginas de memória virtual. A alocação de memória é requisitada por páginas, a menor unidade deste método. Cada página é mapeada numa frame de memória através de um processo que chama paginação.
  •  Sistemas operacionais utilizam técnicas de paginação e segmentação para exercer o controle de acesso à memória primária, protegendo as áreas de memória de uma aplicação do acesso por outra aplicação.
  • O espaço de endereço virtual é dividido em unidades chamadas páginas. As unidades correspondentes na memória física são chamadas molduras de página (ou quadros). As páginas e as molduras (quadros) têm sempre exatamente o mesmo tamanho.

    http://pt.wikibooks.org/wiki/Sistemas_operacionais/Ger%C3%AAncia_de_mem%C3%B3ria

  • marilia santos,

    O erro da alternativa 'e' é dizer que a paginação divide a memória física em páginas, pois na verdade ela gera molduras de páginas. As 'páginas' são formadas pelo espaço de memória de um processo (contendo as instruções e os dados de um processo), e são armazenadas nessas molduras criadas pela paginação. As páginas possuem exatamente o mesmo tamanho das molduras.

  • Fui por eliminação:

    b) Throughput e turnaround são tempos de processo durante o escalonamento utilizados por sistemas operacionais.

    c) Parte do processo de gerenciamento das threads da categoria ULT (User-Level Thread) é realizado pelo sistema operacional.

    d) Remover o processo da memória principal e o colocar na memória secundária é uma técnica chamada SWAP.

    e) Na paginação, o espaço de endereço de memória física é dividido em unidades chamadas molduras de páginas.


ID
662305
Banca
FCC
Órgão
INFRAERO
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em relação ao gerenciamento de memória no Linux, é INCORRETO afirmar: ,

Alternativas
Comentários
  • D) Quando uma página sem armazenamento de apoio tem de ser jogada fora da memória, escolhe-se a partição ou o arquivo de paginação de mais alta prioridade que ainda possui espaço livre. Normalmente, quando existe uma partição de página, ela possui prioridade mais alta do que qualquer arquivo de paginação.


    Fonte: Sistemas Operacionais Modernos, 3ª Ed., pág. 474

  • Alguém comenta o B???

    Não pode haver fragmentação na memória?? Se ocorre fragmentação, a memória não necessariamente é contígua, correto???

  • George, a B faz referência particular à paginação.

    Vc deve ter em mente que existem dois tipos de fragmentação - interna e externa. Cada uma tem a sua particularidade!! Abaixo tento explicar um pouco...

     

    Na paginação, o tamanho da página na memória LÓGICA corresponde ao mesmo tamanho da página na memória FÍSICA!! E TODAS as páginas possuem tamanhos FIXOS (contíguas e homogêneas como citado na letra B).

    Na paginação ocorre APENAS a fragmentação interna. Aqui há o desperdício de uma página na memória, ou seja, aquele espaço na memória (página) não é totalmente preenchido e então desperdiçado.

     

    No caso de um programa ocupar mais do que uma página, ele será fragmentado para ocupar as respectivas páginas e não significa, necessariamente, que essas páginas sejam consecutivas... ocupando qquer página que tiver livre! Reforçando que a paginação não exige que o programa seja posto em páginas consecutivas.


    Diferente da segmentação, que exige que o programa seja armazenado de forma sequencial (consecutivo) e caso não haja espaço suficiente (mesmo haja pela soma dos espaços livres quebrados) isso gera a fragmentação externa.


ID
666106
Banca
FUNCAB
Órgão
MPE-RO
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

A quantidade de posições de memória que podem ser endereçadas com16 bits é:

Alternativas

ID
666130
Banca
FUNCAB
Órgão
MPE-RO
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Uma linguagem de programação pode ser convertida em código de máquina por compilação ou interpretação. Sobre a alocação de memória para programas compilados, é correto afirmar que:

Alternativas

ID
666133
Banca
FUNCAB
Órgão
MPE-RO
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

A cada dia que passa, os programadores necessitam de mais memória e mais programas rodando simultaneamente. Um importante ofensor do gerenciamento de memória é:

Alternativas
Comentários
  • Gabarito está D.

     

    Mas eu não entendi, não sei por que a Segmentação está cacacterizada como um ofensor do gerenciamento de memória.

     

    Não seria fragmentação?

  • Questão nível HARD! Precisa entender porque a melhor resposta é a letra D.

     

    a) Memória Virtual. Um meio que permite aos processos que exigem mais memória do que a disponível fisicamente possam ser executados. A memória virtual utiliza a memória secundária como extensão da memória principal.

    b) Memória Cache: tem o objetivo de melhorar o desempenho da CPU ao armazenar dados necessários para execução dos processos. Desonera a utillização da memória principal.

    c) Páginação.          - A ofensa ao gerenciamento de memória está dentre essas duas. Mas qual a pior? Explico abaixo.

    d) Segmentação.

    e) translation Lookaside Buffer: Funciona como uma memória cache, no processo de paginação, na tradução de end. virtual em físico.

     

    Diferenças entre PAGINAÇÃO e SEGMENTAÇÃO (uma é praticamente o contrário da outra)


    PAGINAÇÃO                                                SEGMENTAÇÃO
    Gera fragmentação interna;                             Gera fragmentação externa;
    Páginas de tamanhos fixos;                             Segmentos podem crescer ou diminuir diferente das páginas que possuem tamanho fixo;
    As páginas não precisam ser consecutivas;        O segmento necessita de um espaço de endereço sequencial;
    Como melhorar? TLB;                                      Como melhorar? Compactação;
    A MMU é auxiliada por "Tabelas de Páginas";     A MMU é auxiliada por "Registradores" (base e limite);
    Mapeamento ocorre por "Tabelas de Páginas".   Mapeamento ocorre por "Registradores".

     

    Na Paginação ocorre o TRASHING!
    Ou seja, toda vez que quero executar um programa, e não o encontro carregado na Memória Principal, tenho que ficar buscando na Memória Secundária e isso fica constantemente gerando "page fault". Logo, o SO fica consumindo mais tempo de processamento substituindo essas páginas do que utilizado a CPU para a execução dos processos.

     

    Na Segmentação ocorre a FRAGMENTAÇÃO EXTERNA!
    Aqui não acontece a fragmentação interna porque o segmento ocupa o tamanho necessariamente que ele precisa. Na segmentação temos a fragmentação externa, pois a segmentação exige um espaço contíguo de memória. Qdo esse espaço é liberado, há o aparecimento desses buracos, causando a fragmentação.
    Para resolver isso necessita realizar-se a Compactação.
    Não confunda aqui com compactação de arquivo, que é fazer com que o arquivo ocupe um espaço menor em disco.
    A compactação de memória é algo completamente diferente, pois esse procedimento faz com que os segmentos livres sejam reagrupados em uma área única, onde novos processos podem ser armazenados. Esse é um processo extremamente oneroso.

     

    Dessa forma, comparando Fragmentação Externa e Trashing, é menos pior que tenhamos o último, pois o trabalho realizado na memória para realizar a COMPACTAÇÃO é muito maior do que o problema gerado pelo TRASHING... e essa é a razão da alternativa D ser a correta, porque o maior ofensor no Ger. de Mem. é a Fragmentação (externa)... que só ocorre na Segmentação.

     

    Dê um pulo na questão Q51024... seus comentários são pertinentes.


ID
695203
Banca
FCC
Órgão
TRF - 2ª REGIÃO
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Quando a memória é alocada dinamicamente, o sistema operacional deve gerenciá-la, em termos gerais, de duas maneiras:

Alternativas
Comentários
  • mapa de bits e lista de disponíveis.

    O mapa de bits não se aplica a esse caso. O mapa de bits é útil para representar vários flags. Vamos supor que para cada pedido, a pessoa pudesse:
    1. Embalar para presente
    2. Usar caixa reciclada;
    3. Solicitar entrega noturna;
    4. Solicitar entrega apenas nos finais de semana.
  • Basicamente, existem dois modos de gerenciar o uso da memória: com mapa de bits ou com uma lista encadeada indicando os espaços ocupados e os disponíveis. No primeiro modo, a cada unidade de alocação da memória é atribuido um bit para dizer se a posição está livre ou ocupada.
    Assim, o conjunto de todos os bits é representado em uma tabela, denominada mapa de bits, que mapeia todas as posições de memória dizendo o estado de cada uma.

    Fonte: http://regulus.pcs.usp.br/~jean/so/AULA%2013%20-%20Ger%EAncia%20de%20Mem%F3ria.pdf

    Bons estudos!
  • São três formas de gerenciar o espaço livre:
    mapa de bits
    tabela de blocos livres encadeadas
    tabela de blocos livres
  • Quando se fala de memória alocada dinamicamente se refere principalmente ao espaço de memória. 
    Duas maneiras de gerenciar o espaço de memória:
    • Mapa de bits;
    • Lista encadeada ( lista de disponiveis) 
    Analisando as outras alternativas
    *Relocação:
    • Consiste em somar aos endereços gerados pelo compilador ou interpretador o endereço base do processo;
    • O compilador ou interpretador não sabe onde o programa será carregado na memória;
    Localizações de endereços de variáveis e de códigos não podem ser absolutos;
    *Proteção:
    • Evitar que um processo acesse o espaço de memória de outro processo;
    • Caso o processo tente acessar um endereço de memória maior que seu endereço limite, o SO não permite (um erro de execução é gerado).
    * Troca de processos
    • O SO aloca o processo por completo na memória;
    • Quando não há memória para alocar todos os processos, o SO faz o swapping de processos entre a memória e o disco;
    • O processo que é movido para o disco fica bloqueado.
    *Paginação
    • Utilizada na maioria dos sistemas com memória virtual ;
    • Os programas geram endereços virtuais;
    • A MMU (unidade de gerenciamento de memória) mapeia os endereços virtuais em endereços físicos (RAM);
    • Em computadores sem memória virtual, o endereço virtual é igual ao endereço físico.
    Fonte: Sistemas Operacionais Modernos (Tanenbaum) - 3 ª Edição
  • Questão retirada deste doc: https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CC8QFjAA&url=http%3A%2F%2Ffatecscs.files.wordpress.com%2F2009%2F10%2Fgerenciamento-de-memoria1.doc&ei=vvLSUNCVLqGR0gH0roDACA&usg=AFQjCNHFVD78O5pyvKcw64obmb0cUY1COw&bvm=bv.1355534169,d.dmQ&cad=rja

    "Quando a memória é alocada dinamicamente, o sistema operacional deve gerenciá-la. Em termos gerais, existem duas maneiras de fazer isso: com mapa de bits e lista de disponíveis."

    O Tanenbaum fala de mapa de bits e de listas encadeadas, não de "lista de disponíveis".
  • "Bacen", o Tanenbaum fala sim em "Lista de Disponíveis" no capítulo de Gerência de Memória.

    Esse nome não está no título, mas se você ler um pouco antes vai vê-lo escreve assim: "Quando a memória é alocada dinamicamente, o sistema operacional deve gerenciá-la. Em termos gerais, existem duas maneiras de fazer isso: com mapa de bits e lista de disponíveis."

    Achei interessante comentar isso, pois como percebemos, a fonte mais confiável em concurso é o Tanenbaum.

  • Lista de disponíveis = lista encadeada (lista ligada de segmentos alocados ou livres)

  • Segundo o livro Sistemas Operacionais modernos 3ed  de Tanenbaum pg 112

    Quando a memória é atribuída dinamicamente, o sistema operacional deve gerenciá-la. De mode geral, há dois modos de verificar a utilização da memória:

    Mapas de bits e

    Listas livres(disponíveis)


ID
695206
Banca
FCC
Órgão
TRF - 2ª REGIÃO
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Quando segmentos de memória alocados a processos e segmentos de memória livres são mantidos em uma lista ordenada por endereço, é possível utilizar diversos
algoritmos para alocar memória a um processo recém criado. Presumindo que o gerenciador de memória saiba o tamanho de memória que deve ser alocada ao processo, ele procurará ao longo da lista de segmentos de memória por um segmento livre que seja suficientemente grande para esse processo. O segmento é quebrado em duas partes, se for o caso, sendo uma parte alocada ao processo e a sobra transforma-se em um segmento de memória livre. O texto trata do algoritmo

Alternativas
Comentários
  •  

    Algoritmo da primeira alocação (first fit): procura-se pelo primeiro espaço na lista o suficientemente grande para armazenar o processo. É um algoritmo rápido pois ele gasta o tempo mínimo em procura. Se o processo não ocupa todo o espaço o restante é disponibilizado como buraco na lista. A pesquisa por espaço sempre inicia na parte baixa de memória, independentemente dos locais escolhidos para alocar os dados.
    Algoritmo da melhor alocação (best fit): busca em toda a lista o espaço cujo o tamanho seja o mais próximo possível do tamanho do processo. Este algoritmo é mais lento que o anterior pois precisa pesquisar em toda a lista para descobrir qual a melhor opção.
    A algoritmo da próxima alocação (next fit): semelhante ao first-fit, só que a próxima alocação inicia com uma busta a partir da página onde terminou a alocação anterior e não da parte baixa da memória.
    Algoritmo da pior alocação (worst fit): procura pelo maior espaço capaz de armazenar o processo, de tal forma que o espaço restante seja grande o suficiente para armazenar outro processo.
     
  • Eu entendi que a lista está ordenada, porém ele procura um espaço "suficientemente grande" ao longo da lista, e não o primeiro que acha nesta condição. Esta questão foi muito mal formulada.

  • Essa questão foi muito mal formulada, pois de acordo com o livro do Galvin, Gagne e Silberschatz na página 171, quando estão falando de "Gerenciamento de memória" e cita de forma bem clara: "Primeiro apto (First Fit) - Aloca o primeiro intervalo que seja suficientemente grande. A busca pode começar tanto no início do conjunto de intervalos como na localização onde a busca anterior pelo primeiro apto terminou. Podemos encerrar a busca assim que encontrarmos um intervalo livre que seja suficientemente grande."
  • Como satisfazer a uma requisição de tamanho n a partir de uma lista de blocos livres

    •  First-Fit: Aloca o primeiro bloco com tamanho suficiente

    •  Best-Fit: Aloca o menor bloco com tamanho suficiente; é necessário procurar a lista inteira, a menos que esteja ordenada por tamanho. Produz o menor bloco restante

    •  Worst-Fit: Aloca o maior bloco; também é necessário procurar a lista inteira. Produz o maior bloco restante. 

    First-Fit e Best-Fit são melhores que Worst-Fit em termos de velocidade e utilização de armazenamento.


  • questão mal explicada, eu entendi com esse trecho: "ele procurará ao longo da lista de segmentos de memória por um segmento livre que seja suficientemente grande ..." que ele vai percorrer todos os segmentos de memoria, achar o que seja suficientemente grande e alocar. o frst-fit encontra o primeiro que seja suficientemente grande e aloca, e encerra a busca, o best-fit, procura o espaço mais próximo ao necessário, que seja grande o suficiente, mas antes ele percorre toda a lista.

  • Conforme o enunciado da questão, confundi com a técnica de Best-Fit.

  • É uma questão de interpretação, quando eu li a primeira vez eu não tinha certeza da resposta correta, mas após analisar esse trecho: "ele procurará ao longo da lista de segmentos de memória por um segmento livre que seja suficientemente grande para esse processo.", cheguei a conclusão que a resposta correta é o First Fit letra C.
    Já que esse algoritmo ordena a lista por endereço, e a medida quando ele sai percorrendo a lista, no momento que ele encontrar um espaço que seja grande o suficiente para alocar seu processo ele aloca e para por aí mesmo!

  • First fit -> ganha em velocidade para alocação do processo, mas pode prejudicar o desempenho. É aquele cara que chega no auditório e senta na primeira cadeira da ponta da fileira mesmo que tenham outras cadeiras vazias. A medida que outras pessoas vão chegado o negócio vai ficando caótico.

    Best fit -> perde em velocidade de alocação do processo em prol da manutenção de um bom desempenho ao longo da execução do programa. É o cara que chega no auditório e percorre todo o espaço a procura de um lugar para sentar de modo que não atrapalhe ninguém, ou o mínimo de pessoas. E esse cara gosta de ficar perto das pessoas.

    Worsk fit -> perde em velocidade de alocação do processo e privilegia o maior segmento vazio. É o cara que chega no auditório, percorre todo o espaço e escolhe aquele lugar mais vazio. Lá, ele vai atrapalhar o maior número de pessoas ou, talvez, não atrapalhe ninguém. Depende do quórum da palestra.

  • O unico que procurará ao longo da lista e o First fit;

  • Mal formulada, deveria informar que aloca no primeiro segmento livre. O termo "SUFICIENTEMENTE GRANDE" apenas, quer dizer muita coisa.

  • A interpretação ficou sutil... requer atenção.

    .
    Com base no argumento "procurará por um segmento livre", vamos analisar:
    Ele não mencionou o segmento de tamanho mais adequado, por isso descarta-se a letra C (BF);
    Como não citou uma referência ao último armazenamento, então descarta-se a letra A (NF);
    Ele tbém não cita o maior espaço entre todos os disponíveis... então descarta-se a letra D (WF);
    Logo só pode ser a letra B.
    Não existe o algoritmo presente na letra E.

    .

    FF - procurará o primeiro espaço livre suficiente que caiba o processo
    NF - procurará o primeiro espaço livre suficiente que caiba o processo e que seja de forma mais contígua possível ao seu último armazenamento.
        -> Se for o primeiro processo, será o primeiro espaço na MP que encontrar. Ele guarda a posição, por meio de ponteiro, de seu último armazenamento para a próximo processo a ser alocado.
    BF - Melhor alocação baseada no espaço mais adequado, com o tamanho mais próximo possível do tamanho do processo caso não encontre um espaço igual ao tamanho do processo.
    WF - Alocação baseada no maior espaço dentre todos os espaços presentes, e que caiba o processo.

     

  • b-

    first fit é um tipo de greedy algorithm. Ele pega uma liga de blocos disponiveis e aceita o 1° com tamanho suficiente para acomodar o processo. Se o bloco for muito maior do que necessario, ele é dividido, e o bloco sem nada colocado na lista como disponivel


ID
702916
Banca
AOCP
Órgão
BRDE
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em gerência de memória, temos vários tipos de alocação. Analise as assertivas e assinale a alternativa que aponta a(s) correta(s) sobre alocação contígua simples.

I. A alocação contígua simples foi implementada nos primeiros sistemas operacionais desenvolvidos, porém ainda está presente em alguns sistemas monoprogramáveis.

II. Com a alocação contígua foi eliminado o conceito de partições de tamanho fixo.

III. Neste tipo de alocação, o tamanho das partições eram estabelecidas no momento da inicialização do sistema, em função do tamanho dos programas que executariam no ambiente.

IV. Na alocação contígua simples a memória principal é divida em duas partes: uma para o sistema operacional e outra para o programa do usuário.

Alternativas
Comentários
  • I. A alocação contígua simples foi implementada nos primeiros sistemas operacionais desenvolvidos, porém ainda está presente em alguns sistemas monoprogramáveis. Correto, apesar de eu não fazer idéia de qualquer SO que ainda utilize o conceito de alocação contígua simples
    II. Com a alocação contígua foi eliminado o conceito de partições de tamanho fixo. Errado, foi o contrário
    III. Neste tipo de alocação, o tamanho das partições eram estabelecidas no momento da inicialização do sistema, em função do tamanho dos programas que executariam no ambiente. Errado, o tamanho das partições é determinada no carregamento dos processos
    IV. Na alocação contígua simples a memória principal é divida em duas partes: uma para o sistema operacional e outra para o programa do usuário. Correto, a parte dos processos é por sua vez dividida entre os processos a medida que estes são carregados
  • Em complementação ao comentário acima:
    Alocação contígua de memória: para executar um programa em computadores antigos, o operador do sistema ou sistema operacional tinha de encontrar na mémória principal espaço contíguo suficiente para acomodar o programa inteiro. Se isso não fosse possível, o programa não poderia ser executado. Esta era a alocação utilizada nos sistemas antigos monousuários.
    Alocação não contígua de memória: um programa é dividido em blocos ou segmentos que o sistema pode colocar em espaços não adjacentes da memória principal. Isso permite a utilização de lacunas não utilizadas por outros programas e que não seríam grandes o suficiente para alocar programas inteiros.
  • Neste tipo de alocação, não existe particionamento. Existe uma área para o sistema operacional e uma área para o programa do usuário (no singular, pois ele só permite um usuário). Logo, as letras b e c estão erradas.
  • Qual o sentido de elaborar a I? Obviamente ela não poderia estar errada, pois isso eliminaria toda as alternativas.

ID
705220
Banca
UPENET/IAUPE
Órgão
JUCEPE
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

O gerenciador de memória é responsável por gerenciar a hierarquia de memória em um sistema operacional. Analise os conceitos abaixo relacionados.
I. Nos sistemas de monoprogramação, é possível executar somente um processo por vez.
II. Nos sistemas de multiprogramação, é possível executar múltiplos processos simultaneamente. Quando não há memória principal suficiente para armazenar todos os processos ativos, então os processos em excesso são mantidos no disco e trazidos de lá para execução dinamicamente.
III. Swap é uma estratégia para o gerenciamento de memória que permite que os programas executem, mesmo quando estão apenas parcialmente na memória principal.
IV. Memória virtual é uma estratégia para o gerenciamento de memória que consiste em trazer cada processo inteiro, executá-lo temporariamente e devolvê-lo ao disco.

Assinale a alternativa CORRETA.

Alternativas
Comentários
  • Na minha humilde opinião, discordo dessa resposta, letra C.

    Acredito que apenas a alternativa I é verdadeira.

     

    A II está errada em afirmar que " sistemas de multiprogramação, é possível executar múltiplos processos simultaneamente". APENAS em sistemas MULTIPROCESSADOS há a existência da simultaneidade. Na multiprogramação temos apenas a processos CONCORRENTES! Por favor, fiquem à vontade para discussão.

     

    III e IV estão com os conceitos trocados. Na III deveria mencionar "Memória Virtual", pois ela está relacionada à execução parcial. E no IV deveria mencionar o Swap, onde o processo INTEIRO é trazido ou levado da memória principal ao disco.

  • Swap é uma estratégia para o gerenciamento de memória que permite que consiste em trazer cada processo inteiro, executá-lo temporariamente e devolvê-lo ao disco.

  • Concordo com o Lucc O.

    Simultaneidade só há em sistemas multiprocessados.

    .

    At.te

    Foco na missão ❢


ID
705223
Banca
UPENET/IAUPE
Órgão
JUCEPE
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Sistemas de memória virtual podem usar uma técnica denominada paginação, em que o espaço de endereço virtual é dividido em unidades chamadas páginas. Uma falha de página ocorre quando um programa tenta usar uma página não mapeada, com isso o sistema precisa escolher uma página para remover da memória e dar lugar a uma página que precisa ser carregada. Analise os itens abaixo sobre algoritmos de paginação.
I. Um algoritmo que, a cada falha de página, seleciona aleatoriamente uma página para remover da memória possui como característica melhorar o desempenho do sistema.
II. Um algoritmo de substituição de página do tipo primeira página a entrar é a primeira página a sair em uma falha de página; a página no topo da lista é removida, e a nova página é adicionada no fim da lista.
III. Um algoritmo de substituição de página que seleciona a página menos recentemente utilizada remove a página que não foi utilizada por mais tempo

Assinale a alternativa CORRETA.

Alternativas
Comentários
  • Apresenta um bom desempenho substituindo as páginas menos recentemente usadas. Se a página está sendo intensamente referenciada pelas instruções é provável que ela seja novamente referenciada pelas instruções seguintes.


    Fonte: Ricardo Barcelar.

    http://www.ricardobarcelar.com.br/aulas/so/aula6-mem_virtual.pdf

  • d-

     II. Um algoritmo de substituição de página do tipo primeira página a entrar é a primeira página a sair em uma falha de página; a página no topo da lista é removida, e a nova página é adicionada no fim da lista.

    correto. pe o famoso algoritmo FIFO, exigindo pouco do SO. as paginas novas no final, as velhas na frente. a mais antiga sai quando paging é necessario

    III. Um algoritmo de substituição de página que seleciona a página menos recentemente utilizada remove a página que não foi utilizada por mais tempo- esse é o nfu (not frequently used) o algoritmo mantém controle de quais paginas foram referenciadas, e a que tiver menos referencias é indicada para swap

  • Alguém poderia comentar a a primeira? por que está errada? não era pra ser o algoritmo randômico?


ID
713251
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

No contexto de sistemas operacionais, qual mecanismo de entrada e saída é mais eficiente para um grande volume de informações, onde as operações são realizadas sem a intervenção do processador?

Alternativas
Comentários
  • Bem escroto esse gabarito ai hein.
     

    E/S orientada à interrupção

    Diferentemente da E/S programada, em que a CPU fica verificando o dispositivo para saber se ele está pronto para mais operações ou se terminou, na E/S orientada à interrupção, a CPU passa a realizar outras tarefas escalonadas até que seja informada pelo dispositivo, por meio de uma interrupção, que este está pronto para mais caracteres ou concluiu sua tarefa. Quando isso acontecer, o processador para o que está fazendo para executar o tratador de interrupção, quando sua execução estiver terminada, o processador volta à rotina que foi interrompida inicialmente.

    Para que seja empregada essa política de interrupções existem detalhes de software e de hardware que devem ser atendidos, e para que esses detalhes sejam executados, a maioria dos computadores possuem um hardware denominado controlador de interrupções. As principais funções do controlador de interrupções são:

    identificar a fonte da interrupção;

    priorizar uma interrupção em relação a outra;

    selecionar quais interrupções serão atendidas.

    O emprego de interrupções libera o computador para realizar cálculos, então o processador fica responsável apenas por iniciar a operação de entrada-saída, e quando esta for concluída, executar o tratador de interrupção.

    fonte: https://pt.wikibooks.org/wiki/Sistemas_operacionais/Ger%C3%AAncia_de_dispositivos_de_entrada_e_sa%C3%ADda#Interrup%C3%A7%C3%A3o

  • a-

    Através do DMA (direct memory access), é possível gravar dados diretamente na memória, deixando assim a CPU livre para outras atividades.


ID
726934
Banca
INSTITUTO CIDADES
Órgão
TCM-GO
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

A alocação de memória está dividida em partes. Em qual parte a decisão da alocação é tomada quando o programa é compilado?

Alternativas
Comentários
  • Não dá para levar a sério uma banca que "elabora" uma questão assim.
  • Alocação de memória:

    - Estática = tempo de compilação

    - Dinâmica = tempo de execução

  • A alocação de memória está dividida em 3(três) partes:

    1) Alocação Estática: Decisão tomada quando o programa é compilado.

    2) Alocação Dinâmica: Decisão é adiada até a execução. (Permite Swapping)

    3) Alocação Local: Este processo de alocação é usado para variáveis que são locais a funções e sub-rotinas.

    Resposta: B

  • b-

    ALocação estática é quando o programa é compilado para alocar na memoria espaço necessario para variáveis declaradas de tamanho fixo. Um exemplo é o array, cujo tamanho não altera. Criando linked list, stack & queue permite alocação de memoria dianmica porque sao estruturas de tamanho variavel


ID
783355
Banca
CESGRANRIO
Órgão
BNDES
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Na memória virtual por paginação, o espaço de endereçamento virtual e o espaço de endereçamento real são divididos em blocos do mesmo tamanho chamados páginas. Na memória virtual por segmentação, o espaço de endereçamento é dividido em blocos de tamanhos diferentes chamados segmentos. Na memória virtual por segmentação com paginação, o espaço de endereçamento é dividido em

Alternativas
Comentários
  • Resumindo:
    Memória virtual -> é o conceito que permite a um programa alocar um espaço de memória (virtual) superior ao espaço de memória real contida no computador.
    Na memória virtual por paginação, o espaço de endereçamento virtual e o espaço de endereçamento real são divididos em blocos do mesmo tamanho chamados páginas.
    Na memória virtual por segmentação, o espaço de endereçamento é dividido em blocos de tamanhos diferentes chamados segmentos. Aqui os tamanhos dos segmentos variam de acordo com a necessidade do processo que está rodando.
    Na memória virtual por segmentação com paginação, o espaço de endereçamento é dividido em segmentos e estes são divididos em páginas. Ou seja, os segmentos são múltiplos de páginas.
    Fragmentação interna -> ocorre na paginação -> é quando sobra espaço na última página alocada a um processo.
    Fragmentação externa -> ocorre na segmentação-> é quando os epaços entre os segmentos são tão pequenos que não são servem para ser utilizados por nenhum processo.
    A segmentação por paginação elimina o problema da fragmentação externa encontrado na segmentação pura.
  • Memória Virtual

    Por Paginação: O espaço de endereçamento virtual e o espaço de endereçamento real são divididos em blocos do mesmo tamanho chamados páginas.

    Por Segmentação: O espaço de endereçamento é dividido em blocos de tamanhos diferentes chamados segmentos.

    Por Segmentação com Paginação: O espaço de endereçamento é dividido em segmentos e estes são divididos em páginas, ou seja, os segmentos sao múltiplus de páginas.
    * Dividido em páginas, o que elimina o problema da fragmentação externa encontrad na segmentação pura.
  • Destaquei em vermelho os pontos errados.

     

    Na memória virtual por segmentação com paginação, o espaço de endereçamento é dividido em:

     a) segmentos e, por sua vez, cada segmento dividido em páginas, o que elimina o problema da fragmentação externa encontrado na segmentação pura.

     b) segmentos e, por sua vez, cada segmento dividido em páginas, o que elimina o problema da fragmentação interna encontrado na segmentação pura.

     c) segmentos e, por sua vez, cada segmento dividido em páginas, o que elimina o problema da fragmentação interna encontrado na paginação pura.

     d) páginas e, por sua vez, cada página dividida em segmentos, o que elimina o problema da fragmentação externa encontrado na segmentação pura.

     e) páginas e, por sua vez, cada página dividida em segmentos, o que elimina o problema da fragmentação interna encontrado na segmentação pura.

  • paging - fragm interna

    segmentacao - fragm externa


ID
786355
Banca
ESAF
Órgão
MI
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

No gerenciamento de memória do Linux,

Alternativas
Comentários
  • As zonas de memória são: DMA, NORMAL e HIGHMEM

  • a) Incorreta, segmento de dados é o local de armazenamento de todas as variáveis do programa, das cadeias de caracteres, dos vetores e de outros dados.

    b) Incorreta, quando um programa se inicia, sua pilha não está vazia, pelo contrário: ela contém todas as variáveis de ambiente assim como a linha de comando digitada no shell quando ele foi invocado.

    c) e d) Incorreta, conforme citado pelo colega Fábio;

    e) CORRETA, gabarito da questão;


ID
788686
Banca
CESGRANRIO
Órgão
Transpetro
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Uma aplicação que apoia a operação de uma grande empresa faz muitos acessos à memória. Para saber se a política de atualização do cache do servidor dessa aplicação está adequada, verificou-se que a taxa de acertos (hit rate) do cache é de 97%.

Considerando que foram feitos 300.000 acessos no total, que o tempo por acerto (tempo por hit) é de 70ns e que o tempo por falha (tempo por miss) é de 3000ns para este mesmo cache, qual o tempo, em ns, de acesso efetivo?

Alternativas
Comentários
  • Cálculo:

    (97% * 70) + (3% * 3000)

    Resposta: 157,9

     


ID
800725
Banca
Exército
Órgão
EsFCEx
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

No espaço de memória de um sistema computacional, qual área é reservada pelo sistema operacional para a alocação dinâmica de memória?

Alternativas
Comentários
  • A HEAP é uma região da memória do seu computador que não é gerenciada automaticamente para você, e não é tão bem gerenciada pela CPU. Para alocar memória no heap, você deve usar malloc() ou calloc(), que são funções C embutidas.

    STACK é uma estrutura de dados LIFO, gerenciada e otimizada pela CPU. Toda vez que uma função declara uma nova variável, ela é "empurrada" para a pilha. Então, cada vez que uma função sai, todas as variáveis empurradas para a pilha por essa função, são liberadas (isto é, elas são excluídas).


ID
812974
Banca
AOCP
Órgão
TCE-PA
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Sobre a técnica de swapping utilizada nos Sistemas Operacionais, assinale a alternativa correta.

Alternativas
Comentários
  • https://pt.wikipedia.org/wiki/Swapping

  • Swapping - remover um processo da MP para a memória secundária (swap out) e trazê-lo de volta da memória secundária para a MP (swap in).


ID
829795
Banca
CESGRANRIO
Órgão
Innova
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Considere um sistema cuja gerência de memória é feita através de partições variáveis. Nesse sistema, existem as seguintes partições variáveis, conforme mostrado no quadro abaixo:

M1      M2      M3      M4      M5      M6      M7
11k     5k       20k    22k      8k       11k     11k


Sejam 7 processos executados com os seguintes tamanhos: P1= 5K, P2 =11K, P3 =16K, P4 = 8K, P5 = 4K, P6 = 8K e P7 = 6K.

O arranjo entre as partições e os processos, após a execução do algoritmo de alocação de memória best-fit, é

Alternativas
Comentários
  • Pra variar, a questão ta mal formatada, ajuda ai Qconcursos!

    Temos o conceito: best-fit pesquisa a lista inteira e escolhe o menor segmento de memória livre que seja adequada o processo;

    M1.. M2 .M3 ..M4.. M5 .M6. M7

    11K .5K. 20K .22K. 8K 10K 11K

    P1 = 5K,

    P2 =11K;

    P3=16K;

    P4 =8K;

    P5 =4K;

    P6 =8K ;e

    P7 =6K. 

    Seguindo o passo a passo:

    1) Iremos alocar o P1 no partição M2, 'menor segmento de memória'

    2) Alocaremos P2 na partição M1;

    Neste momento nosso arranjo está:

    M1:P2 Sobra: 0k

    M2:P1 Sobre: 0k

    M3:

    M4:

    M5:

    M6:

    M7:

    3) Alocaremos P3 na partilção M3, sobrará 4 K, ou seja,a lista será atualizada e M3 = 4K

    M1:P2 Sobra 0k

    M2:P1 Sobra 0k

    M3:P3 Sobrea 4k

    M4:

    M5:

    M6:

    M7:

    4) Alocaremos P4 na partição M5:

    M1:P2 Sobra 0k

    M2:P1 Sobra 0k

    M3:P3 Sobra 4k

    M4:

    M5: P4 Sobra: 0k

    M6:

    M7:

    5) Alocaremos P5 na partição M3( Talvez vc pergunte: Mas ela não ta ocupada? Respondo: Lembra que sobrou 4 K, os exatos 4k que precisamos aqui para alocar o processo P5)

    M1:P2 Sobra 0k

    M2:P1 Sobra 0k

    M3:P3, P5 Sobra 0k

    M4:

    M5: P4 Sobra: 0k

    M6:

    M7:

    6) Alocaremos P6 na partição M6:

    M1:P2 Sobra 0k

    M2:P1 Sobra 0k

    M3:P3, P5 Sobra 0k

    M4:

    M5: P4 Sobra: 0k

    M6: P6 Sobra 2k

    M7:

    7) Alocaremos P7 na partição M7, pois sobre menos espaço que a partição M4

    M1:P2 Sobra 0k

    M2:P1 Sobra 0k

    M3:P3, P5 Sobra 0k

    M4:

    M5: P4 Sobra: 0k

    M6: P6 Sobra: 2k

    M7: P7 Sobra:5k

    8) Não há mais processos para alocarmos, portanto o GABARITO DA QUESTÃO: ALTERNATIVA B

    M1:P2

    M2:P1

    M3:P3, P5

    M4:

    M5: P4

    M6: P6

    M7: P7


ID
853492
Banca
ESAF
Órgão
MDIC
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

A técnica de buffering consiste na

Alternativas
Comentários
  • Um buffer é uma pequena área de memória ultra-rápida usada para melhorar a velocidade de acesso a um determinado dispositivo. É encontrado em HDs, gravadores de CD, modems, e muitos outros. Apesar de serem sinônimos, o termo "buffer" é mais usado em relação aos dispositivos anteriormente citados enquanto o termo "cache" é mais usado com relação aos processadores e memória RAM.


    Embora não seja tão importante para o desempenho quanto geralmente se pensa, o buffer permite à controladora do HD executar um conjunto de operações úteis para melhorar o desempenho.


    Geralmente ao ler um arquivo, serão lidos vários setores sequenciais. A forma mais rápida de fazer isso é, naturalmente, fazer com que a cabeça de leitura leia de uma vez todos os setores da trilha, passe para a trilha seguinte, passe para a terceira e assim por diante. Isso permite obter o melhor desempenho possível.


    O problema é que na prática não é assim que funciona. O sistema pede o primeiro setor do arquivo e só solicita o próximo depois de recebê-lo e certificar-se de que não existem erros.


    Se não houvesse nenhum tipo de buffer, a cabeça de leitura do HD acabaria tendo que passar várias vezes sobre a mesma trilha, lendo um setor a cada passagem, já que não daria tempo de ler os setores sequencialmente depois de todo tempo perdido antes de cada novo pedido.


    Graças ao buffer, este problema é resolvido, pois a cada passagem a cabeça de leitura lê todos os setores próximos, independentemente de terem sido solicitados ou não. Após fazer sua verificação de rotina, o sistema solicitará o próximo setor, que por já estar carregado no buffer será fornecido em tempo recorde.


    Fonte: http://www.hardware.com.br/termos/buffer

  • Letra D.

  • Buffering

    - Utiliza uma área da memória principal para a transferência dos dados entre os dispositivos de E/S e a memória.

    - Minimizar o problema de disparidade da velocidade de processamento entre o processador e os dispositivos de entrada e saída.

    - O objetivo do buffering é manter o processador e os dispositivos de E/S ocupados;

    Alternativa: D


ID
853501
Banca
ESAF
Órgão
MDIC
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Assinale a opção correta.

Alternativas
Comentários
  • Alocação Contigua

    - Consiste em armazenar um arquivo em blocos sequencialmente dispostos no disco. 

    - O sistema localiza um arquivo através do endereço do primeiro bloco e da sua extensão em blocos;

    - O acesso a arquivos é simples tanto para forma sequencial quanto para forma direta;

    - Apresenta o problema o de fragmentação dos espaços livres;

    Alocação Encadeada

    - Um arquivo pode ser organizado como um conjunto de blocos ligados logicamente no disco, independente da sua localização física;

    - Cada bloco deve possuir um ponteiro para o bloco seguinte do arquivo.

    Alocação Indexada

    - Mantem os ponteiros de todos os blocos do arquivo em uma única estrutura denominada bloco de índice;

    - Permite o acesso direto aos blocos dos arquivos;

    Alternativa: C


ID
869557
Banca
VUNESP
Órgão
TJ-SP
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Dentre as principais estratégias de alocação do espaço de memória física de um computador nos sistemas com multiprocessos, têm-se a

Alternativas
Comentários
  • Gabarito A

    Multiprogramação com Partições Fixas: consiste em dividir a memória existente em n partições fixas, podendo ser de tamanhos diferentes. Essas partições poderiam ser criadas ao inicializar o sistema pelo operador.

     

    Gerenciamento com Listas Encadeadas: mantemos uma lista encadeada de segmentos alocados e livres, sendo que cada segmento é um processo ou um buraco entre dois processos. A lista apresenta-se em ordem de endereços, e quando um processo termina ou é enviado para o disco, e a atualização da lista ocorre da seguinte maneira: cada processo, desde que não seja nem o primeiro nem o último da lista, apresenta-se cercado por dois segmentos, que podem ser buracos ou outros processos. Os buracos adjacentes devem ser combinados num único. Para escolher o ponto em que deve ser carregado um processo recém criado ou que veio do disco por uma troca, vamos utilizar alguns algoritmos assumindo que o gerenciador de memória sabe quanto espaço alocar no processo:

    First Fit (primeiro encaixe): percorrer a fila até encontrar o primeiro espaço em que caiba o processo. É um algoritmo rápido.

    Next Fit (próximo encaixe): o mesmo que o algoritmo anterior, só que ao invés de procurar sempre a partir do início da lista, procura a partir do último ponto em que encontrou. Desempenho próximo ao anterior.

    Best Fit (melhor encaixe): consiste em verificar toda a lista e procurar o buraco que tiver espaço mais próximo das necessidades do processo. É mais lento, e desempenho pior que o First Fit

    Worst Fit (pior ajuste): pega sempre o maior buraco disponível. Desempenho ruim.

     

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !


ID
885052
Banca
CESPE / CEBRASPE
Órgão
ANP
Ano
2013
Provas
Disciplina
Sistemas Operacionais
Assuntos

Acerca de sistemas operacionais, julgue os itens a seguir.

No gerenciamento de memória, caso um programa seja inicializado duas vezes, o sistema operacional pode compartilhar todas as páginas de texto, mantendo somente uma cópia em memória. Esse recurso mantém páginas de texto apenas para leitura e permite que os processos façam modificação na página de dados. Esse procedimento para modificação dos dados compartilhados denomina-se bibliotecas compartilhadas.

Alternativas
Comentários
  • Errado. O gerenciamento de memória do sistema operacional pode compartilhar algumas informações, mas não TODAS as páginas de texto. Normalmente o que acontece nos sistemas desktop, é a execução em cópia do aplicativo completo em duas áreas da memória distintas, quando não existe sistema de detecção para evitar (por exemplo, MSPaint).
  • Segundo o Tanembaum: "If a program is started up twice, most operating systems will automatically share all the text pages so that only one copy is in memory. Text pages are always read-only, so there is no problem here".
    Então os dois primeiros períodos da questão estão corretos, e o erro está em: "Esse procedimento... compartilhadas".
  • A inicialização de um programa duas vezes, em geral, faz com que os dois programas compartilhem as páginas de código (que são read-only). Isso permite economizar memória.
    O erro está em "Esse procedimento para modificação dos dados compartilhados denomina-se bibliotecas compartilhadas". Bibliotecas compartilhadas são um conjunto de funções alocadas em código independente para ser carregado por múltiplos programas. Elas também utilizam o método de compartilhar a parte de código entre os processos. Porém, esse não é o nome dado quando se invoca o mesmo programa.
  • Pg 137 do livro do Tanenbaum - 3 ed
  • E alguém sabe como chama o procedimento para modificação dos dados compartilhados?
  • O erro está em falar "Esse procedimento para modificação dos dados compartilhados (...)". Os dados compartilhados não serão modificados.
    Percebam que as páginas de texto é que serão compartilhadas e elas serão somente leitura como o próprio texto diz (e essa afirmação está no livro do Tanenbaum). As páginas de dados é que serão modificadas e elas não são compartilhadas.
  • Eu atribuo esse procedimento ao conceito de reentrância. 

  • Sou fã do Nishimura. Mas, nesse caso, o comentário feito por ele não está correto.

     

    Quando a questão fala em compartilhar as páginas de memória de TEXTO, é preciso compreender que a área de TEXTO é a área onde o PROGRAMA será alocado. O PROGRAMA (texto) é o mesmo, em todas as execuções. Logo, é correto que o SO pode compartilhar TODAS as páginas de texto, sem problemas. O que não dá pra compartilhar é a PILHA do programa.

     

    O erro está em afirmar que esse seria o contexto de "biblioteca compartilhada". Biblioteca compartilhada seriam, por exemplo, as LIBs no Linux ou as DLLs no Windows.

     

    O conceito trazido pela questão é o de reentrância. E é justamente o nome do conceito que torna a assertiva errada.

  • O erro da questão está na parte que diz que esse procedimento permite modificações. Na verdade, ele permite somente a leitura do texto, quando um dos programas realiza a modificação de alguma página, o sistema operacional  cria uma cópia  dela para uso individual daquele processo.

  • Pessoal, errado!!

    Esse procedimento é chamado de REENTRÂNCIA!

    Deem uma olhadinha nessa questão Q345076

    .

    Compartilhamento de Memória (código reentrante)
    O  código  executável  de  alguns  programas,  principalmente  utilitários  e  programas  de sistema,  podem  ser  compartilhados  afim  de  evitar  o  consumo  desnecessário  de  MP.  Para  que isto ocorra o programa reentrante precisa ser especificamente caracterizado como tal pelo gerente do sistema e, assim, automaticamente, o sistema operacional se encarrega de fazer com que os processos que estiverem usando um determinado programa reentrante estejam com as entradas  das  suas  respectivas page ou segment tables apontando  para  os  mesmos  frames na MP (frames estes ocupados pelo código executável do programa reentrante).

    A utilização de código reentrante não só otimiza a ocupação da MP, uma vez que evita a coexistência de cópias idênticas de um mesmo trecho de programa na memória, mas também melhora o desempenho dos programas, uma vez que reduz a paginação ou segmentação destes pelo fato do programa reentrante permanecer residente em memória.

  • Reentrância é a possibilidade de vários usuários acessarem pontos diferentes do mesmo programa, armazenado na memória (código reentrante), manipulando dados próprios e exclusivos de cada usuário.


ID
893950
Banca
CESPE / CEBRASPE
Órgão
TRT - 10ª REGIÃO (DF e TO)
Ano
2013
Provas
Disciplina
Sistemas Operacionais
Assuntos

Acerca de sistemas operacionais e redes de comunicação, julgue os
itens subsecutivos.

O conceito de memória virtual aplica-se a sistemas operacionais que mantêm as partes ativas de um programa na memória e o restante, em disco, caso não haja memória física disponível para o programa.

Alternativas

ID
902395
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Quando os programas esperam por memória livre para serem executados devido à insuficiência de memória principal, o sistema operacional pode solucionar esse problema com a aplicação da técnica de

Alternativas
Comentários
  • Swapping é uma técnica de reservar parte de uma mídia de armazenamento, como um HD por exemplo, para ser usado em momentos em que a memória principal esteja sem espaço pra executar processos.
  • Gabarito C

    swapping é uma técnica criada na tentativa de melhorar o problema da insuficiência de memória durante a execução de alguns processos em ambientes multiprogramados. Essa técnica consiste em transferir automaticamente todo o processo da memoria principal para o disco(swap out) e vice-versa. Um dos problemas gerados pelo swapping é a relocação dos programas como no caso de um programa que saia muitas vezes e volte para a memoria, onde é necessária a realocação da mesma  seja realizada automaticamente pelo loader a cada operação de carregamento. A melhor solução para esta relocação é a realizada através do registrador base ou registrador de relocação. Toda vez que um programa é carregado na memória, o seu registrador base é carregado com o endereço inicial da região de memória onde o programa será carregado.

    Problemas: Ineficiência em função do tempo gasto em cada carregamento.

    Solução: Implementação no Hardware dos computadores para permitir que a relocação seja realizada durante a execução do programa.

    Vantagens:

    maior compartilhamento da memória;

    maior throughput;

    eficiente.

    Desvantagens:

    elevados custos das operações de entrada e saída.

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !

  • Se uma das alternativas fosse Memória Virtual também estaria correta, de acordo com o enunciado bastante abrangente.

  • c-

    Swapping - retira programas da memoria e os salva em hdd, geralmente quando eles têm que esperar, permitindo outros pegarem seu lugar na memoria. Se programa entrar e sair da memoria muitas vezes, overhead é causado, resultando em lentidao


ID
909913
Banca
CESPE / CEBRASPE
Órgão
Telebras
Ano
2013
Provas
Disciplina
Sistemas Operacionais
Assuntos

A respeito dos sistemas operacionais Windows e Linux, julgue os
itens a seguir.

Ao identificar que há pouca memoria RAM disponível em um servidor com Linux, se houver área do disco já particionada e disponível para uso, é possível formatá-la e disponibilizá-la para suprir a falta de memória como área de troca. Para realizar a ativação da área, deverá ser executado o comando swapon.

Alternativas
Comentários
  • CERTO.
    Mas é meio marota... Porque o camarada foi muito econômico ao descrever a formatação e o uso do comando swapon. Faltou informar detalhes importantes das duas operações, como por exemplo, o(s) parâmetro(s) para swapon.
  • Deve-se usar primeiro o comando mkswap para criar a área de swap e só então, usar o comando swapon. Por exemplo,

    swapon /dev/hda3 habilita a partição /dev/hda3 como área de troca.

     

    Tópicos relacionados free - exibe a quantidade de memória livre/usada no sistema. mkswap : formata uma área de swap. swap - partição do disco usada como memória auxiliar (área de troca). swapoff : desabilita dispositivos de swap.
  • Pai do céu, a questão tá certa mas foi feita numa preguiça só.
    Mostra o quanto estamos "nas mãos" da bancas.s

  • Embora tenha errado, a questao esta coerente.
    Ele perguntou o comando para realizar a ativação e nao como se faz desde o inicio.(criar a area, formatar, etc)


ID
923638
Banca
FUNCAB
Órgão
CODATA
Ano
2013
Provas
Disciplina
Sistemas Operacionais
Assuntos

São consequências ou objetivos do swapping em memória virtual, EXCETO:

Alternativas
Comentários
  • É uma técnica aplicada à gerência de memória que visa dar maior taxa de utilização à memória principal, melhorando seu compartilhamento. Visa também resolver o problema da falta de memória principal num sistema. Toda vez que um programa precisa ser alocado para execução e não há espaço na memória principal, o sistema operacional escolhe entre os processos alocados que não tem previsão de utilizar a CPU nos próximos instantes (quase sempre entre aqueles que estão em interrupção de E/S ou no final da fila de pronto), e “descarrega” (swap out) este processo da memória para uma área especial em disco, chamada arquivo de swap, onde o processo fica armazenado temporariamente. Durante o tempo em que o processo fica em swap, o outro que necessitava de memória entra em execução ocupando o espaço deixado pelo que saiu. Pouco antes de chegar a vez do processo armazenado em swap utilizar a CPU, o sistema escolhe um outro processo para descarregar para swap e devolve o anterior da área de swap para a memória principal (swap in), para que este possa ser executado novamente. E vai trabalhando assim até que os processos vão terminando. O problema dessa técnica é que pode provocar um número excessivo de acesso à memória secundária (disco), alem de uma maior transferencia de dados (troughput) entre disco e memória, levando o sistema a uma queda de desempenho. 

    Fonte: http://www.jvasconcellos.com.br/unijorge/wp-content/uploads/2011/04/ger_memo_swapping-2.pdf (com adaptações)
  • http://pt.wikipedia.org/wiki/Swapping

  • Todas as características são relacionadas ao swapping (ou utilização de memória virtual), exceto a alternativa:
     "D - minimizar a relocação dos programas". Pois, ocorre justamente o contrário, há uma maximização da relocação dos programas, já que o processo de swapping proporciona a percepção de haver mais memória física (RAM) para execução de processos dos programas ativos!

    Espero ter ajudado!
  • Gabarito D

    swapping é uma técnica criada na tentativa de melhorar o problema da insuficiência de memória durante a execução de alguns processos em ambientes multiprogramados. Essa técnica consiste em transferir automaticamente todo o processo da memoria principal para o disco(swap out) e vice-versa. Um dos problemas gerados pelo swapping é a relocação dos programas como no caso de um programa que saia muitas vezes e volte para a memoria, onde é necessária a realocação da mesma  seja realizada automaticamente pelo loader a cada operação de carregamento. A melhor solução para esta relocação é a realizada através do registrador base ou registrador de relocação. Toda vez que um programa é carregado na memória, o seu registrador base é carregado com o endereço inicial da região de memória onde o programa será carregado.

    Problemas: Ineficiência em função do tempo gasto em cada carregamento.

    Solução: Implementação no Hardware dos computadores para permitir que a relocação seja realizada durante a execução do programa.

    Vantagens:

    maior compartilhamento da memória;

    maior throughput;

    eficiente.

    Desvantagens:

    elevados custos das operações de entrada e saída.

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !

  • swapping tira os programas da memoria principal e os coloca no disco, maximizando a relocacao de programas


ID
928537
Banca
CESPE / CEBRASPE
Órgão
SERPRO
Ano
2008
Provas
Disciplina
Sistemas Operacionais
Assuntos

Julgue os itens de 61 a 70, acerca da administração dos sistemas
Microsoft Windows.

Na configuração da memória virtual no Windows Server 2003, os arquivos de paginação têm de estar em uma mesma unidade de disco; é possível definir o tamanho inicial e o tamanho máximo de um arquivo de paginação, quando este é criado, e esses tamanhos precisam ser diferentes; o desempenho do sistema de memória virtual pode ser aperfeiçoado criando-se mais de um arquivo de paginação.

Alternativas
Comentários
  • O tamanho inicial depende apenas da necessidade das aplicações que estão rodando. É estranho definir o tamanho mínimo do arquivo de paginação, e se não há nenhuma aplicação rodando, como o SO vai preencher esse arquivo de paginação?
  • Gerenciar manualmente a memória do computador

    • Tente evitar ter um arquivo de paginação na mesma unidade que os arquivos de sistema, geralmente a unidade C.
    • Evite colocar um arquivo de paginação em uma unidade tolerante a falha como um volume espelhado ou RAID-5. Arquivos de paginação não precisam de tolerância a falhas, e alguns computadores tolerantes a falhas experiência lenta de dados porque gravam dados em vários locais.
    • Não coloque vários arquivos de paginação em partições diferentes no mesmo disco rígido físico.
    Resumindo é melhor usar a paginação em unidades distintas ok.

    http://support.microsoft.com/kb/308417/pt-br
  • Na verdade é o contrário. A Microsoft recomenda colocar o arquivo de paginação em outro disco preferencialmente. Colocando na mesma unidade irá ocorrer disputa de recurso de leitura/escrita quando a máquina usar o swap. 

ID
961399
Banca
Marinha
Órgão
Quadro Técnico
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

A técnica que permite ao Sistema Operacional manter parte do espaço de endereçamento na memória principal e parte em disco é chamada de:

Alternativas
Comentários
  • Memória virtual, é uma técnica que usa a memória secundária como uma cache para armazenamento secundário. Houve duas motivações principais: permitir o compartilhamento seguro e eficiente da memória entre vários programas e remover os transtornos de programação de uma quantidade pequena e limitada na memória principal.


    memória virtual consiste em recursos de hardware e software com três funções básicas:1 2



    (i) realocação (ou recolocação), para assegurar que cada processo (aplicação) tenha o seu próprio espaço de endereçamento, começando em zero;


    (ii) proteção, para impedir que um processo utilize um endereço de memória que não lhe pertença;


    (iii) paginação (paging) ou troca (swapping), que possibilita a uma aplicação utilizar mais memória do que a fisicamente existente (essa é a função mais conhecida).


    Simplificadamente, um usuário ou programador vê um espaço de endereçamento virtual, que pode ser igual, maior ou menor que a memória física (normalmente chamada memória DRAM - Dynamic Random Access Memory).


ID
973216
Banca
Aeronáutica
Órgão
EEAR
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

As colunas a seguir tratam de conceitos de hardware. Relacione a coluna da direita com a da esquerda e, em seguida, marque a alternativa que apresenta a sequência correta 


1- Memória Virtual 
2- Ciclo de memória
3- Segmentação 
4- Latência

(  ) Técnica de alocação dos espaços da memória, segundo a qual a partição da memória é feita em blocos lógicos, de tamanhos variados.
(  ) É desprezível para todos os tipos de memória principal. 
(  ) É o conceito segundo o qual o espaço de endereçamento da memória, ou seja, o conjunto de endereços da memória principal disponíveis para um ou mais programas passa a ser maior que a quantidade real de endereços dessa memória principal. 
(  ) É o intervalo mínimo entre dois acessos sucessivos à memória.

Alternativas
Comentários
  • Letra C.

    Segmentação é a técnica de alocação dos espaços da memória, segundo a qual a partição da memória é feita em blocos lógicos, de tamanhos variados.

    Latência é desprezível para todos os tipos de memória principal.  

    Memória virtual é o conceito segundo o qual o espaço de endereçamento da memória, ou seja, o conjunto de endereços da memória principal disponíveis para um ou mais programas passa a ser maior que a quantidade real de endereços dessa memória principal. 

    Ciclo de memória é o intervalo mínimo entre dois acessos sucessivos à memória.

  • Ciclo = intervalo entre 2 acessos sucessivos à RAM;

    Latência = tempo que a RAM demora para entregar os dados.

  • C) 3 - 4 - 1 - 2