quiz image

Cap11 - EEA-27 Microcontroladores e Sistemas Embarcados: Aula 11 - RTOS

SelfDeterminationOmaha avatar
SelfDeterminationOmaha
·
·
Download

Start Quiz

Study Flashcards

40 Questions

Qual é o objetivo principal dos semáforos em um sistema multitarefa?

Sincronizar tarefas para compartilhar recursos

Quais são exemplos de primitivas inter-task?

Semaphores, message queues e pipes

O que é um semaphore-control block?

Um bloco de controle que armazena informações do semaphore

Quais são as duas operações básicas dos semáforos?

Pegar e liberar

Qual é o objetivo da fila de mensagens (message queues)?

Comunicar tarefas utilizando mensagens

Quais são os recursos que podem ser compartilhados entre tarefas em um sistema multitarefa?

Periféricos e memória

Qual é o papel do kernel em um sistema multitarefa?

Gerenciar tarefas e recursos do sistema

Quais são os dois tipos de semáforos?

Binary e count

Para que uma task possa obter um semaphore, qual deve ser o seu valor?

Valor maior ou igual a 1

O que acontece com o valor do semaphore quando uma task o libera?

O valor é incrementado em 1

Qual é o propósito do semaphore de Mutual Exclusion (Mutex)?

Controlar o acesso a recursos compartilhados

O que acontece quando um semaphore binário tem o valor 0?

O semaphore é considerado indisponível

Quem pode interagir com um semaphore binário?

Todas as tarefas do sistema

Por que é importante controlar as interações entre tarefas que utilizam semaphores globais?

Para evitar problemas de concorrência

Qual é o exemplo de uso de semaphore binário mencionado?

UART compartilhado

O que acontece quando uma task obtém um semaphore?

O valor do semaphore é decrementado em 1

Quais são os estados de um mutex?

Desbloqueado e bloqueado

Qual é a propriedade adquirida por uma tarefa quando trava um mutex?

Mutex ownership

O que é o objetivo do recurso Mutex?

Garantir o acesso exclusivo a um recurso compartilhado

Qual é o resultado quando uma tarefa tenta travar um mutex que já está bloqueado?

A tarefa entra em um estado de impasse (deadlock)

Qual é a vantagem de usar um mutex recursivo?

Permite que uma tarefa aninhada possa travar o mutex novamente

Quais são as duas principais diferenças entre um mutex e um binary semaphore?

O estado inicial e a forma como é liberado

Qual é o termo utilizado para descrever a liberação de um mutex?

Unlock

O que é feito quando uma tarefa libera um mutex?

O mutex retorna ao estado desbloqueado

Qual é o principal objetivo de utilizar um semáforo binário para acessar uma mensagem?

Evitar que as mensagens sejam corrompidas por acessos simultâneos

O que ocorre quando a contagem inicial de um semáforo de contagem é 0?

O semáforo é criado no estado indisponível

Qual é o efeito de uma tarefa liberar um token do semáforo de contagem quando todos os tokens foram adquiridos?

O semáforo passa do estado indisponível para o estado disponível

Qual é o exemplo de uso de um semáforo de contagem apresentado no conteúdo?

Pool de conexões

O que é um Mutex?

Um semáforo binário especial

Qual é o recurso ofrecido pelo Mutex que não é oferecido pelo semáforo binário padrão?

Ownership

Qual é o efeito de várias tarefas adquirirem tokens de um semáforo de contagem?

O semáforo passa do estado disponível para o estado indisponível

O que ocorre quando a contagem de um semáforo de contagem é maior que 0?

O semáforo é criado no estado disponível

Quais são os benefícios das filas de mensagens (Message Queues) em um sistema multitarefa?

Facilitam a coordenação e o intercâmbio de dados entre diferentes partes de um sistema

Qual é a estrutura de dados utilizada para armazenar mensagens em uma fila de mensagens?

Fila FIFO (First In, First Out)

Qual é o objetivo do cabeçalho da fila em uma fila de mensagens?

Contém informações sobre o estado da fila

Quais são as tarefas que fazem parte da fila de espera em uma fila de mensagens?

Tarefas que estão esperando para enviar ou receber mensagens

Qual é a vantagem da comunicação assíncrona em uma fila de mensagens?

A tarefa que envia uma mensagem não precisa esperar que a tarefa destinatária processe a mensagem imediatamente

Qual é o papel do buffer de mensagens em uma fila de mensagens?

Armazenar as mensagens a serem trocadas entre as tarefas

Quais são as partes que compõem uma fila de mensagens?

Buffer de mensagens, cabeçalho da fila e fila de espera

Qual é o benefício da utilização de filas de mensagens em um sistema multitarefa?

Facilita a coordenação e o intercâmbio de dados entre diferentes partes de um sistema

Study Notes

RTOS - Sincronização e Comunicação

  • A sincronização entre tarefas e a comunicação entre elas ocorre por meio de primitivas inter-task, que são kernel objects que facilitam o processo.

Comunicação Inter-task

  • A comunicação entre tarefas é realizada por meio de primitivas inter-task, como semaphores, message queues, signals, pipes e mutex.
  • Essas primitivas facilitam a sincronização entre tarefas e permitem que elas compartilhem recursos do sistema.

Semaphores

  • Um semaphore é um kernel object que permite que uma ou mais threads de execução adquiram ou liberem para o propósito de sincronização.
  • Os semaphores possuem dois tipos de operações básicas: Pega (take) o semáforo para uso e Libera (give) para outra tarefa.
  • Existem três tipos de semaphores: Binary, Counting e Mutual Exclusion (Mutex).

Semaphores - Binary

  • Um semaphore binário pode ter o valor “0” ou “1”, indicando se ele está disponível ou indisponível.
  • Binary semaphores são tratados como recursos globais, acessíveis a todas as tarefas do sistema.

Semaphores - Counting

  • Um semaphore contabiliza o número de tokens que ele possui, permitindo que ele seja adquirido ou liberado múltiplas vezes.
  • Counting semaphores são utilizados para controlar o número de recursos disponíveis, como o número de conexões simultâneas.

Semaphores - Mutual Exclusion (Mutex)

  • Mutex é um binary semaphore especial que oferece suporte a ownership e recursive locking.
  • Um mutex é criado inicialmente no estado desbloqueado e pode ser adquirido por uma tarefa, tornando-se bloqueado.
  • Quando a tarefa libera o mutex, ele retorna ao estado desbloqueado.

Fila de mensagens (Message Queues)

  • Uma message queue é um mecanismo de comunicação e sincronização entre tarefas que permitem que tarefas enviem e recebam mensagens de maneira organizada e segura.
  • Ela é uma estrutura de dados que armazena mensagens em uma ordem específica, geralmente em uma fila FIFO (First In, First Out).

Modelando um sistema

  • Heurística para projetar um sistema:
    • Identificar todos os objetos ativos com comportamento reativo.
    • Atribuir responsabilidades e recursos aos objetos.
    • Identificar eventos do sistema.
    • Utilizar diagramas de classe e de sequência.

Aula sobre RTOS, abordando tópicos como comunicação inter-task, semaphores, fila de mensagens e modelagem de sistemas. Prof.Dr.Harlei M.A.Leite, ITA.

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free

More Quizzes Like This

Use Quizgecko on...
Browser
Browser