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

10.010 Comentários

  1. usa free spins no money deposit, no wagering bonus casino united states
    and all slots flash casino australia, or online casino slots real money canada

    Feel free to surf to my web blog: winning 10k in blackjack – Verlene –

  2. fully cashable no deposit bonus canada, real money australian online pokies and united statesn casino guide blackjack chart, or online
    gambling websites usa

    my web-site: group games like bingo (Vilma)

  3. best sunshine casino – Louie – casino
    bonuses 2021 usa, canadian poker admiral and age of gods slots uk, or casino usa
    bonus

  4. 200 free spins no deposit united states, 888 casino nz and best online casino united kingdom real money, or are there pokies in western new zealand

    Feel free to surf to my web-site – schecter blackjack atx solo 6
    – Halley,

  5. new casino free spins uk no deposit, casino in montana usa and slot machines
    sale united states, or amex casino new zealand

    My blog post – roulette wheel expectations (Mariel)

  6. blackjack hot 3; Woodrow,
    usa free game download casino, usa roulette rules and new zealandn real money pokies, or canadian casino
    guide 2021 review

Deixe um comentário

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