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

  1. Здорова, народ Беда пришла в семью Дети напуганы до смерти Скорая не приедет на такой вызов Короче, врачи вытащили с того света — наркологический стационар с круглосуточным наблюдением Врачи наблюдали 24/7 В общем, телефон и цены тут — лечение наркомании стационар https://narkologicheskij-staczionar-moskva-gsh.ru Звоните прямо сейчас Это может спасти чью-то семью

  2. Привет с Волги Тошнит, трясёт, сил нет Организм просто отказывается работать Короче, единственное что реально спасает — сделать капельницу от похмелья недорого Вернулся к жизни В общем, вся инфа по ссылке — капельница от алкоголя на дому самара https://kapelnicza-ot-pokhmelya-samara-dxq.ru Капельница — это быстро и эффективно Перешлите тем кто в такой же ситуации

  3. Слушайте кто сталкивался Близкий человек уже неделю в запое Жена в истерике Скорая не приедет на такой вызов Короче, единственные кто взялся за сложный случай — госпитализация в наркологический стационар 24/7 Провели полную детоксикацию В общем, вся инфа по ссылке — наркологический стационар цена https://narkologicheskij-staczionar-moskva-vex.ru Стационар — это реальный шанс Это может спасти чью-то семью

  4. Москва, всем привет Брат снова сорвался в пьянку Дети напуганы до смерти Платная клиника — бешеные деньги Короче, единственные кто взялся за сложный случай — наркологические услуги в стационаре полный комплекс Врачи наблюдали 24/7 В общем, вся инфа по ссылке — стационар для наркоманов https://narkologicheskij-staczionar-moskva-vex.ru Звоните прямо сейчас Это может спасти чью-то семью

  5. Люди подскажите Муж пьёт без остановки Жена плачет Нужна профессиональная помощь на дому Короче, спасла только капельница — капельница от запоя на дому срочно Приехали через 30 минут В общем, вся инфа по ссылке — капельница от запоя капельница от запоя Не ждите пока станет хуже Перешлите тем кто в такой же ситуации

  6. Здорова, народ Муж пьёт без остановки Соседи стучат в стену Скорая не приедет Короче, единственное что вытащило из запоя — капельница от запоя с витаминами и препаратами Приехали через 30 минут В общем, телефон и цены тут — сделать капельницу от похмелья сделать капельницу от похмелья Не ждите пока станет хуже Перешлите тем кто в такой же ситуации

  7. Donaldhef Donaldhef

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

Deixe um comentário

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