SO1 – Fundamentos de sincronização, problema de exclusão mútua e semáforos binários

[so1t]

Fundamentos de sincronização, problema de exclusão mútua e semáforos binários

motivos de sincronização:
processos e threads, que querem fazer uso dos mesmos recursos

usar a exclusão mútua:
porque se partilha zona de dados
apenas uma entidade activa deve utilizar o recurso
resolver então o problema de concorrência, do acesso concorrente a dados

surge então a secção critica:
que são o conjunto de operações que deve ser efectuado de forma atómica (invisível)

os semáforos:
são uma solução para garantir o acesso em exclusão mutua a uma secção critica
é um recurso que é controlado pelo sistema operativo
tem a capacidade para ter um “numero de autorizações”
tem na sua estrutura: o numero de autorizações, e a fila de espera (processos bloqueados)
tem como operações: esperar (requisita o recurso, diminui o contador) e assinalar (liberta o recurso, aumenta o contador)
os processos ficam bloqueados se não existirem mais autorizações disponíveis, ficando desbloqueado assim que houver uma autorização livre
este bloqueio ou desbloqueio é sempre transparente para o processo

e relembrar que bloquear um processo:
é retirado de execução
é salvaguardado o seu contexto (software e hardware)
o seu estado passa a bloqueados
fica em fila de espera

e relembrar que desbloquear um processo:
é retirado da fila dos bloqueados
passa para o estado de executável
vai para o fim de lista dos executáveis
é fica em execução quando o despacho o seleccionar

vantagens dos semáforos:
bloquear o processo não ocupa o processador
é um mecanismo justo
é compatível com politicas de prioridades
elimina a espera activa

a verificar semáforos vs mutex (resolve o problema de exclusão mutua)!!!

questões:
identifique problemas de sincronização (exclusão mútua)
identifique a forma de resolver a novel abstracto com recurso a semáforos/mutexs

Tags : ,

0 thoughts on “SO1 – Fundamentos de sincronização, problema de exclusão mútua e semáforos binários”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.