Você está na página 1de 11

Lista de Exercícios

Sistemas Avançados
Código da Disciplina: PEX0253/PET2245

1 Potência e Energia Conscientes


Problema 1: Porque o consumo energético é considerado um problema no
escopo de sistemas embarcados em tempo real?
Problema 2: Explique como é calculada a energia para executar um pro-
grama?
Problema 3: Como a industria de computadores conseguiu minimizar o
consumo energético?
Problema 4: Julgue criticamente a seguinte frase: "Alta performance e a
eficiência energética caminham de mãos dadas."

2 RTOS e Escalonamento
Problema 5: O que são sistemas multitarefas?
Problema 6: Quais são os dois paradigmas para construção de sistemas
multitarefas? Explique cada um deles.
Problema 7: O que é um sistema operacional em tempo real e quais seus
principais recursos?
Problema 8: Quais as principais semelhanças e diferenças entre RTOS
(sistemas operacionais em tempo real) e GPOS (sistemas operacionais de
propósito geral)?
Problema 9: O que é uma tarefa?
Problema 10: Qual é o ciclo de vida de uma tarefa? Explique todas as
etapas.
Problema 11: O que é um escalonador de tarefas e para que ele serve?
Problema 12: O que é um despachador e como ele funciona? Dê um
exemplo.
Problema 13: Qual a diferença entre um escalonador preemptivo e não-
preemptivo?

1
Problema 14: Explique o funcionamento dos algoritmos: executivo cí-
clico, preemptive priority-based, rate monotonic (RM), Earliest Deadline
First (EDF) e Time-slicing/Round robin.

3 Projeto de Sistemas
Problema 15: Explique o que é um projeto e um processo e quais são suas
características?
Problema 16: O que é a gestão de projeto? Explique quais são as vantagens
de realizar a gestão de projeto?
Problema 17: Quais são as etapas do ciclo de vida de um projeto?
Problema 18: Explique as metodologias waterfall (tradicional) e ágil des-
tacando suas características.
Problema 19: Para elaborar um projeto nos deparamos com 3 restrições.
Quais são elas? Explique como cada uma delas pode ser considerada uma
restrição para construção de um projeto.
Problema 20: No contexto de projeto de um software de compras virtuais
o que pode ser interpretado como restrição obrigatória, restrição suave e
restrição limitante? Justifique sua resposta.
Problema 21: Explique com suas palavras o estilo de projeto baseado em
modelo e o estilo baseado em componentes.
Problema 22: Qual é a diferença entre verificação e validação?
Problema 23: Explique como é realizada uma inspeção de software e teste
de software.

4 Internet das Coisas


Problema 24: O que é a internet das coisas?
Problema 25: Quais os benefícios e riscos associados a internet das coi-
sas?
Problema 26: Como a internet das coisas está relacionada a disciplina de
sistemas em tempo real?

2
5 Experiência com a disciplina
Problema 27: Escreva um pequeno texto (mínimo 15 linhas) sobre tudo
o que você vivenciou nessa disciplina. Aponte quais foram suas dificuldades,
tópicos que mais gostaram, sugestões para o próximo semestre, dentre outras
coisas que julgarem necessário para tornar essa disciplina mais envolvente.

3
Problema 1 –
Dispositivos móveis podem ser movidos a bateria (tempo depende do consumo
de energia); Dissipação de energia eleva a temperatura do chip e isso pode gerar
problemas de confiabilidade do chip; altos custos para operação e refrigeração de grandes
datacenters; Emissões de carbono global da indústria de tecnologia da informação (TIC)
devido aos datacenters consumirem muita energia.
Problema 2 –
𝐸 =𝐸 +𝐸 +𝐸 +𝐸
𝐸 : Energia total necessária;
𝐸 : Energia realizar computação
• Energia dinâmica: responsável pelas trocas de CIs;
• Energia estática: energia para ligar Cis.
𝐸 : Energia consumida pela memória SRAM, DRAM, ROM, entre outros.
𝐸 : Energia para comunicação
• Energia de transmissão
• Energia de recepção
𝐸 : Energia para entrada/saída Tela, sensores e atuadores
Problema 3 –
• - Reduzindo o tamanho dos transistores;
• -Acionamento/Desligamento do relógio: Há um consumo desnecessário de
energia para manter o relógio funcionando mesmo sem utilizar ele.
• - Lógica multilimiar: Temos transistores funcionando com diferentes tensões
de energia. Os transistores de alto limiar têm uma corrente de fuga menor,
mas são mais lentos do que os transistores de baixo limiar. Assim, é possível
economizar energia dinâmicas e estática combinando adequadamente esses
dois tipos de transistores.
Problema 4 –
A afirmação de que alta performance e eficiência energética caminham de mãos
dadas é incoerente. Essas características geralmente são opostas entre si, já que buscar
alta performance muitas vezes implica em maior consumo de energia, enquanto priorizar
a eficiência energética pode implicar em menor desempenho. É necessário encontrar um
equilíbrio entre esses dois aspectos, pois é quase impossível maximizar ambos
simultaneamente.
Problema 5 –
São sistemas que conseguem processar várias tarefas ao mesmo tempo.
Problema 6 –
• Bare-metal (sem RTOS): Paradigma executivo cíclico (com ou sem
interrupção);
• RTOS: Algoritmos de escalonamento de tarefas preemptivo (antecipado).
Problema 7 –
Softwares responsáveis por escalonar execuções de maneira temporal, gerenciar
recursos do sistema, e prover uma fundação/camada consistente para o
desenvolvimento de código de aplicações.

• Serviços de gerenciamento de tempo;


• Serviços de tratamento de interrupção;
• Serviços de gerenciamento de memória.
Problema 8 –
Semelhanças:
• Multitarefa;
• Gerenciamento de recursos de hardware (drivers) e software;
• Prover serviços básicos do SO para aplicação (gerenciamento de tarefas,
interrupções...);
• Abstração do hardware por parte do software de aplicação (simplificam o
hardware através do software).
Diferenças:
• São mais confiáveis no contexto de sistemas embutidos;
• Preocupação com performance;
• Requisitos de memória reduzidos (geralmente nem tem interface gráfica);
• Políticas de escalonamento customizáveis para STR;
• Portabilidade entre plataformas de hardware distintas (PIC, ARM, ...)
• Inclusive com recompilação do sistema operacional e seus módulos.
Problema 9 –
Computação executada por um processador numa ordem sequencial.
Problema 10 –
1. Nova: Tarefa acabou de ser gerada;
2. Pronta: Após ser carregada na memória;
3. Executando: Recebe o processador;
4. Suspensa: Quando a tarefa não pode ser terminada por algum dado ou
evento externo;
5. Terminada: Término da execução da tarefa.
Problema 11 –
É um algoritmo que determina qual entidade/tarefa executar e quando executar.
• Escalonador deve escolher a tarefa de acordo com critérios pré-
estabelecidos (prioridade, deadline, entre outros) dentre os processos
prontos para (ready) para executar;
• Preempção (antecipação) pode ser empregada para retirar um processo em
execução e colocar outro mais prioritário. Neste caso, uma entidade
escalonável é um objeto do kernel que compete por um tempo de execução
no sistema, baseado num algoritmo de escalonamento pré-definido; Tarefas
ou processos são exemplos de entidades escalonáveis;
Problema 12 –
Parte do escalonador responsável por executar a troca de contexto e alterar o fluxo
de execução.
Problema 13 –
No escalonamento preemptivo, o sistema operacional pode interromper um
processo em execução e passá-lo para o estado de pronto, com o objetivo de alocar outro
processo na UCP. No escalonamento não-preemptivo, quando um processo está em
execução, nenhum evento externo pode ocasionar a perda do uso do processador.
Problema 14 –
• Executivo cíclico: Um escalonador é considerado estático se tomar
previamente todas as decisões de escalonamento, gerando, em tempo de
compilação, uma tabela de escalonamento com a sequência de execução
das tarefas.
• Preemptive priority-based: É um método preventivo de algoritmo de
agendamento de CPU que funciona com base na prioridade de um processo.
O escalonador agenda as tarefas para funcionar de acordo com a prioridade.
• Rate monotonic (RM): Modelo simplificado de tarefas, onde as tarefas são
independentes entre si. A prioridade das tarefas é uma função monotônica
da taxa de execução de uma tarefa. Em outras palavras, quanto menor o
período de execução, maior a prioridade atribuída.
• Earliest Deadline First (EDF): Algoritmo de atribuição dinâmica de
prioridades a um conjunto de tarefas periódicas, independentes e com metas
temporais iguais ao respectivo período, isto é, as tarefas possuem
prioridades dinâmicas; Prioridades são atribuídas para as tarefas de acordo
com os deadlines das chamadas correntes;
• Time-slicing/Round robin: O Round-Robin é um algoritmo escalonador de
tarefas que consiste em dividir o tempo de uso da CPU (Central Processing
Unit). Cada processo recebe uma fatia de tempo.

Problema 15 –
Um processo é um trabalho contínuo que produz resultados padronizados. Já um
projeto é um esforço temporário para criar um produto, serviço ou resultado exclusivo. O
projeto tem início e fim definidos, é executado por pessoas e recursos limitados e visa
atingir objetivos específicos.
As diferenças entre projeto e processo são abordadas nas páginas 5 e 6 do PDF. Enquanto
o processo é contínuo, o projeto tem início e fim definidos. O processo produz resultados
padronizados, enquanto o projeto busca criar algo exclusivo. Além disso, o projeto
envolve riscos e incertezas, enquanto o processo é mais previsível.
Problema 16 –
Gestão de projetos é o conjunto de conhecimentos, habilidades, técnicas e
ferramentas utilizadas para planejar, executar e monitorar um projeto. A gestão de
projetos visa garantir que o projeto seja concluído dentro do prazo, orçamento e escopo
definidos, além de minimizar riscos e maximizar a qualidade do produto final.
As vantagens da gestão de projetos são diversas. Ela permite um maior controle
dos processos envolvidos no projeto, garantindo o cumprimento dos prazos e
monitorando a lucratividade. Além disso, a gestão de projetos minimiza os riscos
envolvidos no projeto e permite uma maior agilidade na tomada de decisões. Outras
vantagens incluem um maior engajamento da equipe envolvida no projeto e uma maior
satisfação do cliente com o resultado final.
Problema 17 –
1. Inicialização: responsável pela autorização formal para iniciar um novo
projeto/fase.
2. Planejamento: desenvolve/amadurece o escopo do projeto e define como ele
deve ser realizado.
3. Execução: o projeto é colocado em prática através da mobilização da equipe.
4. Monitoramento e controle: verifica/mede o trabalho realizado e se condiz com
o planejado.
5. Encerramento: entrega final é feita ao cliente e atualiza base de conhecimento.
Problema 18 –
A metodologia waterfall é uma abordagem sequencial e linear, onde cada fase do
projeto é concluída antes de passar para a próxima. As fases incluem: requisitos, design,
implementação, testes e manutenção. É uma metodologia mais rígida e estruturada, que
exige um planejamento detalhado desde o início do projeto. É indicada para projetos com
requisitos bem definidos e estáveis.
Já a metodologia ágil é uma abordagem iterativa e incremental, onde o projeto é
dividido em ciclos curtos (sprints) de trabalho. Cada sprint tem um objetivo específico e
ao final dele é entregue um incremento funcional do produto final. A equipe trabalha em
colaboração constante com o cliente, adaptando-se às mudanças de requisitos ao longo
do projeto. É uma metodologia mais flexível e adaptável às mudanças no decorrer do
projeto.
Problema 19 –
As três restrições que devem ser consideradas na elaboração de um projeto são:
escopo, tempo e custo.
 Escopo se refere ao conjunto de atividades e entregas que o projeto deve
produzir. É uma restrição porque define os limites do projeto e o que deve
ser entregue ao final. Se o escopo não for bem definido, pode haver
problemas de entendimento entre a equipe e o cliente, além de riscos de
mudanças constantes no decorrer do projeto.
 Tempo se refere ao prazo para conclusão do projeto. É uma restrição porque
define um limite temporal para a realização das atividades e entrega das
entregas. Se o prazo não for bem definido ou gerenciado, pode haver atrasos
na entrega do projeto ou comprometimento da qualidade das entregas.
 Custo se refere aos recursos financeiros disponíveis para realização do
projeto. É uma restrição porque define um limite orçamentário para a
realização das atividades e entrega das entregas. Se o custo não for bem
gerenciado, pode haver problemas financeiros durante o projeto ou
comprometimento da qualidade das entregas.
Problema 20 –
 Restrição obrigatória: A segurança das transações financeiras é uma
restrição obrigatória, pois é fundamental garantir que as informações dos
clientes e suas transações sejam protegidas contra fraudes e ataques
cibernéticos. Essa restrição não pode ser ignorada ou flexibilizada, pois
pode colocar em risco a confiança dos clientes no software.
 Restrição suave: A interface do usuário é uma restrição suave, pois pode
ser ajustada de acordo com as preferências dos usuários e as tendências do
mercado. Embora seja importante oferecer uma interface intuitiva e fácil de
usar, essa restrição não é tão rígida quanto a segurança das transações
financeiras.
 Restrição limitante: O orçamento disponível para o desenvolvimento do
software é uma restrição limitante, pois pode afetar diretamente a escolha
de tecnologias, recursos humanos e prazos para entrega do projeto. Essa
restrição deve ser levada em consideração desde o início do processo de
planejamento para garantir que o projeto seja viável dentro das limitações
financeiras estabelecidas.
Problema 21 –
O estilo de projeto baseado em modelo enfatiza a criação de modelos abstratos do
sistema antes da implementação, com foco na modelagem, abstração, transformação e
reutilização dos modelos.
Já o estilo de projeto baseado em componentes enfatiza a construção de sistemas
pela composição de componentes reutilizáveis, com destaque para modularidade,
reutilização, interoperabilidade e independência dos componentes.
Problema 22 –
A verificação tem como objetivo descobrir se o software está sendo construído
corretamente, ou seja, se está de acordo com sua especificação. Já a validação tem como
objetivo avaliar se o software é útil e usável em uma situação operacional, ou seja, se está
sendo construído o produto certo para atender às necessidades do usuário. A verificação
busca garantir que o software foi construído corretamente, enquanto a validação busca
garantir que o software foi construído para atender às necessidades do usuário.
Problema 23 –
A inspeção de software é uma análise estática do sistema com o objetivo de
descobrir problemas. Ela é baseada em ferramentas e análise de código, e pode ser
realizada em diferentes representações do sistema, como especificações, diagramas e
código-fonte. Durante a inspeção, os revisores examinam o material em busca de erros,
inconsistências e violações de padrões. A inspeção é uma técnica eficaz para encontrar
defeitos no início do processo de desenvolvimento, reduzindo assim os custos e o tempo
gasto na correção desses defeitos posteriormente.
Já o teste de software é uma técnica dinâmica que envolve a execução do software
com o objetivo de descobrir defeitos. Ele pode ser realizado em diferentes níveis do
sistema, desde testes unitários até testes integrados e de aceitação. Durante o teste, são
criados casos de teste que representam diferentes cenários que podem ocorrer durante a
operação do sistema. Esses casos são executados e os resultados são comparados com os
resultados esperados para verificar se o software está funcionando corretamente. O teste
é uma técnica importante para garantir a qualidade do software antes da sua entrega ao
usuário final.
Problema 24 –
A Internet das Coisas (IoT , do inglês Internet of Things) é a interconexão de
dispositivos físicos e sistemas por meio da Internet. Esses dispositivos podem coletar e
trocar dados em tempo real, permitindo o controle e monitoramento remoto de diversos
objetos e sistemas. Exemplos incluem casas inteligentes, cidades inteligentes, saúde e
cuidados médicos, indústria e agricultura.
Problema 25 –
Benefícios da IoT:
 Habilitar a interação entre dispositivos: interação de máquina para máquina
(M2M);
 Obter dados (telemetria) a serem processados e transformados em
informação útil;
 Torna os dispositivos e equipamentos comunicáveis, permitindo que
enviem e/ou recebam dados. Possibilita conectar o mundo físico com o
mundo virtual.
 Permite a melhor tomada de decisões, com mais rapidez e com dados de
maior qualidade, no momento certo.
 Valor real é gerado pela interpretação dos dados e da atuação sobre eles.
Risco da IoT:
 Segurança cibernética
 Privacidade de dados
 Falhas de segurança
 Interoperabilidade limitada
 Dependência de conectividade
 Complexidade de gerenciamento de dados
 Impacto em sistemas críticos
Problema 26 –
A Internet das Coisas (IoT) está relacionada à disciplina de sistemas em tempo
real, pois muitos dispositivos IoT operam em ambientes que exigem respostas
instantâneas a eventos. A integração de sistemas em tempo real com a IoT é essencial
para garantir o desempenho adequado dos dispositivos conectados e atender aos
requisitos de tempo críticos. A IoT também fornece dados em tempo real para análise e
tomada de decisões em sistemas em tempo real. Em resumo, a IoT amplia as capacidades
e aplicações dos sistemas em tempo real, permitindo coleta de dados em tempo real,
tomada de decisões rápidas e sincronização precisa entre dispositivos conectados.

Você também pode gostar