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

  1. Jasonnit Jasonnit

    В статье рассматриваются различные стратегии борьбы с зависимостями, включая проверенные методы и реальные истории успеха. Читатель узнает, какие подходы наиболее эффективны и как начать путь к выздоровлению.
    Ссылка на источник – капельница от запоя на дому

  2. Also ich spiele jetzt seit dem Fruhjahr und um ehrlich zu sein, ich war anfangs skeptisch, ob so ein Laden mit Coins uberhaupt was taugt. Bin uber einen Kollegen da reingerutscht, der seit Ewigkeiten online Poker mit Bitcoin spielt, und tja – hangen geblieben bin ich am Ende doch. Fur uns hier in Deutschland ist das eh manchmal echt zah, was Ein- und Auszahlungen angeht, dazu spater.

    An Spielen gibts echt genug zu tun – ich schatze mal uber 1500 Titel, inklusive Tische. Die gro?en Namen sind naturlich vertreten: NetEnt mit den Klassikern, plus Betsoft und Yggdrasil, lauft flussig. Der Live-Kram kommt von Evolution, richtige Croupiers und Kram wie Crazy Time, da bleib ich hangen gerne mal zu lange. Und klar, das Herz ist fur mich halt der Pokertisch – bitcoin poker eben, deswegen bin ich hier.

    Was den Willkommensbonus angeht: ich hab 100% bis 500 Euro plus rund 200 Free Spins, verteilt uber mehrere Tage. Das Wagering betragt x35, ist fair genug ehrlich gesagt, aber lest euch das Kleingedruckte durch. Immer wieder gibts kostenlose Turniere fur lau, damit testet man risikofrei ein paar Hande. Die aktuellen Aktionen und Codes seht ihr aktuell uber legal bitcoin poker room bevor ihr einzahlt, ist meist aktueller als der Support.

    Jetzt zum Nervigen – Withdrawals. Per Bitcoin gings bei mir richtig schnell, top. Aber als ich mal die Karte nutzen wollte, zog sich das und die Verifizierung war nervig. Die ublichen Zahlwege sind alle da, unterm Strich der Witz an der Sache ist, dass es eben schneller und anonymer geht. Min-Deposit so um die 20 Euro, Anmeldung war in Minuten durch.

    Unterwegs klappt alles – ne eigene App gibts furs Handy, sonst uber die Seite funktioniert es genauso. Der Chat zu jeder Zeit per Chat, auf Deutsch war er manchmal mal besser mal schlechter, zur Not auf Englisch. Lizenztechnisch ist alles sauber dokumentiert, das war mir wichtig. Fur alle hier aus Deutschland, die bitcoin poker spielen ausprobieren wollen – fur mich passts gerade, schaun wir mal.

Deixe um comentário

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