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

7.618 Comentários

  1. AlfredMut AlfredMut

    Вывод из запоя на дому в Казани позволяет получить медицинскую помощь без очередей, учета и лишнего стресса. Врач приезжает по месту проживания, сохраняет конфиденциальность, спокойно говорит с пациентом и близкими, проводит первичную диагностику и начинает лечение только при наличии согласия. Если человек отказывается лечиться, доктор может провести мотивационную беседу, но принудительное лечение без законных оснований не проводится.
    Получить дополнительную информацию – http://www.domen.ru

  2. RichardBib RichardBib

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

  3. HenryBoaks HenryBoaks

    Первый шаг связан с признанием бессилия перед зависимостью. Для наркомана это часто самый трудный момент: человек может считать, что наркотики не управляют им полностью, что он сможет остановиться сам, что лечение наркомании ему не нужно или что проблема касается только вещества. На этом этапе наркоман начинает видеть, как наркомания повлияла на поведение, здоровье, учебу, работу, доверие близких, способность принимать решения, внутреннюю устойчивость и образ будущего.
    Детальнее – reabilitaciya-programma-12-shagov

  4. AnthonyTrivy AnthonyTrivy

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

Deixe um comentário

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