Questões de Concursos Desenvolvimento de Software Embarcado

Resolva questões de Desenvolvimento de Software Embarcado comentadas com gabarito, online ou em PDF, revisando rapidamente e fixando o conteúdo de forma prática.

Filtrar questões
💡 Caso não encontre resultados, diminua os filtros.

1Q1063745 | Arquitetura de Software, Ciclo de Vida, Desenvolvimento de Software Embarcado, INPE, FGV, 2024

Com relação aos diversos modelos de ciclo de vida de um software, considere a seguinte situação hipotética:

Uma equipe inicia um projeto com uma abordagem linear e sequencial. No entanto, ao longo do projeto substitui esta abordagem por um modelo com ênfase em protótipos no início de cada estágio para validação de conceitos e na análise de riscos.

Assinale a opção que apresenta o modelo que esta equipe empregou inicialmente e o modelo pelo qual este foi substituído.
  1. ✂️
  2. ✂️
  3. ✂️
  4. ✂️
  5. ✂️

2Q1063746 | Arquitetura de Software, Ciclo de Vida, Desenvolvimento de Software Embarcado, INPE, FGV, 2024

Existem diversas abordagens para técnicas, modelos e processos de um ciclo de vida de desenvolvimento de software.
Relacione as afirmativas I, II, III e IV às denominações mais adequadas correspondentes a essas técnicas, modelos e processos.

I. Usa uma abordagem que capacita o desenvolvedor e o cliente a entender e reagir aos riscos em cada etapa evolutiva.
II. Requisitos dos usuários são priorizados e os requisitos de mais alta prioridade são incluídos nas iterações iniciais.
III. Apropriado quando os requisitos são bem compreendidos e as mudanças serão bastante limitadas durante o design.
IV. Usado quando o desenvolvedor não tem certeza da eficiência de um algoritmo, ou da forma da interação homem/máquina
  1. ✂️
  2. ✂️
  3. ✂️
  4. ✂️
  5. ✂️

3Q1063747 | Programação, Linguagens de Programação, Desenvolvimento de Software Embarcado, INPE, FGV, 2024

Um sistema gera um vetor fixo de dados para efetuar o controle de um processo usando o código em C abaixo, em um compilador que trabalha com inteiros de 32 bits:

int matriz[] = { 1, 2, 3, 4, 5, 6, 7, 8 };
int *v,final;
v = &matriz[1];
final = v[3];

Após a execução desse trecho de código, o valor de final é:
  1. ✂️
  2. ✂️
  3. ✂️
  4. ✂️
  5. ✂️

4Q1063748 | Programação, Assembly, Desenvolvimento de Software Embarcado, INPE, FGV, 2024

Softwares para sistemas embarcados podem ser desenvolvidos por meio de programação em linguagens assembly.

Com relação a linguagens assembly, analise as afirmativas a seguir.

I. São linguagens de programação de nível relativamente baixo, que utilizam mnemônicos equivalentes a representações de código binário (ou opcode) das instruções de uma determinada arquitetura de processador.
II. Em geral, possuem instruções de acesso direto à memória RAM, permitindo leitura e escrita de dados em posições determinadas por endereçamento direto.
III. São linguagens adequadas para se trabalhar com estruturas de dados complexas, tais como as classes, próprias de programação orientada a objetos.

Está correto o que se afirma em
  1. ✂️
  2. ✂️
  3. ✂️
  4. ✂️
  5. ✂️

5Q1063749 | Programação, Assembly, Desenvolvimento de Software Embarcado, INPE, FGV, 2024

Em um trecho de um programa em linguagem assembly para um microcontrolador 8051, foi encontrada a seguinte sequência de instruções:

MOV A, #049h
MOV B, #05h
MUL AB
RL A
RL A

Após o processamento dessas instruções, o valor armazenado no registrador acumulador é
  1. ✂️
  2. ✂️
  3. ✂️
  4. ✂️
  5. ✂️

6Q1063750 | Programação, Assembly, Desenvolvimento de Software Embarcado, INPE, FGV, 2024

Na programação de sub-rotinas em linguagem assembly, é comum o armazenamento temporário de dados e/ou de endereços, para que sejam restaurados logo após o retorno à função principal. As pilhas (stacks) são estruturas de dados do tipo LIFO (Last In, First Out) adequadas para armazenar dados e/ou endereços quando alguma sub-rotina é chamada. Os conjuntos de instruções das arquiteturas mais comumente utilizadas possuem instruções específicas de acesso à pilha.
Na arquitetura 8051, as instruções usadas para retirar dados da pilha e para armazenar dados na pilha, colocando-os em registradores de uso geral, são, respectivamente,
  1. ✂️
  2. ✂️
  3. ✂️
  4. ✂️
  5. ✂️

7Q1063751 | Sistemas Operacionais, Linux, Desenvolvimento de Software Embarcado, INPE, FGV, 2024

A divisão dos processos em threads permite a execução de tarefas de maneira paralela ou concorrente.
As threads, em um sistema operacional Linux,
  1. ✂️
  2. ✂️
  3. ✂️
  4. ✂️
  5. ✂️

8Q1063752 | Sistemas Operacionais, Threads, Desenvolvimento de Software Embarcado, INPE, FGV, 2024

Um conceito fundamental para o melhor aproveitamento de recursos por um sistema operacional é o de multithreading.
Para o emprego eficaz de multithreading em um sistema operacional, é fundamental a existência de mecanismos de sincronização eficientes. Nesse contexto, analise as afirmativas a seguir.

I. Por definição, semáforos possuem um contador, cujos valores podem ser 0,1 ou 2.
II. Mutexes são projetados para garantir que apenas uma thread possa acessar um recurso compartilhado por vez.
III. Mutexes podem ser considerados uma generalização de semáforos, por conta da maior flexibilidade do contador de um mutex.

Está correto o que se afirma em
  1. ✂️
  2. ✂️
  3. ✂️
  4. ✂️
  5. ✂️

9Q1063753 | Sistemas Operacionais, Hardware, Desenvolvimento de Software Embarcado, INPE, FGV, 2024

Com relação as situações em que a camada de abstração de hardware (HAL) de um sistema operacional é necessária, analise as afirmativas a seguir.

I. Quando um programador desenvolve um aplicativo sem ter que se preocupar com as características de hardware da máquina na qual ele vai ser executado.
II. Quando um aplicativo precisa ser altamente otimizado para um hardware específico, sem se preocupar com a portabilidade para outros dispositivos.
III. Quando é necessário acessar recursos de hardware específicos de um dispositivo, como sensores e periféricos, de maneira independente do hardware subjacente.

Está correto o que se afirma em
  1. ✂️
  2. ✂️
  3. ✂️
  4. ✂️
  5. ✂️

10Q1063754 | Arquitetura de Computadores, Memória, Desenvolvimento de Software Embarcado, INPE, FGV, 2024

A memória cache atua como um intermediário entre a CPU e a memória principal, sendo organizada em níveis.
Sobre este tipo de memória, analise as afirmativas a seguir.

I. A memória cache de menor nível (L1) é a que possui o maior tempo de acesso.
II. Os dados armazenados na memória cache de nível L1 são mais frequentemente acessados que aqueles no nível L3.
III. O tempo de acesso à memória cache não influencia o desempenho do processador.

Está correto o que se afirma em
  1. ✂️
  2. ✂️
  3. ✂️
  4. ✂️
  5. ✂️

11Q1063755 | Arquitetura de Computadores, Arquitetura de Processadores Risc, Desenvolvimento de Software Embarcado, INPE, FGV, 2024

Os processadores em geral, no que tange à sua arquitetura, podem ser classificados em dois grandes grupos: RISC e CISC.
Os processadores com arquitetura
  1. ✂️
  2. ✂️
  3. ✂️
  4. ✂️
  5. ✂️

12Q1063756 | Sistemas Operacionais, Desempenho, Desenvolvimento de Software Embarcado, INPE, FGV, 2024

As métricas de desempenho levam em consideração diferentes aspectos do desempenho computacional.
Sobre as métricas FLOPS e MIPS, analise as afirmativas a seguir.

I. FLOPS é a métrica mais adequada para ambientes cujos objetivos sejam gráficos detalhados e simulações físicas.
II. MIPS é relevante em contextos em que é necessária uma medida mais genérica e direta da execução de instruções pelo processador.
III. FLOPS pode ser imprecisa quando comparando processadores com arquiteturas distintas, ao contrário da MIPS, que fornece um indicador mais direto da capacidade de cálculo.

Está correto o que se afirma em
  1. ✂️
  2. ✂️
  3. ✂️
  4. ✂️
  5. ✂️

13Q1063757 | Sistemas Operacionais, Desempenho, Desenvolvimento de Software Embarcado, INPE, FGV, 2024

A métricas usada para classificar o desempenho de um processador é a chamada MIPS (Millions of Instructions per Second).
Nesse contexto, o valor do score dado pela métrica MIPS
  1. ✂️
  2. ✂️
  3. ✂️
  4. ✂️
  5. ✂️

14Q1063758 | Sistemas Operacionais, Desempenho, Desenvolvimento de Software Embarcado, INPE, FGV, 2024

O consumo consciente de energia é importante para minimizar o impacto ambiental de tecnologias computacionais.
Assinale a opção que indica a métrica usualmente empregada para avaliar a eficiência energética de sistemas computacionais de alto desempenho.
  1. ✂️
  2. ✂️
  3. ✂️
  4. ✂️
  5. ✂️
Utilizamos cookies e tecnologias semelhantes para aprimorar sua experiência de navegação. Política de Privacidade.