Buscar

SCC-SEMANA 06

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

SCC-SEMANA 06 
Pergunta 1 
1. Unix é um sistema operacional amplamente usado em todas as formas de sistemas de 
computação, como desktop, laptop e servidores. O padrão UNix para threads é chamado 
de pthreads e é definido pelo POSix (P1003.1C). Ele contém chamadas para gerenciar 
e sincronizar threads, mas não define se são gerenciadas pelo kernel ou totalmente no 
espaço do usuário. 
Diante disso, assinale a alternativa que indica a função mencionada no enunciado. 
 
a. pthread_cond_init Destrói uma variável de condição. 
 
b. pthread_cond_signal Espera em uma variável de condição. 
 
c. 
pthread_cond_wait Libera um thread que está esperando em uma variável de 
condição. 
 
d. pthread_cond_destroy Cria uma variável de condição. 
 
e. pthread_mutex_unlock Desbloqueia um mutex. 
Pergunta 2 
1. Podemos definir que linguagem de montagem pura é quando cada declaração produz 
exatamente uma instrução que pode ser determinada como linguagem de máquina, 
existindo, assim, correlações entre as instruções de máquina e as declarações no 
programa de montagem. 
 
Assinale a alternativa correta sobre os motivos da utilização da linguagem de montagem: 
 
a. Muito mais fácil de programar com a utilização de paginação. 
 
b. Muito mais fácil de programar com a utilização de nomes simbólicos. 
 
c. Muito mais fácil de programar com a utilização de variáveis de ambiente. 
 
d. Muito mais fácil de programar com a utilização de binários. 
 
e. Muito mais fácil de programar com a utilização de hexadecimal. 
Pergunta 3 
1. As últimas quatro funções de API relacionadas são usadas para gerenciar arquivos 
mapeados em memória. Para mapear arquivos, você deve primeiro criar um objeto de 
mapeamento de arquivo usando uma função de API. Essa função retorna um 
identificador para um objeto de mapa de arquivos e, opcionalmente, registra um nome 
no sistema de arquivos para que outro processo possa usá-lo. 
Assinale a alternativa correta que corresponde à função API citada. 
 
a. UnmapViewOfFile mapeia (parte de) um arquivo para o espaço de endereço. 
 
b. 
MapViewOfFile é uma chamada que determina o mapeamento e 
estabelecimento do arquivamento. 
 
c. 
OpenFileMapping abre um objeto de mapeamento de arquivo previamente 
criado. 
 
d. MapViewOfFile remove um arquivo mapeado do espaço de endereço. 
 
e. 
CreateFileMapping cria um objeto, mapeia um arquivo e lhe designa 
(opcionalmente) um nome. 
Pergunta 4 
1. Quando falamos sobre uma macro, podemos dizer que, por definição, uma macro é uma 
forma de dar um nome a um pedaço de __________. Após a definição de uma macro, o 
programador pode escrever o nome dela em vez de um pedaço de __________. 
 
Preencha as lacunas escolhendo a alternativa CORRETA: 
 
a. Subtração e programa. 
 
b. Comando e programa. 
 
c. Texto e programa. 
 
d. Texto e divisão. 
 
e. Texto e multiplicação. 
Pergunta 5 
1. A tradução usando o programa objeto ou programa binário executável para a linguagem-
alvo só pode ser realizada após a conclusão da tradução, e o processo é realizado em 
diferentes etapas. Portanto o processo de traduzir programas em códigos de máquina é 
realizado com auxílio de linguagem assembly. 
 
Em relação a essas etapas, identifique se são verdadeiras (V) ou falsas (F) as afirmativas 
a seguir. 
 
I) ( ) A etapa I é constituída pela geração de um programa equivalente na linguagem-
alvo. 
II) ( ) A etapa II é constituída pela execução do programa recém-gerado. 
III) ( ) As etapas I e II ocorrem simultaneamente, de forma a serem independentes. 
IV) ( ) A etapa II começa somente após o término da fase I, sendo, portanto, 
dependentes. 
 
Assinale a alternativa que apresenta a sequência correta. 
 
a. V - F - V - F. 
 
b. V - V - V - F. 
 
c. V - F - F - F. 
 
d. F - F - V - V. 
 
e. V - V - F - V. 
Pergunta 6 
1. Já conhecemos as pseudoinstruções, que também são comandos, sendo que é muito 
importante conhecermos o seu significado, já que o significado de cada comando 
determina a tarefa que será executada. 
 
Assinale a alternativa correta sobre o significado do comando “IF” e “EXTERN”, 
respectivamente: 
 
a. 
Exporta um nome definido no módulo, importa um nome definido de outro 
módulo. 
 
b. Termina o programa, importa um nome definido de outro módulo. 
 
c. Inicia a montagem condicional, gera uma quebra de página. 
 
d. Inicia um macro, inicia um procedimento. 
 
e. 
Inicia a montagem condicional, importa um nome definido de outro 
módulo. 
Pergunta 7 
1. A linguagem assembly é comumente referida como linguagem assembler e é 
considerada uma linguagem de programação de baixo nível. A linguagem assembly pura 
é uma linguagem em que cada declaração produz apenas uma instrução de máquina. 
Ou seja, há uma correspondência um-para-um entre instruções de máquina e instruções 
em um montador. 
Com base nas informações, marque a alternativa correta. 
 
a. 
O programador em linguagem de máquina pode optar por usar o valor 
numérico do endereço, que é mais comumente usado. 
 
 
b. 
O uso de nomes simbólicos e endereços simbólicos em vez de binários ou 
hexadecimais não faz diferença significativa para a linguagem. 
 
 
c. 
As abreviaturas para adição, subtração, multiplicação e divisão são ADD, 
SUB, MUL, DIV, as mesmas são usadas em linguagem de máquina. 
 
 
d. 
Ao contrário da programação em linguagem de máquina (binária ou 
hexadecimal), a linguagem assembly é mais fácil de programar. 
 
e. 
Para programadores de linguagem assembly, nenhum conhecimento de 
nomes de símbolos é necessário, porque o montador os traduz para instruir a 
máquina. 
Pergunta 8 
1. No System V, que é uma das primeiras versões comerciais do sistema operacional Unix, 
e no sistema Linux, outra forma de comunicação entre processos é a utilização de filas 
de mensagens, onde o msgget é usado para criar uma fila de mensagens ou abrir uma 
fila existente. 
 
Com base nesse tema, analise as seguintes afirmativas. 
 
I) As filas de mensagem usam msgsnd para enviar mensagens e msgrecv para recebê-
las. 
II) Primeiro, os limites da mensagem são preservados e um pipe é apenas um fluxo de 
bytes. 
III) Em segundo lugar, as mensagens têm prioridade, de modo que as mensagens mais 
urgentes podem pular as menos importantes. 
IV) Terceiro, há tipos de mensagens e msgrcv pode especificar um tipo específico, se 
necessário. 
Está correto o que se afirma em: 
 
a. II e IV, apenas. 
 
b. IV, apenas. 
 
c. I, II, III e IV. 
 
d. III, apenas. 
 
e. I, II, IV, apenas. 
Pergunta 9 
1. Primeiro, os programadores de linguagem assembly geralmente podem gerar códigos 
menores e mais rápidos do que os programadores de linguagem de alto nível. 
Velocidade e tamanho são críticos para algumas aplicações embarcadas, como código 
em smart cards, drivers de dispositivos, bibliotecas de manipulação de strings, rotinas 
de BIOS, etc. 
Em relação à estrutura da linguagem de montagem, marque a alternativa correta que 
representa uma estrutura de linguagem de montagem. 
 
a. Mnemônico. 
 
b. Identificador. 
 
c. Desfecho. 
 
d. Corretor. 
 
e. Executor. 
Pergunta 10 
1. Programas escritos em linguagem assembly devem ser traduzidos em códigos de 
máquina antes que possam ser interpretados pela máquina. Esse processo de traduzir 
programas em códigos de máquina é conhecido como linguagem assembly, que é um 
nível inferior de linguagem de programação. As pessoas normalmente usam níveis mais 
altos de programação ao escrever programas que requerem funcionalidades mais 
complexas. 
 
Diante do contexto, observe as afirmativas a seguir. 
 
I) A linguagem-fonte e a linguagem-alvo podem ser definidas em diferentes níveis de 
complexidade. 
II) Alguns processadores executam diretamente programas escritos no idioma de origem 
sem a necessidade de tradução para o idioma de destino. 
III) A tradução é efetuada quando há um processador (hardware ou intérprete) disponível 
para o idiomade chegada, mas não para o idioma de origem. 
IV) A conversão ocorre em um programa equivalente chamado programa-objeto ou 
programa binário executável após a conclusão da tradução. 
Está correto o que se afirma em: 
 
a. II e III, apenas. 
 
b. I, apenas. 
 
c. I e II, apenas. 
 
d. I, II, III e IV. 
 
e. I e III, apenas. 
Pergunta 11 
1. Um processador de macros pode ser utilizado para encurtar _________. Contudo um 
programa contém diversas sequências de _________. 
 
Preencha as lacunas escolhendo a alternativa CORRETA: 
 
a. Macros e instruções. 
 
b. Memórias e programas. 
 
c. Comandos e instruções. 
 
d. Programas e instruções. 
 
e. Macros e programas. 
Pergunta 12 
1. Existem ligeiras diferenças que podem ser verificadas nas notações para definição de 
macros em diferentes assemblers, mas todos querem as mesmas partes básicas em 
uma definição de macro. Sendo assim, algo comum entre os diferentes assemblers: 
 
I. O texto do corpo da macro. 
II. Um cabeçalho que chama uma outra macro criada no passado. 
III. A pseudoinstrução que marca o início da macro. 
 
Assinale a alternativa correta sobre os ponteiros: 
 
a. I e III, apenas. 
 
b. I, apenas. 
 
c. III, apenas. 
 
d. II e III, apenas. 
 
e. I e II, apenas.

Continue navegando