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

  1. SamuelDooca SamuelDooca

    Вывод из запоя в Королеве требуется, когда человек несколько дней употребляет алкоголь, не может остановиться, плохо спит, испытывает тревогу, тошноту, тремор, слабость, потерю аппетита и признаки похмельного синдрома. В такой момент главное — не пытаться лечить запойное состояние случайной дозой лекарственных средств, а обратиться к врачу. Наркологическая клиника подбирает лечение индивидуально: учитываются возраст пациента, срок употребления спиртного, стаж алкоголизма, наличие хронических заболеваний, самочувствие, риск развития осложнений и желание больного начать путь к трезвости.
    Выяснить больше – vyvod-iz-zapoya-ceny

  2. Ребята кто шторы выбирал Цены космос а качество мыло То пластик трескается Короче, единственные кто честно рассказывает — лучшие настенные карнизы с гарантией Отзывы реальных покупателей В общем, там рейтинг и отзывы — какие пластиковые карнизы лучше какие пластиковые карнизы лучше Изучите рейтинг перед покупкой Перешлите тому кто ищет карнизы

  3. Charlesthofe Charlesthofe

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

  4. Наркологическая помощь в Люберцах может проводиться на дому, амбулаторно или в стационаре клиники. Формат подбирает врач после осмотра пациента, оценки длительности запоя, количества алкоголя, возраста, наличия хронических заболеваний, психического состояния и возможных осложнений. Главный принцип медицинской работы — не просто вывести человека из состояния опьянения или похмельного синдрома, а стабилизировать организм, снизить риск срыва и начать лечение алкогольной зависимости.
    Изучить вопрос глубже – vyvod iz zapoya nedorogo

Deixe um comentário

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