Cap11 - EEA-27 Microcontroladores e Sistemas Embarcados: Aula 11 - RTOS
40 Questions
1 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

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

  • Gerenciar recursos do sistema
  • Executar tarefas em segundo plano
  • Sincronizar tarefas para compartilhar recursos (correct)
  • Realizar a comunicação entre tarefas
  • Quais são exemplos de primitivas inter-task?

  • Semaphores, message queues e pipes (correct)
  • Mutex, pipes e sockets
  • Processos, threads e mutex
  • Threads, processes e signals
  • O que é um semaphore-control block?

  • Um contador que controla o acesso a recursos
  • Um kernel object que gerencia tarefas
  • Um ID único atribuído ao semaphore
  • Um bloco de controle que armazena informações do semaphore (correct)
  • Quais são as duas operações básicas dos semáforos?

    <p>Pegar e liberar</p> Signup and view all the answers

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

    <p>Comunicar tarefas utilizando mensagens</p> Signup and view all the answers

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

    <p>Periféricos e memória</p> Signup and view all the answers

    Qual é o papel do kernel em um sistema multitarefa?

    <p>Gerenciar tarefas e recursos do sistema</p> Signup and view all the answers

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

    <p>Binary e count</p> Signup and view all the answers

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

    <p>Valor maior ou igual a 1</p> Signup and view all the answers

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

    <p>O valor é incrementado em 1</p> Signup and view all the answers

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

    <p>Controlar o acesso a recursos compartilhados</p> Signup and view all the answers

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

    <p>O semaphore é considerado indisponível</p> Signup and view all the answers

    Quem pode interagir com um semaphore binário?

    <p>Todas as tarefas do sistema</p> Signup and view all the answers

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

    <p>Para evitar problemas de concorrência</p> Signup and view all the answers

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

    <p>UART compartilhado</p> Signup and view all the answers

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

    <p>O valor do semaphore é decrementado em 1</p> Signup and view all the answers

    Quais são os estados de um mutex?

    <p>Desbloqueado e bloqueado</p> Signup and view all the answers

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

    <p>Mutex ownership</p> Signup and view all the answers

    O que é o objetivo do recurso Mutex?

    <p>Garantir o acesso exclusivo a um recurso compartilhado</p> Signup and view all the answers

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

    <p>A tarefa entra em um estado de impasse (deadlock)</p> Signup and view all the answers

    Qual é a vantagem de usar um mutex recursivo?

    <p>Permite que uma tarefa aninhada possa travar o mutex novamente</p> Signup and view all the answers

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

    <p>O estado inicial e a forma como é liberado</p> Signup and view all the answers

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

    <p>Unlock</p> Signup and view all the answers

    O que é feito quando uma tarefa libera um mutex?

    <p>O mutex retorna ao estado desbloqueado</p> Signup and view all the answers

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

    <p>Evitar que as mensagens sejam corrompidas por acessos simultâneos</p> Signup and view all the answers

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

    <p>O semáforo é criado no estado indisponível</p> Signup and view all the answers

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

    <p>O semáforo passa do estado indisponível para o estado disponível</p> Signup and view all the answers

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

    <p>Pool de conexões</p> Signup and view all the answers

    O que é um Mutex?

    <p>Um semáforo binário especial</p> Signup and view all the answers

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

    <p>Ownership</p> Signup and view all the answers

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

    <p>O semáforo passa do estado disponível para o estado indisponível</p> Signup and view all the answers

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

    <p>O semáforo é criado no estado disponível</p> Signup and view all the answers

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

    <p>Facilitam a coordenação e o intercâmbio de dados entre diferentes partes de um sistema</p> Signup and view all the answers

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

    <p>Fila FIFO (First In, First Out)</p> Signup and view all the answers

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

    <p>Contém informações sobre o estado da fila</p> Signup and view all the answers

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

    <p>Tarefas que estão esperando para enviar ou receber mensagens</p> Signup and view all the answers

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

    <p>A tarefa que envia uma mensagem não precisa esperar que a tarefa destinatária processe a mensagem imediatamente</p> Signup and view all the answers

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

    <p>Armazenar as mensagens a serem trocadas entre as tarefas</p> Signup and view all the answers

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

    <p>Buffer de mensagens, cabeçalho da fila e fila de espera</p> Signup and view all the answers

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

    <p>Facilita a coordenação e o intercâmbio de dados entre diferentes partes de um sistema</p> Signup and view all the answers

    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.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Description

    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.

    More Like This

    Use Quizgecko on...
    Browser
    Browser