

Seu próximo nível começa aqui
Com a Assinatura Ilimitada, você tem tudo que precisa para sua aprovação.
Com a Assinatura Ilimitada, você combina prática, teoria e método em uma única assinatura com tudo que você precisa para sua aprovação.
Analise as afirmações, a seguir, acerca de threads:
I - Uma thread é definida como sendo um fluxo de execução independente.
II - Um processo pode conter uma ou mais threads.
III - Cada thread é caracterizado por um código em execução e um pequeno contexto local, o chamado Thread Local Storage.
IV - Threads são também utilizadas para implementar fluxos de execução dentro do núcleo do SO, neste caso recebendo o nome de threads de núcleo.
Estão corretas as afirmações:
I, II, III e IV.
I, II e III, apenas.
II, III e IV, apenas.
I, III e IV, apenas.
I, e II, apenas.
Analise as afirmativas abaixo sobre o gerenciamento de processos, de memória e de arquivos em sistemas operacionais e assinale a alternativa correta.
I. Threads de um mesmo processo compartilham o espaço de endereçamento do processo.
II. Na técnica de paginação, o espaço de endereçamento virtual dos processos (páginas virtuais) é mapeado em um espaço de endereçamento físico (molduras de página).
III. O mutex é um mecanismo de sincronização de threads o qual permite que mais de uma thread execute um trecho de código simultaneamente.
IV. O round-robin é um algoritmo de escalonamento de processos.
V. Diversos sistemas de arquivos do Linux utilizam uma estrutura de dados chamada de index node (inode), a qual armazena somente os atributos dos arquivos armazenados no disco.
Somente as afirmativas I, II e IV estão corretas.
Somente as afirmativas I e IV estão corretas.
Somente as afirmativas II, III e V estão corretas.
Somente as afirmativas III e IV estão corretas.
Todas as afirmativas estão corretas.
Thread é uma parte do código que pode ser executada independentemente do programa principal. Qual termo melhor se relaciona com threads?
Dependente.
Paralelismo.
Sequencial.
Centralizado.
Único.
Sobre a criação de threads em sistemas operacionais Linux, assinale a alternativa correta.
A criação de threads ocorre por meio de uma chamada de sistema fork.
Dado um processo com PID x, após a criação de um thread, é atribuído a este o PID x + 1.
Para criar um thread, é necessário que o sistema operacional esteja configurado em modo batch.
Não é permitido a um thread criar outros threads.
Threads, por padrão, compartilham do mesmo espaço de memória.
Em uma aplicação web, para que seja possível executar atividades em paralelo, é utilizado o conceito de:
Multilayer.
Thread.
Async.
Task.
Switching.
Os sistemas operacionais modernos utilizam threads, que
se destinam à troca de processos, trazendo cada processo em sua totalidade para a memória para a sua execução.
se trata de um recurso criado para tratar casos de erros em processos, possibilitando que o sistema operacional se recupere evitando, assim, o travamento do computador.
são mais leves do que os processos, e a sua destruição é mais demorada do que a destruição de processos.
são úteis em sistemas com uma única UCP (Unidade Central de Processamento), mas são desnecessários em sistemas com múltiplas UCPs, nos quais não são utilizados.
são mais leves do que os processos, e a sua criação é mais rápida do que a criação de processos.
Em sistemas operacionais, o termo multithread
é usado para descrever a situação de permitir múltiplos threads no mesmo processo.
é usado quando o computador possui mais de uma UCP (Unidade Central de Processamento) e cada uma executa um thread.
indica que o thread pode executar mais de uma tarefa de entrada e saída.
indica que o thread pode ser utilizado para mais de um tipo de tarefa.
significa que diversos threads sempre são executados simultaneamente.
Suponha um computador com um sistema operacional que suporte threads, e um de seus processos, de nome P1, possui também alguns threads. Quando um desses threads abre um arquivo do computador, esse arquivo
fica visível a outros processos, que podem ler e escrever nesse arquivo, mas não fica visível aos threads do processo P1.
fica visível a outros processos, que podem ler o arquivo, mas não podem alterá-lo, e não fica visível aos threads do processo P1.
fica visível aos outros threads do processo P1, que podem ler o arquivo, mas não podem alterá-lo.
fica visível aos outros threads do processo P1, que podem ler e escrever nesse arquivo.
não fica visível aos outros threads do processo P1.
Em relação à concorrência, sincronização de processos e threads, assinale a alternativa correta.
A alternância de tarefas entre a memória principal e o disco, necessária à programação concorrente, é feita pelo escalonador da CPU (curto prazo).
O desenvolvimento de programas concorrentes só é possível de ser feito em sistemas operacionais que oferecem suporte a multithreading.
A programação concorrente tem por objetivo sobrepor operações E/S com processamento, de forma a fazer com que a CPU esteja, sempre que possível, ocupada.
Uma seção crítica é um trecho de código em que dois ou mais fluxos de execução acessam uma mesma variável que pode ser escrita, sendo necessário protegê-la usando primitivas que garantam a exclusão mútua.
As primitivas do tipo mutex (variáveis lock) e semáforos servem tanto para obter exclusão mútua quanto sincronização, sendo que mutex é usado quando se emprega threads, e semáforos, para processos.
No contexto de sistemas operacionais, um thread é
uma estrutura de dados descritora de um arquivo aberto por um programa em execução.
um fluxo sequencial de execução de tarefas dentro de um processo, que pode ocorrer paralelamente a outros threads.
uma área do disco rígido que armazena um programa específico responsável pela inicialização do sistema.
um endereço de memória correspondente a uma rotina tratadora de uma interrupção do processador.
um programa responsável por controlar e interagir diretamente com um dispositivo de hardware, respondendo a requisições de outros programas.
A respeito do gerenciamento de processos e threads na família de sistemas operacionais Windows, analise as assertivas: I. Threads são a abstração do núcleo para escalonar a CPU no Windows; II. O Windows sempre seleciona um thread para executar, e não um processo; Ill. Todo thread possui um identificador.
Está(ão) CORRETA(S):
Apenas I.
Apenas Il.
Apenas l e ll.
Apenas ll e lll.
I, II e lIl.
Em um processo multithread, threads compartilham diversos itens. Nesse sentido, NÃO se trata de um item compartilhado entre elas:
Variáveis globais.
Arquivos abertos.
Processos filhos.
Registradores.
Espaço de endereçamento.
Um sistema operacional moderno prevê uma maneira de um processo dividir a si mesmo em outras tarefas, as quais podem ser executadas concorrentemente. Essas novas tarefas são denominadas
interrupções.
Kernel.
máquina virtual.
Servlets.
Threads.
A respeito de computação paralela, selecione a alternativa correta.
No multithreading de granulação grossa sempre que uma instrução protelar, outro thread é executado imediatamente sem causar perdas de ciclos do processador.
O computador de cluster, em geral, consiste em vários computadores conectados em rede possuindo como objetivo a realização de tarefas em paralelo, sendo, portanto, considerados sistemas fortemente acoplados.
O núcleo da GPU Fermi da NVIDIA é um exemplo de processador SISD (Single Instruction Single Data) que contém até 16 multiprocessadores de fluxo SIMD, com cada multiprocessador contendo 32 processadores SIMD.
Um processador SIMD (Single Instruction-stream Multiple Data-stream) consiste em um grande número de processadores não necessariamente idênticos que efetuam a mesma sequência de instruções sobre diferentes conjuntos de dados.
O multithreading de granulação fina utiliza uma política de alternância circular, com um thread diferente em ciclos consecutivos. Tal estratégia é usada para mascarar os impactos causados pela protelação que pode ocorrer durante a execução de instruções no processador.
Em relação aos conceitos de multithreading e de processo, assinale a alternativa correta.
A programação com threads só faz sentido em processadores que possuem mais de um núcleo (core); caso contrário, deve-se empregar o modelo de processo para expressar concorrência.
As threads compartilham o espaço de endereçamento do processo que as criou, ou seja, acessam as mesmas áreas de código, de dados globais, de heap (monte) e de pilha.
As threads são empregadas apenas para explorar o processamento paralelo, enquanto os processos são destinados apenas para a programação concorrente.
Nos sistemas operacionais que implantam threads em nível de sistema (modelo 1:1), o escalonamento é orientado a threads e não a processos, já que todo processo tem pelo menos uma thread.
Quando um processo filho termina, as threads criadas durante a execução desse processo filho são herdadas pelo processo pai.
Considerando processos e threads dos sistemas operacionais, correlacione as colunas abaixo e, em seguida, assinale e alternativa que apresenta a sequência correta.
1. Processo
2. Thread
( ) Agrupa recursos.
( ) Entidade programada para execução na CPU.
( ) Possui um contador de programa que controla qual instrução vai ser executada.
( ) Possui registradores, os quais contêm suas variáveis de trabalho correntes.
1/ 2/ 1/ 2
1/ 2/ 2/ 2
1/ 1/ 1/ 1
2/ 1/ 2/ 1
2/ 1/ 2/ 2
As threads auxiliam o sistema operacional no paralelismo de atividade quando há simultaneamente múltiplas atividades em diversas aplicações.
Em relação à programação multithreading, é correto afirmar que
multithreads podem ser oferecidos em modo usuário e modo organização.
um thread é a sub-rotina de um programa que não pode ser executado de forma assíncrona.
threads podem ser oferecidos em modo segmentado, modo estrutura, modo kernel e modo híbrido.
no ambiente multithread cada programa pode responder a várias processos concorrentes, em um único processador.
no ambiente multithread, cada processo pode responder a várias solicitações concorrentes, caso haja mais de um processador.