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

  1. Кошмарная ситуация — отец не выходит из запоя. Никто не может вывести — нужно серьёзное лечение. Повезло найти нормальное место. Работает вывод из запоя в стационаре. Постоянный мониторинг. Очищение крови — под контролем врачей. Полная анонимность. Внимание и забота. вывести из запоя в стационаре вывести из запоя в стационаре На сайте подробности. Родственника положили — без обмана. Результат очевиден. И что ценно — с заботой. Главное — не тянуть. Близких нужно спасать. Кто ищет стационар — рекомендую. Поправляйтесь!

  2. Jasonflevy Jasonflevy

    Медикаментозное кодирование препаратом назначается после обследования. В зависимости от выбранной схемы препарат может вводиться путем внутримышечной или внутривенной инъекции, использоваться в форме таблеток или импланта. В некоторых программах применяется вшивание ампулы. Среди известных средств и коммерческих наименований встречаются препараты на основе дисульфирама, Эспераль, Торпедо, Алгоминал, Аквилонг и другие лекарственные решения. Конкретный препарат, доза, способ введения и длительность действия определяются только врачом.
    Подробнее – https://1.kodirovanie-ot-alkogolizma-moskva9.ru/

  3. Marcusswase Marcusswase

    Особого внимания требуют пожилые люди, больные с тяжелыми заболеваниями, лица после длительного запоя и люди, у которых ранее уже были судороги, психозы либо алкогольный делирий. Нельзя гарантировать безопасность самостоятельного домашнего вытрезвления без оценки врача. При возникновении опасных симптомов решение о госпитализации принимает медицинский специалист с учетом клинических данных.
    Получить больше информации – https://n.vyvod-iz-zapoya-v-krasnoyarske17.ru/

  4. Geraldpoorm Geraldpoorm

    Чтобы врачу было легче определить правильного направления лечения, желательно открыто рассказать об употреблении. Скрывать количество алкоголя, наркотиков или лекарств невыгодно самому пациенту: недостаток информации мешает безопасному подбору препаратов. Подробнее нарколог собирает анамнез и уточняет, как давно появилась проблема.
    Узнать больше – наркологическая клиника лечение алкоголизма Красноярск

Deixe um comentário

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