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

2.960 Comentários

  1. Many websites struggle to maintain freshness, although idea sharing portal does a better job by providing varied and consistently updated content that feels well organized, allowing visitors to comfortably explore different sections without encountering outdated information.

  2. During my search through online inspiration and vision focused websites, I discovered Your Vision Insight Page included in a curated list – The platform felt helpful and well designed, with smooth navigation that made discovering different sections very convenient and easy to follow throughout the browsing experience today.

  3. While browsing different discount pages and deal aggregators during the evening, I unexpectedly found Deal Hunter Corner – Scored an amazing deal earlier, thanks for sharing this link and it genuinely helped me save more than expected while comparing prices across several online stores today.

  4. While checking different urban style and shopping websites online, I discovered modern street market included within curated recommendations, and I enjoyed visiting it recently because the design feels modern and extremely comfortable for easy navigation.

  5. DonaldLok DonaldLok

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

Deixe um comentário

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