SóProvas


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

Sobre os sistemas computacionais que permitem multithreading do hardware:


I. No multithreading de grão-fino as threads devem ser comutadas após cada instrução.

II. Processadores superescalares sem suporte a multithread do hardware não ficam completamente ociosos mesmo se houver falha na cache de instruções.

III. Cada thread pode compartilhar o banco de registradores com as demais threads.

IV. No multithreading de grão-grosso as threads devem ser comutadas apenas após eventos significativos.


Após a analise das afirmativas acima, assinale a alternativa correta:

Alternativas
Comentários
  • Multithread

    Multithreading é a capacidade que o sistema  operacional possui de executar várias threads simultaneamente sem que uma interfira na outra. Estas threads compartilham os recursos do processo, mas são capazes de ser executadas de forma independente. Para possuir processamento multithread “real”, os processadores precisam ser capazes de atender duas ou mais threads ao mesmo tempo e não simular este efeito, atendendo-as uma por vez em um curto período de tempo.

    A maior vantagem trazida com a execução multithread é permitir que os computadores com múltiplos núcleos de processamento possam aproveitar todo o seu potencial e operar de forma mais rápida. Apenas para ilustrar, nos computadores sem este tipo de suporte, quando o processo principal toma muito tempo, a aplicação inteira parece travar.

     

    Fonte: tecmundo.

  • As arquiteturas multithreading procuram reduzir o “overhead” na troca de contexto entre threads, escondendo ou reduzindo o efeito negativo da latência de certas operações demoradas realizadas pelo processador.

    Os múltiplos contextos de threads nos processadores são criados através da replicação dos elementos de “hardware” que caracterizam cada contexto, tipicamente: o banco de registradores, o contador de programas e a palavra de status do processador.

    • Granulosidade Fina – Uma instrução de cada thread ativa é buscada e enviada para o pipeline a cada ciclo.

    • Granulosidade Grossa – As instruções de uma thread são executadas sucessivamente até que um evento de grande latência ocorra. Este evento provoca uma troca de contexto.

    • Multithreading Simultâneo – Instruções são despachadas simultâneamente para as unidades funcionais de um processador superescalar. – Combina um processador superescalar com multithreading.

    Fonte: http://www.dcc.ufrj.br/~gabriel/microarq/Multithreading.pdf 

  • Os coneitos de I e IV estão perfeitos...

     

    Grão FIno - cada Instrução;

    Grão GroSso - evento Sgnificativo.

     

    Threads Compartilham:

    �Área de código;

    Área de dados�;

    Áreas da pilha de execução (de todos os threads);

     

    Fonte: https://edisciplinas.usp.br/pluginfile.php/2945126/mod_resource/content/1/22-threads-v8.pdf]

     

    go @head!!!

  • Threads Compartilham:

    -Espaço de endereçamento;

    -Variáveis Globais;

    -Arquivos abertos;

    -Processos filhos;

    -Alarmes pendentes;

    -Sinais e rotinas de tratamento de sinais;

    -informações de contabilização

    Threads não Compartilham;

    -Contador de programa;

    -Registradores;

    -Pilha;

    -Estado.