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.653 Comentários

  1. Henrygroub Henrygroub

    Если человек обращается после длительного употребления, лечение может начинаться с очищения организма. Детоксикация проводится с учетом состояния пациента и возможных противопоказаний. Лекарственные препараты, объем инфузионной поддержки и продолжительность процедур определяет врач. Капельница не является универсальным способом лечения алкоголизма или наркомании: она применяется по медицинским показаниям и решает прежде всего задачи стабилизации организма. После снятия острых проявлений специалисты переходят к основному лечению зависимости.
    Подробнее – https://4.narkologicheskaya-klinika-moskva11.ru/

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

  3. Howardaffix Howardaffix

    Данный факт гласит о срочной необходимости врачебного вмешательства для выведения из запоя в стационаре клиники и последующего квалифицированного лечения алкогольной зависимости. Если зависимый перестал реагировать на окружающих, появились судороги или угроза смерти, нельзя ждать приезда плановой бригады: требуется экстренная помощь.
    Узнать больше – вывод из запоя на дому в Кемерово

Deixe um comentário

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