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

  1. Информация об обращении не передается третьим лицам, а детали лечения обсуждаются только с пациентом.
    Подробнее можно узнать тут – kodirovanie ot alkogolizma

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

  3. Philliptal Philliptal

    После первичной диагностики начинается активная фаза детоксикации. Современные препараты вводятся капельничным методом, что позволяет быстро вывести токсины и восстановить нормальные обменные процессы. Этот этап критически важен для стабилизации работы печени, почек и сердечно-сосудистой системы.
    Ознакомиться с деталями – https://kapelnica-ot-zapoya-tyumen0.ru

  4. Лечение хронического алкоголизма начинается с купирования абстинентного синдрома, после чего проводятся мероприятия по нормализации работы печени, сердечно-сосудистой и нервной системы. Назначаются гепатопротекторы, ноотропы, витамины группы B. Также проводится противорецидивная терапия.
    Получить больше информации – https://narkologicheskaya-klinika-v-yaroslavle12.ru/

  5. Thomasgrefe Thomasgrefe

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

Deixe um comentário

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