Victor-Briganti / PingPongOS

BSD 2-Clause "Simplified" License
1 stars 0 forks source link

Filas de Mensagens #12

Closed Victor-Briganti closed 1 month ago

Victor-Briganti commented 3 months ago

Uma fila de mensagens é uma estrutura usada pelas tarefas para comunicação. Cada fila pode armazenar até N mensagens de tamanho fixo,. O acesso á fila é bloqueante, ou seja, uma terafa que enviar uma mensagem a uma fila cheia terá de esperar até que surjam vagas na fila, e no caso de uma tarefa que tente consumir de uma fila vazia também deverá esperar até que a mensagem esteja disponível.

Por definição a fila deve aceitar as seguintes operações:

Uma estrutura comumente usada para essas filas é um buffer circular genérico.

Abaixo temos um exemplo de seu funcionamento em um sistema de produtores e consumidores:

image

Base: https://wiki.inf.ufpr.br/maziero/doku.php?id=so:filas_de_mensagens

Victor-Briganti commented 1 month ago

Commit a159189 resolve essa issue.