SóProvas


ID
2525044
Banca
FCC
Órgão
DPE-RS
Ano
2017
Provas
Disciplina
Sistemas Operacionais
Assuntos

Um sistema operacional multiprogramável possui programas reentrantes que se caracterizam por

Alternativas
Comentários
  • Reentrância

    É comum, em sistemas multiprogramáveis, vários usuários utilizarem os mesmos aplicativos simultaneamente, como editores de texto, compiladores e outros utilitários. Nesta situação, se cada usuário que utilizasse um destes aplicativos trouxesse o código executável para a memória, haveria então diversas cópias de um mesmo programa ocupando espaço na memória, o que causaria um grande desperdício de espaço.  Reentrância é a capacidade de um código executável (código reentrante) ser compartilhado por vários usuários, exigindo apenas uma cópia do programa em memória. A reentrância permite que cada usuário esteja executando um trecho diferente do código reentrante, manipulando dados próprios, exclusivos de cada usuário.

     

    fonte: http://escreveassim.com/2012/10/15/voce-sabe-o-que-e-sistema-operacional-p2/

  • Apenas clarificando o conceito do nosso amigo abaixo, todo o processo que entra na memória é dividido em três partes:

    Pilha

    Dados

    Código (também chamado de texto)

     

    A pilha e os dados são exclusivos de cada processo, pois cada um ocupa um espaço exclusivo na memória, bem como a particularidade dos dados que cada um manipula.

    A reentrância é um mecanismo que venho para tornar o gerenciamento de processos mais inteligente. Imagina eu abrindo dois "Words" e permitindo que cada processo trouxesse o seu próprio código? Desperdício, né? Se o código faz parte da mesma aplicação, por que não permitir o seu compartilhamento?

     

    Por essa razão, letra B

  • Gabarito B

    Em programação, reentrância refere-se a qualidade de uma sub-rotina ser executada concorrentemente de forma segura, isto é, a subrotina pode ser invocada enquanto está em execução. Para atender essa qualidade, a sub-rotina não deve armazenar dados estáticos(globais) não constantes, não deve retornar o endereço de dados estáticos não constantes, deve trabalhar somente com os dados fornecidos pela subrotina que a invocou, não deve contar com exclusão mútua para recursos construídos com o modelo singleton e só deve invocar sub-rotinas que também atendam as qualidades anteriores, isto é, que também sejam reentrantes.

    Vários níveis de prioridade de tarefas ou multiprocessamento geralmente complicam o controle de código reentrante. Código de entrada/saída geralmente não é reentrante pois manipula recursos singleton como discos rígidos. Entretanto, a reentrância é uma funcionalidade importante da programação funcional.

     

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

  • Acredito que com os conceitos de multiprogramação e multiprocessamento dá para matar a questão. A dúvida ficaria apenas entre A e B.

     

    Multiprogramação (multitarefa) - sistemas mais complexos e eficientes, vários usuários, preocupação em gerenciar acesso concorrente. Vantagem: Redução de custos.

     

    Multiprocessamento (2 ou mais CPUs envolvidas.) – É a capacidade de um SO executar dois ou mais processos. SIMULA A SIMULTANEIDADE, diferente da multitarefa. Problemas de concorrência (processadores podem estar acessando a mesma área de memória)

     

    Reentrância - Capacidade de um código executável ser compartilhado por diversos usuários, exigindo que apenas uma cópia do programa esteja na memória.

  • Realizarem a carga na memória de apenas uma cópia do programa que pode ser compartilhado por vários usuários.