Buscar

Provas Organização e Arquitetura de Computadores II

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

1 
 
ORGANIZAÇÃO E ARQUITETURA DE 
COMPUTADORES II 
PROVA 1 
1. O que são chamadas de sistema? 
É o conjunto completo de instruções disponíveis para programadores de aplicação. Contem quase todas as instruções 
de nível ISA, bem como o conjunto de novas instruções que o sistema operacional adiciona. Uma chamada de sistema 
chama um serviço predefinido do sistema operacional, na verdade, uma de suas instruções. 
2. Como os programadores faziam para poder executar seus programas que eram muitos maiores que a memória 
principal existente? 
O programador era responsável por fragmentar o programa em sobreposições, decidir em que lugar da memória 
secundaria cada uma seria mantida, resolver o transporte delas entre a memória principal e a memória secundaria e, 
em geral, gerenciar todo o processo de sobreposição sem nenhum auxilio do computador. 
3. Uma máquina tem espaço de endereço virtual de 32 bits endereçável por bytes. O tamanho da página é de 4KB. 
Quantas páginas de espaço de endereço virtual existem? Explique a sua resposta. 
Endereço virtual = 2³². Tamanho da página = 4KB = 2¹².Quantidade de páginas = 2³²/2¹² = 2²⁰ bytes. 
4. Em sistemas de memória virtual de paginação sob demanda, qual seria o critério ideal para substituição de páginas? 
a. Retirar a página que acabou de ser referenciada. 
b. [X] Retirar a página que será necessária no futuro mais distante. 
c. Retirar a página que está há mais tempo na memória. 
d. Retirar a página que foi referenciada menos vezes (e) retirar a página que está há mais tempo sem ser 
utilizada. 
5. Explique o que é: falta de página e paginação por demanda. 
A falta de página é quando é feita uma referência a um endereço em uma página que não está presente na memória 
principal. E na paginação por demanda é quando as páginas são trazidas para a memória somente quando ocorre uma 
requisição de uma página, e não antecipadamente. 
6. Qual é o tipo de fragmentação que encontramos na paginação. Explique como ocorre. 
Fragmentação interna, pois o espaço desperdiçado é interno a alguma página. Quando um programa e os dados do 
usuário não preenchem exatamente um número inteiro de páginas, haverá algum espaço não utilizado na última 
página. Se o tamanho da página for n bytes, a quantidade média de espaço desperdiçado na última página de um 
programa por fragmentação interna será n/2 bytes. 
7. Explique resumidamente como funciona a segmentação. 
A segmentação consiste em dividir a memória virtual em pedaços (segmentos) e apontar um determinado segmento 
para uma aplicação. Isto define de maneira única a aplicação na memória virtual e vice-versa e, desta forma, pode-se 
executar simultaneamente várias aplicações compartilhando de maneira mais eficiente a memória sem o risco de 
alocarmos de maneira incorreta a aplicação. 
8. Que fenômeno é denominado de tabuleiro de xadrez? Como isso pode ocorrer? 
Fragmentação externa, porque o espaço é desperdiçado fora dos segmentos, externamente, nas lacunas entre eles. 
9. Para que serve as instruções de entrada e saída virtuais? Cite alguns exemplos. 
Serve para ajustar campos e bits em vários registradores de dispositivos, esperar até que a operação seja concluída e 
então verificar para ver o que aconteceu. Os discos têm bits de registrador de dispositivos para detectar os seguintes 
erros: disco endereçado, cilindro endereçado e setor endereçado, todos inexistentes. 
10. Ao medir o desempenho de um certo sistema, verificou-se que este passava muito tempo com a CPU ociosa e tinha 
um alto volume de acessos a disco. Assinale a alternativa que apresenta a solução traduzida na melhoria de 
desempenho desse sistema. 
a. Troca da CPU por uma mais rápida. 
b. [X] Aumento na capacidade de memória do sistema. 
c. Aumento na capacidade de armazenamento do disco. 
d. Uso de memória cache. 
e. Troca do sistema operacional. 
11. Por que muitos sistemas de arquivos requerem que um arquivo seja explicitamente aberto com uma chamada de 
sistema open antes de ser lido? 
O processo de abertura permite que o sistema operacional localize o arquivo em disco e traga informações da 
memória necessárias para acessá-lo. 
 
2 
 
12. Estudos de diferentes sistemas de arquivo mostraram que mais da metade dos arquivos são alguns poucos KB ou 
menos, e a vasta maioria dos arquivos é menor do que uns 8KB. Por outro lado, os 10% correspondentes aos maiores 
arquivos usualmente ocupam cerca de 95% de todo o espaço do disco em uso. Com esses dados em mãos, a que 
conclusão você pode chegar sobre o tamanho do bloco de disco? 
13. Como surgiu a ideia de diretórios? Quais funções mínimas que o sistema operacional deve fornecer como chamada 
de sistema? 
O modo usual de um sistema operacional organizar arquivos em linha é agrupá-los em diretórios. As funções mínimas 
são: 1 – criar um arquivo e entrar em um diretório. 2 – apagar um arquivo de um diretório. 3 – renomear um arquivo. 
4 – mudar o estado de proteção de um arquivo. 
14. Explique como é realizado o processamento paralelo em um computador com apenas um processador de núcleo 
único. Que recurso importante do processador é utilizado para execução de dois ou mais processos? 
O efeito do processamento paralelo pode ser simulado fazendo o processador executar cada processo por vez durante 
um curto período de tempo, ou seja, o processador pode ser compartilhado entre vários processos. O recurso é 
chamada de sistema para criar um novo processo. 
15. Embora ambos tenham seu escalonamento feito pelo gerenciamento de processos, threads e processos são 
estruturalmente distintos. Qual é a principal diferença entre eles? 
a. Apenas threads podem ser executados em paralelo. 
b. [X] Threads possuem contexto simplificado. 
c. Processos executam mais rapidamente. 
d. Processos apenas podem ocorrer em sistemas de grande porte. 
e. Threads apenas podem ocorrer em processadores multicore. 
16. Técnicas eficientes para o uso da memória, como virtual e caching, podem ser utilizadas porque 
a. Aumentou o espaço de armazenamento em RAM. 
b. Memorias dinâmicas são mais rápidas que memorias estáticas. 
c. Aumentou a velocidade de acesso para a memória RAM. 
d. [X] O princípio da localidade pode ser aplicado. 
e. O thrashing não pode ocorrer em memorias modernas. 
17. Em organização de arquivos e dados, os diretórios foram criados para organizar e controlar outros arquivos. Com 
base nos conhecimentos sobre o tema, considere as afirmativas a seguir. 
I. Um diretório geralmente contém várias entradas, sendo uma por arquivo diretamente subordinado. Cada entrada 
é composta pelo nome do arquivo, seus atributos e os endereços do disco onde estão armazenados. 
Alternativamente, após o nome do arquivo, pode haver um ponteiro para uma estrutura de dados com os atributos e 
os endereços. 
II. Em um sistema de diretórios hierárquicos, se o diretório atual, ou diretório de trabalho, de um processo for 
“/usr/bin/.”, para acessar o arquivo chamado cache, localizado em “/tmp/”, pode ser usado o nome de caminho 
absoluto “/tmp/cache”. Alternativamente, pode ser usado o nome de caminho relativo “./../../tmp/cache”. 
III. Para os usuários, uma das vantagens de sistemas com um diretório por usuário em relação a sistemas de diretório 
único é poder organizar os arquivos em subgrupos. 
IV.Em sistemas que suportam diretórios hierárquicos, como Windows e UNIX, há três entradas especiais em cada 
diretório. Elas são ‘.’ (ponto), ‘..’ (ponto-ponto) e ‘˜’ (til): o primeiro serve para voltar um nível na hierarquia; o 
segundo, para avançar um nível; o terceiro, para referenciar o diretório reservado ao administrador, quando utilizado 
em caminhos relativos. Assinale a alternativa correta. 
a. [X] Somente as afirmativas I e II são corretas. 
b. Somente as afirmativas I e IV são corretas. 
c. Somente as afirmativas III e IV são corretas. 
d. Somente as afirmativas I, IIe III são corretas. 
e. Somente as afirmativas II, III e IV são corretas. 
18. Suponha que os números sejam representados por complemento de dois com 8 bits. Mostre o cálculo do seguinte: 
a. 6 + 13 
b. - 6 + 13 
c. 6 – 13 
d. - 6 – 13 
19. Prove que a multiplicação de dois números de n dígitos na base B gera um produto de não mais do que 2n dígitos. 
 
 
3 
 
20. Os seguintes números utilizam o formato IEEE de ponto flutuante com 32 bits, normalizados. Qual é o valor decimal 
equivalente? 
a. 1 -10000011 11000000000000000000000 
b. 0 01111110 10100000000000000000000 
PROVA 2 
1. Supondo a existência das linguagens: L1: linguagem natural, do usuário (alto nível e complexa). L0: linguagem da 
máquina (baixo nível e simples). Um questionamento a ser respondido é como compatibilizar L1 com L0? Existem 
duas soluções: usar tradutor ou interpretador. Sobre tradutor e interpretador e as linguagens acima, é correto 
afirmar: 
I. O programa pode ser traduzido uma única vez e executado várias vezes. 
II. Na tradução, cada instrução de L1 é substituída por um conjunto de instruções equivalente de L0. 
III.Na interpretação o processador executa instrução de L1 (transformada para L0) antes de executar a próxima 
instrução. 
IV. O programa não precisa ser interpretado novamente para ser executado. 
V.Não é possível utilizar uma metodologia híbrida: tradutor + interpretador. 
É correto o que se afirma em: 
a. Todas são verdadeiras. 
b. I e II, apenas. 
c. I e III, apenas. 
d. III, IV e V. 
e. [X] I, II e III. 
2. Responda V para Verdadeiro e F para Falso. As respostas assinaladas como falsas precisam ser justificadas. 
(V) O programador de linguagem de máquina pode dar nomes simbólicos a locais de memória e deixar para o 
assembler a preocupação de fornecer os valores numéricos corretos. 
(V) Os programas que convertem um programa de usuário escrito em alguma linguagem para outra são denominados 
tradutores e a linguagem do programa original é chamada linguagem-fonte e a que é convertida de linguagem-alvo. 
(V) Pseudoinstruções ou diretivas de assembler são comandos da linguagem de máquina para o próprio assembler. 
(F) Chamadas de macros são feitas durante a execução do programa e as chamadas de procedimentos são realizadas 
durante a montagem, por isso as chamadas de macros são diferentes das chamadas de procedimento. - Chamadas 
de macros são feitas durante o processo de montagem e as chamadas de procedimentos são realizadas durante a 
execução do programa. 
(V) Como resultado das operações em assembly a seguir, o registrador AX tem o valor 0Fh armazenado, isto é, AX = 
0Fh. MOV AX, 10h MOV BX,1h SUB AX,BX 
3. Sobre as linguagens de programação, é corretor afirmar: 
a. Interpretadores são programas que convertem códigos escritos em linguagem de alto nível para programas 
em linguagem de máquina. 
b. [X] Linguagens de alto nível cumprem tarefas mais substanciais com um número menor de comandos, mas 
exigem programas tradutores denominados compiladores para converter programas em linguagem de alto 
nível para linguagem de máquina. 
c. Um computador pode entender qualquer linguagem de máquina, pois a linguagem de máquina não é definida 
pelo projeto de hardware do computador. 
d. Programadores podem escrever instruções em várias linguagens de programação e todas são entendidas 
diretamente pelos computadores sem a necessidade de tradução. 
e. Softwares escritos em linguagens de máquina são portáveis. 
4. AX e BX são, entre outros, registradores gerais de dados e endereços do processador 8086. Em linguagem assembly, 
a instrução para somar o valor de AX com o valor de BX e guardar o resultado em AX está corretamente 
representada por: 
a. ADD BX, AX 
b. ADD BX, AX MOV 
c. ADD AX. BX MOV AX 
d. ADD BX, AX PUSH 
e. [X] ADD AX, BX 
5. Considerando as características das principais linguagens de programação, é correto afirmar que: 
a. C# não é considerado uma linguagem orientada a objetos. 
b. C# não é considerado uma linguagem orientada a objetos. 
4 
 
c. Linguagem C é classificada como baixo nível. 
d. [X] Linguagens de alto nível têm como característica a não necessidade de conhecimento do processador. 
e. Linguagens de baixo nível estão fracamente ligadas ao processador. 
6. No que concerne às linguagens de montagem, considere: 
I. A linguagem de montagem é definida com base na linguagem de máquina, onde cada instrução da máquina é 
representada por um comando mnemônico em caractere alfanumérico. 
II. Os programas escritos nas linguagens de montagem são específicos para cada família de microprocessadores, cujas 
instruções costumam ser definidas pelo próprio fabricante do microprocessador. 
III. Meta-assembler monta, exclusivamente, programas para um mesmo tipo de arquitetura de processadores e tem 
como característica varrer o programa-fonte apenas uma vez, para gerar o código. 
IV. Os programas montadores ou Assemblers são ferramentas que permitem a tradução de programasfonte escritos 
em linguagem de montagem para programas-objeto. 
É correto o que se afirma em: 
a. I e II. 
b. II e III. 
c. I, II e III. 
d. [X] I, II e IV. 
e. II, III e IV. 
7. Construa a tabela de símbolos para o trecho do programa assembly abaixo que utiliza instruções do Pentium 4. A 
primeira declaração é designada para o endereço 1000. 
EVEREST: POP BX (1 BYTE) 
K2: PUSH BP (1BYTE) 
WHITNEY: MOV BP, SP (2 BYTES) 
PUSH X (3 BYTES) 
FUJI: PUSH SI (1 BYTE) 
KIBO: SUB SI, 300 (3 BYTES) 
 
 
 
8. O processo de montagem é realizado em 2 etapas, por que? 
9. O que é tabela de símbolos e para que são utilizadas? 
10. Para que serve a ligação dos módulos? 
11. A seguinte sequência de instruções lógicas e aritméticas será executada por um processador em pipeline de 5 
estágios: busca da instrução, leitura de registradores, execução, acesso à memória e escrita de registradores. A 
sequência, no entanto, apresenta conflito de dados. 
 
O pipeline foi implementado sem hardware adicional para a resolução de conflitos, mas os valores dos registradores 
podem ser escritos na primeira metade do ciclo e lidos na segunda metade. Sabendo-se que o primeiro operando das 
instruções é o registrador destino, avalie as afirmações a seguir. 
I. A troca de posição entre as instruções or e add soluciona o conflito de dados. 
II. A troca de posição entre as instruções add e and soluciona o conflito de dados. 
III. A inserção de uma operação nop (sem operação) entre add e mui soluciona o conflito de dados. 
5 
 
É correto o que se afirma em: 
a. I, apenas. 
b. [X] II apenas. 
c. I e III, apenas. 
d. II e III, apenas. 
e. I, II e III. 
12. Reescreva o trecho do programa utilizando estrutura de repetição. 
13. Reescreva o trecho do programa utilizando uma macro. 
14. Considerando os 5 tipos de arquitetura de computadores paralelos, classifique-os de acordo com o acoplamento 
entre os processadores. 
a. Paralelismo no chip. 
b. Co-processador. 
c. Multiprocessador. 
d. Multicomputador. 
e. Grade. 
15. No contexto da organização de sistemas de computadores, 
I. O ciclo busca-decodificação-execução pode ser executado, também, por um interpretador de software que roda em 
um nível mais baixo. 
II. computadores paralelos incluem processadores matriciais, nos quais a mesma operação é efetuada sobre múltiplos 
conjuntos de dados ao mesmo tempo. 
III. computadores paralelos incluem multiprocessadores, nos quais várias CPUs compartilham uma memória em 
comum. 
IV.computadores paralelos podem ser formados por multicomputadores, cada um com sua própria memória, mas se 
comunicando por transmissão de mensagens. 
É correto o que se afirma em: 
a. I e II, apenas 
b. II e III, apenas. 
c. I, II e III, apenas. 
d. [X] II, III e IV, apenas. 
e. I, II, III e IV. 
16. Cite uma característica de multiprocessadores e multicomputadorese identifique nas imagens o que é 
multiprocessador e multicomputador e o que elas representam. 
a. Multicomputador com 16 CPUs, cada uma com sua memória privada. 
b. Imagem de mapa de bits da figura de multiprocessador dividida entre as 16 memórias. 
c. Multiprocessador com 16 CPUs que compartilham uma memória comum. 
d. Imagem repartida em 16 seções, cada qual analisada por um CPU diferente. 
17. O que é topologia de rede? Escreva quais são os tipos de topologia das imagens a seguir. 
Estrela – Cubo – Hipercubo 3D. Topologia de rede é a forma de como vários computadores estão interconectados em 
um sistema. 
18. Escreva V para Verdadeiro ou F para Falso. Justifique as respostas falsas. 
(V) Multiprocessadores UMA são aqueles em que cada CPU possui o mesmo tempo de acesso a cada módulo de 
memória. 
(F) Multiprocessadores COMA são aqueles que o tempo de acesso de cada CPU varia em função do módulo de 
memória acessado.- Multiprocessadores NUMA 
(F) Multiprocessadores NUMA são aqueles que a memória principal de cada CPU é utilizada como Cache.- 
Multiprocessadores COMA 
(V) Em relação aos multicomputadores o MPP possui várias CPU acopladas por uma rede proprietária de alta 
velocidade e o COW (ou NOW) também são CPUs acopladas com baixa velocidade. 
(V) Multiprocessadores com um único chip podem ser com pipeline dual ou de chip com dois núcleos. 
19. Relacione e a coluna da esquerda com a coluna da direita. 
(I) Multicore (A) Múltiplos pipelines que operam em paralelo. 
(II) Superpipeline (B) Execução de instruções fora de ordem em um pipeline. 
(III) Superescalar (C) Pipelines com grande número de estágios. 
(IV) Pipeline dinâmico (D) Múltiplos processadores compartilhando um espaço de endereços. 
(V) Multiprocessadores (E) Múltiplos processadores em um único encapsulamento. 
Assinale a alternativa que contém a associação correta. 
a. I-B, II-A, III-C, IV-E, V-D. 
b. I-C, II-A, III-B, IV-D, V-E. 
c. [X] I-D, II-E, III-B, IV-A, V-C. 
6 
 
d. I-E, II-C, III-A, IV-B, V-D. 
e. I-E, II-C, III-A, IV-D, V-B 
20. Duas possibilidades para a construção de sistemas com múltiplos processadores são: processadores idênticos com 
um único espaço de endereçamento interligados por um barramento único (SMP); e máquinas monoprocessadas 
conectadas por uma rede (cluster). Com relação a esses sistemas, assinale a opção correta. 
a. A comunicação entre processadores de um cluster é, potencialmente, muito mais rápida que a comunicação 
entre processadores de um sistema SMP, pois redes atuais possuem taxa de transmissão da ordem de 
gigabits/s, enquanto as melhores memórias operam somente com frequências da ordem de centenas de 
megahertz. 
b. Comunicação entre processos pode ser implementada de forma muito mais eficiente em um cluster que em 
um sistema SMP, pois, nesse último, todos os processos precisam compartilhar os mesmos dispositivos de 
entrada e saída. 
c. Em um sistema SMP, é mais simples substituir um processador defeituoso, pois, em um cluster, toda a rede 
de comunicação deve ser desabilitada para que a troca seja efetuada sem prejudicar a troca de mensagens 
entre os processos. 
d. Alocação de memória para processos é muito mais simples em um cluster, pois cada processador executa um 
único processo na sua memória exclusiva e, dessa forma, não existe o problema de distribuição de processos 
no espaço de endereçamento único da máquina SMP. 
e. [X] Em um cluster, o custo da escalabilidade é muito menor, pois, para a interconexão entre as máquinas, 
podem ser utilizados equipamentos comuns usados em uma rede local de computadores, ao passo que um 
sistema SMP exige conexões extras no barramento e gabinetes especiais. 
21. O Escalonamento dinâmico para redistribuição de processos em um cluster tem como função a(o) 
a. Interoperabilidade. 
b. Integração de serviços. 
c. Automação do controle 
d. Eliminação da transferência de dados. 
e. [X] Balanceamento de carga. 
22. Para análise de códigos maliciosos podem ser utilizadas ferramentas que auxiliam neste trabalho. Para isso devem 
ser entendidas as diferenças entre elas. A esse respeito, analise as afirmativas a seguir, 
I. Debbugers são ferramentas de análise em tempo de execução que podem permitir a manipulação do programa no 
nível de código de máquina. 
II. Descompiladores são ferramentas que tentam recuperar um código de alto nível a partir de um código de baixo 
nível. 
III. Disassemblers são ferramentas de análise estática que traduzem o código analisado para a linguagem Assembly. 
Assinale: 
a. Se somente a afirmativa I estiver correta. 
b. Se somente a afirmativa II estiver correta. 
c. Se somente a afirmativa III estiver correta. 
d. Se somente as afirmativas I e II estiverem corretas. 
e. [X] Se todas as afirmativas estiverem corretas.

Continue navegando