1. Uma das formas de aproveitar hardware ocioso em um processador dotado de pipeline
superescalar é a execução de múltiplas threads (microarquitetura multithread). Podemos
afirmar, acerca desta microarquitetura, que:
I.
II.
III.
sempre conseguimos aproveitamento total do hardware porque estágios que normalmente
estariam ociosos por dependências agora serão sempre ocupados por tarefas referentes a
outras threads;
a quantidade de instruções completadas por ciclo de clock se torna mais próximo do grau
do pipeline;
ela não é adequada para a implementação de processadores multicore porque neste caso não
há como estabelecer sincronismo entre processos em execução.
(A) as alternativas I e II estão corretas.
(B) só há uma alternativa correta.
(C) as alternativas II e III estão corretas.
(D) as alternativas I e III estão corretas.
(E) todas as alternativas estão corretas.
Resposta:
I) Falso porque o aproveitamento do hardware não ocorre “sempre”. Experimentalmente observa-se
que o hardware continua com alguma ociosidade devido a dependências que ocorrem no código, ou
seja, o Paralelismo no Nível de Instruções nem sempre ocorre.
II) Verdadeiro porque a ociosidade do hardware cai, ou seja, os estágios do pipeline são ocupados
mais freqüentemente.
III) Falso porque o sincronismo entre processos depende da programação e dos recursos
disponibilizados pelo Sistema Operacional. Neste caso específico (multithread + multicore) o
hardware não limita este sincronismo.
Portanto a alternativa correta é a (B).
2. Na operação de busca em uma árvore de pesquisa binária com 800 elementos, pode-se afirmar
que:
I.
II.
III.
IV.
o número máximo de comparações é igual a 10, para a árvore balanceada.
o número máximo de comparações é igual a 400, para a árvore desbalanceada.
o número máximo de comparações é igual à altura da árvore mais 1.
o número máximo de comparações é igual a 10, independente do balanceamento da
árvore.
Estão certos apenas os itens
(A)
(B)
(C)
(D)
(E)
I e II.
I e III.
I e IV.
II e III.
III e IV.
Resposta: Alternativa “B”
Justificativa: A busca em uma árvore de pesquisa binária é proporcional à altura da mesma, uma vez
que a cada comparação é descartada uma das ramificações da árvore. Se a árvore está balanceada,
sua altura é dada pela parte inteira de log (n), onde n é a quantidade de elementos na árvore. Se a
2
árvore está totalmente desbalanceada (pior caso: cada nó interno da árvore tem apenas um filho) a
altura da mesma é de n-1. Como 800 está entre 512 e 1.024 (potências de 2: 29 e 210), a altura pode
variar de 9 a 799, portanto a quantidade máxima de comparações pode ser de 10 a 800 para a árvore
balanceada e totalmente desbalanceada, respectivamente. Logo os itens corretos são o I e o III.
3. A respeito de um Sistema de Informação podemos afirmar que:
(A) Ele coleta dados de uma ambiente para ser processado.
(B) Ele disponibiliza dados que submetidos à consideração humana podem vir a se tornar
informação.
(C) Eventualmente pode armazenar dados processados ou a serem processados.
(D) Os seus processos não precisam ser automatizados.
(E) Todas as alternativas estão corretas.
Todas as afirmativas correspondem ä definição de sistema de informação, portanto, a
resposta correta é a alternativa E.
4. Uma política de agendamento livre de starvation garante que nenhuma tarefa espera
indefinidamente para executar. Qual das seguintes políticas de agendamento é livre de
starvation?
(A) Round-robin.
(B) Fila de prioridade.
(C) Tarefa mais curta primeiro.
(D) Tarefa mais nova primeiro.
(E) Nenhuma das anteriores.
Reposta correta: letra A porque nesta política ocorre rodízio entre as tarefas e todas terão
oportunidade de executar.
5. De quantos modos r rapazes e m moças podem se colocar em fila de modo que as moças fiquem
juntas?
(A) r! m !
(B) (r +1 )! (m +1 )!
(C) (r +1 )! m !
(D) (r + m)! + 1
(E) (r + m)!
Solução da Questão
Há m ! maneiras de permutar as moças. Há r ! maneiras de permutar os rapazes. No entanto, como
as moças devem ficar juntar, elas formarão um bloco que poderá permutar entre os r rapazes, então
há, de fato, (r +1 ) ! maneiras de permutar os rapazes.
Conseqüentemente,
(r +1 )! m !
A resposta é (C)
6. Acerca de paradigmas de linguagens de programação, julgue os itens a seguir.
I.
II.
III.
IV.
V.
Linguagens procedurais facilitam a legibilidade e a documentação do software.
Linguagens declarativas facilitam o desenvolvimento de sistemas de apoio à decisão.
Linguagens funcionais facilitam a definição de requisitos e a decomposição funcional.
Linguagens estruturadas promovem o forte acoplamento entre dados e funções.
Linguagens orientadas a objeto permitem reduzir custos de desenvolvimento e
manutenção.
Estão certos apenas os itens
(A) I e II.
(B) I e IV.
(C) II e III.
(D) III e V
(E) IV e V
Resposta: letra D
7. Tem se tornado crescente o uso de computadores nos mais diversos segmentos sociais, como o
comércio, indústria, educação, saúde, segurança pública, no governo e na sociedade em geral.
Daí vemos que o trabalho do profissional de informática está cada vez mais entranhado nas
relações entre os cidadãos, dentro de cada segmento social e na interação entre eles. Dentro
deste contexto aparece a importância do comportamento ético do profissional de informática.
Diante exposto, qual ou quais dos comportamentos, abaixo, poderiam violar a ética de um
profissional de informática:
(A) Ser displicente quanto a atualização técnica relativa à sua profissão.
(B) Produção de vírus de computador.
(C) Disponibilizar software para uso, sem os testes apropriados, para atender a pressões do
seu empregador.
(D) Tornar público dados, de empresas, obtidos em razao de sua atividade profissional.
(E) Todas as alternativas apresentadas acima.
Resposta: letra ( E )
8. A análise de complexidade provê critérios para a classificação de problemas com base na
computabilidade de suas soluções, utilizando-se a máquina de Turing como modelo referencial
e possibilitando o agrupamento de problemas em classes. Nesse contexto, julgue os itens a
seguir.
I.
II.
III.
É possível demonstrar que P NP e NP P.
É possível demonstrar que se P NP, então P NP Completo = .
Se um problema Q é NP difícil e Q NP, então Q é NP Completo.
IV.
V.
O problema da satisfatibilidade de uma fórmula booleana F (uma fórmula é
satisfatível, se é verdadeira em algum modelo) foi provado ser NP-difícil e NP- Completo.
Encontrar o caminho mais curto entre dois vértices dados em um grafo de N vértices e M
arestas não é um problema da classe P.
Estão certos apenas os itens
(F) I, III e IV.
(G) II, III, e IV.
(H) III, IV e V.
(I) I, II, III, e IV.
(J) II, III, IV e V.
Resposta: letra B
9. Descreva as principais tarefas de um analisador léxico.
RASCUNHO
1
2
3
4
5
Solução: Um analisador léxico é essencialmente um casador de padrões. Tenta encontrar
uma subcadeia de uma dada cadeia de caracteres que casa com um padrão dado. Serve como
linha de frente para um analisador sintático. O analisador léxico faz a análise sintática no
nível mais baixo da estrutura do programa.
10. Escreva um artigo, de no máximo 10 linhas, defendendo a interface gráfica com um fator
importante para a inclusão digital.
RASCUNHO
1
2
3
4
5
6
7
8
9
10
Resposta: Aqui pode ser argumentado com facilidade de operação do computador por causa da
ausência de comandos
11. Em relação ao uso de Hashing em arquivos, é correto afirmar que:
(A) A técnica denominada hashing expansível é vantajosa pois o espaço utilizado pelo
arquivo cresce ou diminui conforme a necessidade
(B) A técnica hashing consiste na utilização de uma função matemática que depende do
tamanho médio (hash key) dos registros do arquivo
(C) A técnica de hashing estático é preferível à de hashing dinâmico, pois mapeia
previamente um número definido de buckets
(D) A função hashing deve ter a propriedades de uniformidade ou a propriedade de
aleatoriedade, que são mutuamente exclusivas
(E) Nenhuma das respostas está correta
Gabarito: (a)
12. Considere o circuito combinacional ilustrado abaixo, que apresenta a, b e c como sinais de
entrada e S como sinal de saída. A equação booleana mínima que descreve a função desse
circuito é igual a:
a
b
c
s
(A) S = a or not(b) or c.
(B) S = a and not(b) and c.
(C) S = a and b and not(c).
(D) S = not(a) and not(b) and c.
(E) S = a and not(b) or c.
Resposta : letra C
Figura A.
Figura B
13. Observe a situação representada acima, em que o polígono identificado na Figura A sofre
transformações geométricas que o levam para a situação identificada na Figura B. O polígono
da Figura B pode ser obtido a partir da aplicação da seguinte seqüência de transformações aos
vértices do polígono da Figura A:
(A) rotação em torno do ponto (0,0); escala com fator uniforme e = 2.
(B) rotação em torno do ponto P1(x1, y1); escala com fator uniforme e = 0,5.
(C) translação com parâmetros de deslocamento dx = -x1, dy = -y1; rotação em torno do ponto
(0, 0); escala com fator uniforme e = 1; translação com parâmetros de deslocamento dx=
x1 e dy = y1.
(D) escala com fator uniforme e = 2; translação com parâmetros de deslocamento dx = x1 e
dy = y1; rotação em torno do ponto P1(x1, y1);
(E) translação com parâmetros de deslocamento dx = -x1 e dy = -y1; rotação em torno do
ponto P1(x1, y1); translação com parâmetros de deslocamento dx = x1 e dy = y1; escala com
fator uniforme e = 0,5.
Resposta e Comentários:
A seqüência de transformações geométricas é ilustrada em detalhes na figura abaixo, isto é:
Translação para a origem (0,0) com dx = -x1 e dy = y1;
Rotação em torno da origem (eixo z);
Translação para o ponto P1(x1,y1) com dx = x1 e dy = y1;
Transformação de escala não existe a não ser com e = 1, isto é com a matriz identidade.
Portando a resposta correta é: c).
Veja a ilustração abaixo.
14. Julgue os itens a seguir, acerca de Agentes Inteligentes.
I.
II.
III.
Agentes Inteligentes são entidades cuja estrutura é desenhada para perceber seu ambiente
através de sensores e interagindo com o ambiente com mecanismos denominados de
atuadores.
Agentes Inteligentes são computadores com capacidade de raciocínio e decisão, podendo
substituir o homem em suas tarefas;
Agentes Inteligentes são entidades físicas com capacidade e racionalidade comparáveis
aos humanos;
IV.
V.
Agentes Inteligentes são maquinas controladas remotamente executam tarefas com alta
precisão;
Agentes Inteligentes são humanos que tem agendas pré-definidas e as executam de forma
brilhante.
Estão certos apenas o(s) iten(s)
(A) I
(B) I e V
(C) II e IV
(D) V
(E) III e IV
Resposta e Comentários:
Obedecendo a definição do livro do Russel, a resposta correta é I. Agentes Inteligentes é
uma entidade que interage com o meio, percebe através de sensores e atua através dos atuadores.
15. A gramática para a linguagem {WXWR| W
I.
II.
III.
{a,b}
eX
{C}
} é dada por:
P 0P | 1P | 11
0I | 1P
I OP | 1I | λ
P aPa | bPb | C
C cC | λ
Estão certos apenas os itens
(A) I e II
(B) II e III
(C) I
(D) III
(E) II
Resposta: letra D
16. Com base nas técnicas de comutação de pacotes e circuito, assinale a afirmativa INCORRETA.
(A) A comunicação via comutação de circuitos pressupõe a existência de um caminho
dedicado de comunicação entre as estações.
(B) A comutação por pacotes é uma técnica store-and-forward na qual os pacotes caminham
de nó em nó pela rede, sendo armazenados e retransmitidos sucessivamente.
(C) A taxa de transmissão nas redes de comutação por pacote é constante e estabelecida no
momento da conexão.
(D) A utilização de redes comutadas por circuitos para transmissão de tráfego com taxa de
bits variável, ou tráfego em rajadas, causa um desperdício da capacidade da rede.
(E) Os pacotes de uma mesma mensagem, na comutação por pacotes, podem estar em
transmissão simultaneamente pela rede.
Resposta: INCORRETA (C) taxa de transmissão constante e estabelecida no momento da conexão é
característica da comutação de circuitos e não de pacotes.
17. Uma integração de Sistemas Computacionais formando uma rede, tipicamente é implementada
através da instalação de uma Arquitetura de Rede, que é composta de camadas e protocolos, em
cada um dos elementos que compõem esta rede. Considere que estações “conversam” quando
aplicações de usuários conseguem comunicar-se, sintática e semanticamente, através da Rede de
Computadores. Baseados nesta premissa e em todos os conceitos associados à implementação e
utilização das redes de computadores podemos afirmar como certo:
(A) Computadores com arquiteturas de redes diferentes conseguem “conversar”.
(B) Computadores com arquiteturas de rede parecidas conseguem “conversar”.
(C) Computadores com arquiteturas de redes diferentes podem “conversar” através de um
gateway ou conversor de protocolos.
(D) Computadores com arquiteturas diferentes podem “conversar” através de multiplexadores.
(E) Nenhuma delas é uma afirmação correta.
(C) Computadores com arquiteturas de redes diferentes podem “conversar” através de um gateway
ou conversor de protocolos.
18. Dentro do paradigma da orientação a objeto, podemos dizer que um método é
(A) Um determinado tipo de classe de objetos.
(B) Um determinado tipo de atributo de um objeto.
(C) Ação que se aplica aos objetos de uma classe.
(D) Um tipo de relacionamento entre objetos
(E) Todas as afirmativas acima estão incorretas
Um método é definido como sendo uma ação que se aplica aos objetos de uma classe, portanto, a
resposta correta é a alternativa c.
19. Acerca da orientação a objetos em C++, julgue os itens que se seguem.
I
O operador new aloca dinamicamente memória para um objeto de um tipo especificado e
retorna um ponteiro para tal tipo.
II Um objeto constante deve ser inicializado; ele não pode ser modificado depois de ter sido
criado.
III O operador delete libera memória previamente alocada pelo operador new.
IV Um array pode armazenar vários tipos diferentes de dados.
Estão certos apenas os itens
(A) I e II.
(B) I e III.
(C) I e IV.
(D) I, II e III.
(E) III e IV.
Resposta: (D)
20. Uma das atividades do processo de produção de software é o estabelecimento de uma baseline.
Uma baseline segundo a NBR ISO/IEC 12207 é uma versão:
(A) aprovada de um item de configuração fixada em um determinado momento durante o ciclo
de vida do software.
(B) aprovada de um item de configuração pelo gerente de projeto durante o ciclo de vida do item
de configuração.
(C) formalmente aprovada de um item de configuração pelo gerente de projeto durante o ciclo
de vida do software.
(D) formalmente aprovada, de um item de configuração fixada em um determinado momento
durante o ciclo de vida do item de configuração.
Gabarito:D
21. Operações de consultas SQL submetidas para execução são tratadas pelo SGBD através das
rotinas de processamento e a otimização de consultas. Pode-se afirmar que:
(A) No caso de junções, a estratégia de laços aninhados oferece sempre o menor custo por não
considerar a existência de índices
(B) A existência de índices propicia a identificação da melhor expressão equivalente em Álgebra
Relacional
(C) A otimização por regras heurísticas sempre é utilizada por não necessitar de informações
estatísticas, permitindo melhor performance
(D) A otimização por custos possibilita a escolha do plano de execução de menor custo,
baseando-se em informações disponíveis, como por exemplo, a existência de índices e
informações estatísticas
(E) Nenhuma das respostas está correta
Gabarito: (d)
22. Fazer estimativas de recursos em desenvolvimento de software é uma tarefa difícil para o
gerente, devido a vários fatores. Entre as alternativas abaixo apenas uma não contribui para
esta dificuldade, Assinale-a.
(A) Requisitos e escopo mudam durante o desenvolvimento;
(B) Defeitos são encontrados, durante o desenvolvimento e demandam retrabalho;
(C) Não há possibilidade de montar uma base de dados histórica sobre estimativa;
(D) Produtividade da equipe varia durante o desenvolvimento
(E) Requisição de recursos técnicos
Resp: c – As possibilidades existem, só precisa de organização, persistência, dedicação, controle.
Todas as outras formam o leque de problemas encontrados pelo gerente ao fazer estimativas em
desenvolvimento de software.
23. O diagrama de classes da UML permite diagnosticar uma estrutura de código para cada um dos
diversos tipos de relacionamentos existentes entre as classes de um sistema de software
orientado a objetos.
Dessa forma, considere a figura a seguir que ilustra um diagrama de classes com cinco
relacionamentos (numerados de 1 a 5) existentes entre seis classes.
Considere também os blocos de código de I a VII, codificados em Java, que representam certos
relacionamentos entre classes:
Bloco I
class ClasseA extends ClasseB{ .........}
Bloco II
class ClasseD implements ClasseE {........}
Bloco III
class ClasseA
{
ClasseD d;
}
Bloco IV
class ClasseA
{
ClasseF f;
}
Bloco V
class ClasseC
{
Void int metodoX(ClasseA a) { ……. }
}
Bloco VI
class ClasseA
{
Void metodoY(ClasseC c) {……}
}
Bloco VII
class ClasseE implements D{…….}
De acordo com os relacionamentos ilustrados no diagrama de classes da figura anterior e conforme
os blocos de código estabelecidos, relacione corretamente o bloco de código que corresponda com o
respectivo relacionamento e marcando a alternativa correta.
(A) Blocos I, II e III corretos
(B) Blocos II, IV e VII corretos
(C) Blocos II, IV e VI corretos
(D) Blocos IV, V e VI corretos
(E) Blocos IV, V e VI incorretos
Resposta: letra (C)
24. As Linguagens de Programação Imperativas são caracterizadas por realizar avaliação de
expressões e a atribuição dos resultados às variáveis. Existem programas muito úteis que são
construídos por inteiro de atribuições de valores a variáveis. Alguns programas exigem que
operações sejam efetuadas de forma flexíveis e eficientes. Para que isso ocorra, pelo menos dois
mecanismos de lingüística, adicionais, são necessários, faça a sua escolha:
I.
II.
III.
IV.
V.
Tipo de Dados Abstrato;
Seleção e controle de fluxo de execução;
Meios de repetir a execução de um grupo de instruções;
Funções e Sub-rotinas;
Manipulador de Exceção.
A resposta correta é:
(A) I e II
(B) II e III
(C) IV e V
(D) I e III
(E) II e IV
Resposta e Comentários:
As LP´s imperativas foram incrementadas por dois mecanismos de linguagem, que
permitiram a escolha de seqüências de execução de instruções (blocos) - denominadas de
instruções de seleção, e a repetição de um conjuntos de instruções – denominadas de instruções de
repetição. A estrutura que congrega esses mecanismos é conhecida como estrutura de controle.
(Portanto a resposta correta é: B).
Vale a pena lembrar que nesse ponto, nasceu o paradigma estruturado ou procedural.
25. Sobre algoritmos de busca podemos dizer que:
(A) Problemas de natureza combinatória são resolvidos de forma eficiente através de algoritmos
de busca exaustiva.
(B) O algoritmo A* depende da qualidade da heurística utilizada para ser mais eficiente.
(C) A busca em profundidade sempre encontra a solução ótima para o problema.
(D) A busca em extensão pode ser incompleta quando se eliminam estados repetidos.
(E) A Busca Gulosa (greedy search) é a mais eficiente de todas porque segue diretamente até a
solução pelo espaço de busca.
RESPOSTA 1)
( A ) Falso porque os algoritmos de busca exaustiva testam combinação por combinação do espaço
de estado para chegar à solução do problema. Não otimizam o processo de busca e por isso testam
mais estados possíveis do que seria necessário.
( B ) Verdadeiro porque se a heurística for admissível e de boa qualidade haverá a expansão do
menor número possível de estados do espaço de busca. No caso ideal a heurística levaria à expansão
somente dos estados que constituem o caminho até à solução.
( C ) Falso porque ela pode encontrar uma solução “não ótima” primeiro em seu caminho de busca e
encerrará.
( D ) Falso porque a busca em extensão só não se completa se não forem eliminados os estados
repetidos quando então o algoritmo entra em ciclo.
( E ) Falso porque ela não tenta encontrar o caminho mais curto até a solução ótima. A Busca
Gulosa procura seguir o caminho que aparentemente leva diretamente a uma solução melhor.
26. Considere um arquivo texto que contenha uma mensagem de 10.000 caracteres utilizando os
caracteres A, B e C, com probabilidades 0,1 , 0,1 e 0,8 respectivamente. Ao utilizar o algoritmo
de Huffman para compressão/codificação do referido texto, as seguintes afirmativas são
apresentadas.
I.
II.
III.
O comprimento médio dos códigos para os referidos caracteres é 1,2.
Se forem utilizados todos os pares possíveis de símbolos para a construção da árvore de
Huffman, então o comprimento médio dos códigos para os referidos pares é menor que 1,2
por caractere.
A codificação de Huffman a partir de todos os pares possíveis de caracteres sempre produz
códigos de menor comprimento médio.
Os dados acima permitem afirmar que:
(A) apenas a afirmativa I é verdadeira.
(B) apenas as afirmativas I e II são verdadeiras.
(C) apenas as afirmativas I e III são verdadeiras.
(D) apenas as afirmativas II e III são verdadeiras.
(E) todas as afirmativas são verdadeiras.
( B ) apenas as afirmativas I e II são verdadeiras.
27. Acerca de Linguagens Formais e Autômatos
Assinale a opção correta.
(A) Somente as Expressões Regulares e as Gramáticas Regulares são ferramentas apropriadas
para representar linguagens regulares os Autômatos Finitos não são adequados porque, por
serem máquinas de estados finitos não conseguem representar linguagens infinitas.
Errada: Os autômatos finitos também representam linguagens regulares, eles somente são finitos em
quantidade de estados, não em poder de representação
(B) Uma situação comum para se abandonar a representação de linguagem regular, mais
simples, e adotar a linguagem livre de contexto é a presença de pares de símbolos do
alfabeto que trabalham no estilo abre e fecha, como ( e o ).
Correta: As linguagens regulares não possuem representatividade suficiente para controlar símbolos
que trabalham aos pares, lembrando que podemos ter infinitas ocorrências de paras dentro de pares (
.... ( .....(.....) ....) .......)
(C) Um Autômato finito com movimentos vazios não pode ser considerado com Autômato
Finito Não Determinístico.
Errada: todo autômato que possua explicitamente transições com cadeia vazia é Não determinístico,
pois, o estado de origem que leva a um estado diferente pela cadeia vazia, possui uma auto transição
por cadeia vazia para si próprio criando, assim, uma situação de não determinismo.
(D) Para um dada linguagem regular somente existe um autômato finito determinístico capaz de
representá-la adequadamente.
Errada: uma linguagem regular pode ser representada por vários autômatos, entretanto, somente o
AFD mínimo não conterá redundâncias.
(E) Sobre a implementação do AFD é incorreto afirmar que pode ser obtida através de um laço
infinito com duas cláusulas “switch case” aninhadas.
Errada: pode-se dizer sim que a implementação do AFD é obtida através de um laço infinito com
duas cláusulas “switch case” aninhadas
28. Estudos baseados na análise de diversos projetos de desenvolvimento de software sugerem que
tais projetos têm maior chance de sucesso quando empregam metodologia e gerenciamento
alinhados ao paradigma de desenvolvimento de novos produtos, em contraponto ao paradigma
de produção industrial. Com base nessas observações, a maioria das metodologias modernas de
desenvolvimento de software recomenda:
(A) concluir o trabalho de especificações dos requisitos do sistema, antes de iniciar as atividades
de projeto e implementação.
(B) planejar detalhadamente no início do projeto todas as fases e atividades do mesmo, de forma
que seja possível estimar com precisão o esforço necessário e os prazos de cada atividade.
(C) providenciar, desde o início do projeto, mecanismos para prevenir e bloquear solicitações de
mudanças de forma a garantir que será entregue exatamente o que foi especificado.
(D) dividir o trabalho em iterações curtas, com prazos fixos, e não permitir que as mesmas
avancem sobre os prazos, reduzindo o escopo da iteração, se necessário.
(E) não produzir documentação técnica para o sistema, tendo em vista que a mesma já nasce
condenada a ficar desatualizada, investindo melhor o tempo em atividades de
implementação e testes exaustivos.
A RESPOSTA correta é a letra D. A maioria das metodologias mais modernas propõem
desenvolvimento iterativo e incremental..
29. Sistemas computacionais são dotados de mecanismos de atendimento a interrupções. Estes
mecanismos não só possibilitam o processamento de eventos assíncronos à execução de um
processo, como também a eventos e exceções decorrentes da execução de uma instrução. Dito
isto, responda, em até 5 linhas, às questões abaixo:
a) Que características deve ter um dispositivo de entrada para que seja vantajoso atender a eventos
por ele gerado sem o uso de DMA?
b) Como o mecanismo de memória virtual interage com o atendimento a interrupções?
1
2
3
4
5
6
7
8
9
10
Respostas:
a) A taxa de entrada de dados deve ser baixa. Fisicamente o dispositivo pode utilizar um meio de
comunicação de alta velocidade, mas a freqüência de chegada de dados deve ser baixa. Um
dispositivo de entrada com baixa velocidade também é candidato a não usar o DMA.
b) O mecanismo de memória virtual consiste em alocar memória principal somente para um
subconjunto das páginas necessárias à execução de um processo. Este subconjunto é dinâmico, ou
seja, sofre alterações durante a execução. Páginas que ainda não estão em memória podem ser
referenciadas a qualquer instante e daí devem ser carregadas na memória principal. Isto pode
ocorrer de duas formas: o contador de programa pode conter o endereço de uma instrução que
pertence a uma página não alocada, ou a instrução em execução pode usar um operando memória
pertencente a uma página não alocada. Qualquer dos dois eventos deve interromper a CPU e
provocar a chamada ao Sistema Operacional para que este aloque a página necessária na memória
principal.
30. Escreva um artigo, máximo de 10 linhas, defendendo os testes de validação de software como
um fator importante para a diminuição do seu custo de manutenção.
RASCUNHO
1
2
3
4
5
6
7
8
9
10
Aqui pode ser argumentado que o custo da correção, de um erro, após a implantação do
software chega a ser 100 vezes o custo de corrigi-lo durante o processo de desenvolvimento.