quiz image

Cap10 - Introdução aos RTOS

SelfDeterminationOmaha avatar
SelfDeterminationOmaha
·
·
Download

Start Quiz

Study Flashcards

40 Questions

Qual é a principal diferença entre um RTOS e um sistema operacional convencional?

O requisito de tempo como parâmetro fundamental

O que é uma característica fundamental de um sistema RTOS?

A alta confiabilidade e intolerância a atrasos

Qual é o papel do scheduler em um RTOS?

Determinar qual tarefa é executada e quando

O que são os objetos em um RTOS?

Recursos disponibilizados pelo kernel

Qual é um exemplo de uso de sistemas RTOS?

Um monitor batimento cardíaco de uma UTI

Qual é o papel do núcleo em um RTOS?

Fornecer apenas a lógica mínima, algoritmos de escalonamento e gerenciamento de recursos

Quais são exemplos de algoritmos de escalonamento em um RTOS?

Round-Robin e escalonamento preemptivo

O que é um RTOS composto por vários módulos?

Uma combinação de vários módulos, incluindo o núcleo, sistema de arquivos, suporte de rede, etc.

O que é um serviço no contexto do kernel?

Uma operação realizada pelo kernel em um objeto

Qual é o propósito do Board Support Package (BSP)?

Fornecer uma interface entre o RTOS e a plataforma de hardware

O que é necessário para implementar um BSP?

Conhecimento em sistemas operacionais e hardware

O que é o Scheduler no contexto do kernel?

O escalonador de processos que determina qual tarefa executar e quando

Quais são duas preocupações específicas do Scheduler?

Previsibilidade e tempo de resposta

O que é o processo de RTOS porting?

Adaptação de um BSP já desenvolvido para um novo hardware

Quais informações possui o BSP?

Sobre as características do hardware

O que é uma característica do BSP?

É específico para um determinado hardware

O que é uma entidade escalonável em um sistema de tempo real?

Um objeto do kernel que compete pelo tempo de execução

Quais são exemplos de entidades escalonáveis?

Tarefas e processos

Qual é a principal diferença entre processo e tarefa?

Um processo fornece recursos de proteção de memória melhores

O que é multitarefa em sistemas de tempo real?

A habilidade do sistema de lidar com múltiplas atividades

Como o kernel realiza multitarefa?

Intercalando as execuções sequencialmente

O que são rotinas de serviço de interrupção (ISR)?

Rotinas acionadas para executar por causa de interrupções de hardware

Quanto tempo é gasto na troca de contexto a cada 4 ms de trabalho útil?

1 ms

Qual é o problema de configurar um quantum muito curto?

Reduz a eficiência da CPU

Qual é o papel do algoritmo de escalonamento?

Definir a ordem de execução das tarefas

O que é um Scheduler em sistemas de tempo real?

Um objeto do kernel que define a ordem de execução das tarefas

Quantos processos estarão na lista de processos prontos se dez usuários interativos pressionarem a tecla enter ao mesmo tempo?

10 processos

Por que um quantum longo pode ser problemático?

Causa um tempo de resposta ruim

Qual é o objetivo de configurar um quantum em torno de 20-50 ms?

Encontrar um compromisso razoável

Qual é o efeito de configurar o quantum como 100 ms?

Reduz o tempo desperdiçado na troca de contexto

O que é característico da programação sequencial?

Instruções são executadas uma por vez

Qual é o problema se dez usuários interativos pressionarem a tecla enter ao mesmo tempo?

O último processo pode esperar muito tempo

Quais são as principais razões pelas quais a abordagem não é adequada para aplicações embarcadas em tempo real?

Porque lidam com múltiplas entradas e saídas dentro de limites temporais rigorosos.

Qual é o objetivo da programação concorrente em sistemas embarcados em tempo real?

Dividir a aplicação em unidades de programa pequenas e escalonáveis.

O que é uma task em um sistema embarcado em tempo real?

Um fluxo de execução independente que pode competir com outras tasks concorrentes pelo tempo de processamento do processador.

Quais são os elementos que compõem uma task em um sistema embarcado em tempo real?

Nome associado, ID único, prioridade, bloco de controle de tarefa associado, pilha e rotina de tarefa.

Qual é o objetivo da decomposição de uma aplicação em múltiplas tasks concorrentes?

Otimizar o processamento.

Por que a programação concorrente é necessária em sistemas embarcados em tempo real?

Porque lidsam com múltiplas entradas e saídas dentro de limites temporais rigorosos.

Qual é o papel dos desenvolvedores em relação à programação concorrente?

Decompor a aplicação em unidades de programa pequenas e escalonáveis.

O que é necessário para atender aos requisitos de desempenho e temporização de um sistema em tempo real?

Programação concorrente.

Study Notes

Introdução aos RTOS

  • RTOS é um software responsável pelo escalonamento de tarefas, gestão de recursos do sistema e por fornecer uma camada de abstração para o desenvolvimento do código da aplicação.
  • RTOS pode ser composto apenas pelo seu núcleo, que fornece apenas a lógica mínima, algoritmos de escalonamento e gerenciamento de recursos.
  • Exemplos de uso de sistemas RTOS: um monitor batimento cardíaco de uma UTI que precisa monitorar um paciente e disparar um alarme caso alguma irregularidade seja identificada.

Componentes de um RTOS

  • Scheduler (Escalaonador): algoritmo que determina qual tarefa é executada e quando.
  • Objects: recursos disponibilizados pelo kernel que ajudam os desenvolvedores a criar aplicações para sistemas embarcados em tempo real.
  • Services: operações que o kernel realiza em um objeto, por exemplo, operações para lidar com temporização, gerenciamento de interrupção, gerenciamento de memória, etc.

Board Support Package (BSP)

  • Interface entre o RTOS e a plataforma de hardware.
  • BSP pode ser definida como um conjunto de drivers específico para os componentes de hardware.
  • BSP possui informações sobre as características do hardware.

Scheduler (Escalaonador de Processos)

  • O scheduler (escalonador) está no cerne de cada kernel e fornece os algoritmos necessários para determinar qual tarefa (task) executar e quando.
  • Duas preocupações específicas do escalonador: tempo de resposta e previsibilidade.

Entidades Escalonáveis

  • Uma entidade escalonável é um objeto do kernel que pode competir pelo tempo de execução em um sistema, com base em um algoritmo de escalonamento predefinido.
  • Exemplos de entidades escalonáveis: tarefas (tasks) e processos (processes).

Multitarefa

  • Multitarefa é a habilidade do sistema operacional de lidar com múltiplas atividades dentro de prazos definidos.
  • Um kernel em tempo real pode ter várias tarefas que ele precisa escalonar.

Escalonamento Round-Robin

  • O escalonamento Round-Robin é um algoritmo de escalonamento que configura um tempo de quantum para cada processo.
  • O valor do quantum é importante, pois se for muito curto, causa muita troca de contexto e reduz a eficiência da CPU, e se for muito longo, causa um tempo de resposta ruim.

Tasks (Tarefas)

  • Na programação sequencial, as instruções são executadas uma por vez, em uma cadeia predefinida de instruções.
  • A programação concorrente requer dos desenvolvedores a decomposição de uma aplicação em unidades de programa pequenas e escalonáveis.
  • Definição de task: um fluxo de execução independente que pode competir com outras tasks concorrentes pelo tempo de processamento do processador.

Saiba mais sobre os sistemas operacionais em tempo real, responsáveis pelo escalonamento de tarefas e gestão de recursos do sistema. Conheça os exemplos de uso desses sistemas.

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free
Use Quizgecko on...
Browser
Browser