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

5.258 Comentários

  1. Слушайте, а вы в курсе, что найти нормальную клинику сейчас — это реально отдельная и очень сложная история. Нередко в жизни бывает так, когда кому-то из членов семьи внезапно потребовалась экстренная и профессиональная поддержка. И тут сразу возникает главный вопрос: куда именно везти человека?

    Мой коллега по работе долго искал по-настоящему работающий и безопасный выход. В интернете сейчас столько мусора и дорвеев, что голова идет кругом. Если коротко, лучше сразу перейти на официальный сайт, где нет вранья, там действительно раскладывают по полочкам всю подноготную про круглосуточную наркологическую поддержку и условия проживания. В общем, не тяните время и долго не раздумывайте,, чтобы четко во всем разобраться.

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

  2. Случается, когда уже не до раздумий — близкий совсем плох, а везти в больницу просто нереально . Я сам через это прошёл пару лет назад . Сидишь, не знаешь что делать . Лезешь в интернет, а вокруг сплошной развод . Пока случайно не наткнулся на один нормальный проверенный вариант. Если нужна немедленная консультация — а везти самому нет возможности , то нужно вызывать врача на дом. Я про нарколога на дом . В Самаре , если честно, тоже полно левых контор без лицензии. Вся проверенная информация ниже по ссылке: заказать обратный звонок наркология https://narkolog-na-dom-samara-13.ru Честно скажу , после того как вник в детали, понял, как правильно действовать. Там и про капельницы подробно , и про консультацию . Плюс анонимность — это важно . Советую не откладывать.

  3. Ne zamandır böyle bir adres arıyordum. Kapanan sitelerden gına geldi artık. En sonunda şu linkte karar kıldım.

    Casino oyunlarına meraklıysanız eğer burayı kaçırmayın derim. Gerekli tüm teknik kontrolleri yapıp adımları uyguladıktan sonra erişim açıldı. Giriş adresi tam olarak şurada: 1xbet spor bahislerinin adresi 1xbet spor bahislerinin adresi. Ne diyeyim yani anlayacağınız — 1xbet spor bahislerinin adresi burada işte.

    Hiçbir sorun yaşatmadı bugüne kadar. Kendi deneyimim buysa da — en memnun kaldığım yer burası. Şimdiden iyi oyunlar…

Deixe um comentário

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