Ir ao conteúdo

Exercicio 3 – Sistemas Operacionais II – INE5424 – UFSC

Trabalho 3 – EPOS
System Object Destruction

    No exercício três deviamos implementar o controle de destrução de objetos, o qual não deve corromper o sistema e também deve estar de acordo com a semântica da linguagem de programação.
    A implementação adotada funciona da seguinte maneira: na class Thread foi adicionado um campo _container, nele é guardada a fila em que a Thread se encontra no momento. Os métodos desta classe foram alterados para que a consistência do campo _container seja mantida. No método join, por exemplo, o campo _container é atualizado com o endereço da fila _waiting_for_me do objeto em que se da join.
    Quando uma thread entra para o estado RUNNING o seu campo container não é atualizado, já que caso o mesmo seja deletado (ou auto-deletado), ele tentará se remover de uma fila em que não está, não causando mais problemas.
    Quando uma thread que possui elementos na sua fila _waiting_for_me é deletada, ela não acorda aquelas que a estão esperando, entrando em uma situação de deadlock. Nosso sistema, por conseguir detectar essa situação facilmente, gera um aviso. Porém, caso a Thread que tente se dar join já tiver sido destruída e removida da memória, a thread em execução trava, como nosso sistema não consegue detectar esse erro ele não é informado.
    Quando um objeto que extende a classe Synchronizer é deletado, seu destrutor chama wakeup_all, fazendo com que todos as threads que estiverem travadas nele continuem a execução.

Arquivos Modificados:
Thread.h
Thread.cc
Sycronizer.h

8.362 Comentários

  1. PerryHocky PerryHocky

    Вывод из запоя в Красноярске — востребованная наркологическая помощь для людей, которым трудно самостоятельно прекратить длительное употребление спиртного. Запои могут продолжаться несколько дней и сопровождаться бессонницей, тремором, тревогой, тошнотой, головной болью, раздражительностью, потерей аппетита и общим ухудшением самочувствия. При продолжительном поступлении этанола организм оказывается под воздействием продуктов его распада, нарушается водно-электролитный баланс, страдают печень, сердце, сосудистая и нервная системы. Чем больше период непрерывного употребления, тем выше вероятность тяжелых осложнений.
    Подробнее – вывод из запоя Красноярск

  2. DavidKam DavidKam

    Абстинентный синдром развивается после прекращения или значительного уменьшения привычной дозы алкоголя. У человека может появляться тремор рук, тошнота, рвота, бессонница, раздражительность, тревожность, головная боль, слабость, учащенный пульс и колебания артериального давления. Нередко пациент испытывает сильное желание снова принять спиртное, поскольку новая доза временно облегчает неприятные ощущения. Именно этот механизм часто поддерживает течение запоя и затрудняет самостоятельный выход.
    Изучить вопрос подробнее – narkolog-vyvod-iz-zapoya-reutov

  3. Rolandvek Rolandvek

    Выведение из запоя на дому позволяет пациенту получить помощь в привычной обстановке. Нарколог приезжает по указанному адресу, проводит обследование и определяет дальнейшие мероприятия. Снятие алкогольной интоксикации на дому (внутривенное капельное введение лекарственных препаратов для быстрого облегчения состояния). Врач подбирает состав капельницы индивидуально, поскольку характер запоя и степень интоксикации у пациентов отличаются.
    Подробнее – https://v.narkologicheskaya-klinika-sankt-peterburg14.ru/

  4. Larrytweni Larrytweni

    При тяжелых признаках отравления, судорогах, галлюцинациях, выраженном возбуждении, потере сознания, острой сердечной или почечной недостаточности домашнее прокапывание может быть недостаточным. В таких случаях врач оценивает необходимость госпитализации, рекомендует вызвать скорую помощь или организует транспортировку больного в стационар, где доступны расширенная диагностика, ЭКГ, анализ крови и мочи, интенсивная терапия и круглосуточное наблюдение.
    Подробнее – капельница от запоя вызов

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *