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

3.426 Comentários

  1. DavidIsold DavidIsold

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

  2. After exploring several online marketplaces and browsing different digital stores today, I eventually visited trusted velvet cove hub and found the website really pleasant, with information appearing updated regularly and browsing staying enjoyable throughout.

  3. MichaelPen MichaelPen

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

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

  5. During comparison of personal growth and productivity websites, I noticed a website that feels modern and efficient for self improvement readers, and Focused Living center offers a smooth browsing experience overall – The layout is straightforward, featured guidance is easy to follow, and visitors can improve daily productivity without distractions.

  6. Started smiling at one paragraph because the writing was just nice, and a look at seoharbor produced a couple more such moments, prose that produces small spontaneous reactions in the reader is doing more than just transferring information and the writers here are clearly hitting that level fairly consistently throughout pieces.

  7. Hello there, You’ve done an incredible job. I will definitely digg it and personally recommend to my friends. I’m confident they’ll be benefited from this web site.

Deixe um comentário

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