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

  1. Ça fait longtemps que je voulais tester cette plateforme. Télécharger un fichier sûr était devenu un vrai casse-tête. J’ai vérifié les dernières mises à jour pour lancer le processus sans erreur. J’ai finalement trouvé la bonne source et je voulais vous partager tous les détails, vous pouvez consulter les informations à jour ici: application 1xbet application 1xbet. En résumé, laissez-moi vous expliquer — l’application mobile fonctionne parfaitement bien.

    Je n’ai rencontré aucun problème lors du téléchargement. Je vous parle de mon expérience personnelle — croyez-moi, vous ne serez pas déçus, essayez-la. Je vous souhaite bonne chance et beaucoup de gains…

  2. Hey I know this is off topic but I was wondering if you knew of any widgets I could add to my blog that automatically tweet my newest twitter updates. I’ve been looking for a plug-in like this for quite some time and was hoping maybe you would have some experience with something like this. Please let me know if you run into anything. I truly enjoy reading your blog and I look forward to your new updates.

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

  4. Ça fait longtemps que je voulais tester cette plateforme. Je n’arrivais pas à trouver la bonne version sur le Play Store. J’ai vérifié les dernières mises à jour pour lancer le processus sans erreur. J’ai finalement trouvé la bonne source et je voulais vous partager tous les détails, vous pouvez consulter les informations à jour ici: 1xbet apk android 1xbet apk android. Bref, ce que je voulais dire — après l’avoir installée sur mon téléphone, j’ai été agréablement surpris.

    Je n’ai rencontré aucun problème lors du téléchargement. Je vous parle de mon expérience personnelle — ne perdez plus votre temps ailleurs. Bon courage à tous…

  5. Je cherchais une application fiable pour mon téléphone. Télécharger un fichier sûr était devenu un vrai casse-tête. Finalement, j’ai pris le temps d’analyser tous les détails techniques. J’ai finalement trouvé la bonne source et je voulais vous partager tous les détails, vous pouvez consulter les informations à jour ici: 1xbet application 1xbet application. Bref, ce que je voulais dire — l’application mobile fonctionne parfaitement bien.

    Je n’ai rencontré aucun problème lors du téléchargement. J’ai testé plusieurs apps mais celle-ci est la meilleure — c’est de loin l’application la plus fluide. J’espère que vous serez aussi satisfaits que moi…

  6. Слушайте, вот уже который раз убеждаюсь — какой сервис не сдирает три шкуры для международных платежей. Товарищ скинул ссылку на нормальный разбор: комиссия за международный перевод комиссия за международный перевод Суть вот в чём — не все способы одинаково прозрачны. Ну сами подумайте любой подобный трансграничный платёж — это реальная финансовая лотерея. И да, кстати — перед финальным подтверждением проверьте все комиссии до копейки. Иначе легко потерять приличную сумму. Моё мнение — лучше один раз изучить тему перед любой отправкой.

  7. At this time it looks like WordPress is the best blogging platform available right now. (from what I’ve read) Is that what you are using on your blog?

  8. Je cherchais une application mobile fiable pour mes paris. Tout le monde donnait des liens différents, je ne savais plus où aller. J’ai vérifié les dernières mises à jour pour lancer le processus sans erreur. J’ai finalement déniché la bonne source et je voulais vous partager tous les détails, vous pouvez consulter les informations à jour ici: download 1xbet apk download 1xbet apk. En deux mots, laissez-moi vous expliquer — après l’avoir installée, j’ai été vraiment surpris.

    les mises à jour se font automatiquement sans intervention. Pour être honnête, c’est la plus stable que j’aie trouvée — c’est clairement l’application la plus performante. Je vous souhaite plein de réussite et de bons gains…

  9. Ça faisait un moment que je voulais tester cette plateforme. Tout le monde recommandait des adresses différentes, dur de s’y retrouver. J’ai vérifié les dernières mises à jour pour lancer le processus sans erreur. J’ai finalement déniché la bonne source et je voulais vous partager tous les détails, vous pouvez consulter les informations à jour ici: télécharger 1xbet app télécharger 1xbet app. En deux mots, laissez-moi vous expliquer — après l’avoir installée, j’ai été agréablement surpris.

    les mises à jour se font automatiquement. J’ai comparé plusieurs apps mais celle-ci est la meilleure — ne perdez plus votre temps avec d’autres sites. Bonne chance à tous…

  10. Je cherchais une application mobile de qualité pour mes paris. Tout le monde donnait des liens différents, impossible de s’y retrouver. Après avoir suivi les étapes dans le bon ordre, tout a fonctionné. J’ai finalement trouvé la bonne source et je voulais vous partager tous les détails, vous pouvez consulter les informations à jour ici: 1xbet nouvelle version à télécharger 1xbet nouvelle version à télécharger. Voilà, pour être clair net et précis — la dernière version est hyper fluide et agréable à utiliser.

    les mises à jour se font toutes seules sans intervention. J’ai comparé plusieurs applis mais celle-ci est la meilleure — ne perdez plus un seul instant avec d’autres sites. Je vous souhaite plein de réussite et de gros gains…

  11. Долгое время искал нормальный источник — какой способ действительно работает для международных транзакций. Вот здесь всё по полочкам расписано: международные транзакции международные транзакции Суть в следующем — курс конвертации может существенно отличаться. Дело в том, что любой международный перевод — имеет свои нюансы в зависимости от выбранного способа. И ещё один момент — прежде чем отправлять средства стоит проверить итоговую сумму. В противном случае можно получить менее выгодные условия. В итоге — стоит потратить время на анализ перед любой отправкой средств.

  12. Столкнулся с ситуацией и начал разбираться — как правильно организовать процесс для международных платежей. Товарищ скинул ссылку на качественный разбор: переводы для юридических лиц https://mezhdunarodnye-platezhi-fra.ru Ключевой момент, на который стоит обратить внимание — не все сервисы одинаково прозрачны. Дело в том, что любой перевод за границу онлайн — имеет свои нюансы в зависимости от выбранного способа. И ещё один момент — до проведения операции стоит проверить итоговую сумму. В противном случае можно получить менее выгодные условия. Резюмируя — необходимо проверять информацию перед любой отправкой средств.

  13. Долгое время искал нормальный источник — как правильно организовать процесс для международных переводов. В одном обсуждении попался дельный обзор: международные платежи https://mezhdunarodnye-platezhi-fra.ru Ключевой момент, на который стоит обратить внимание — разница в итоговой сумме бывает значительной. Дело в том, что любой перевод за границу онлайн — имеет свои нюансы в зависимости от выбранного способа. И ещё один момент — прежде чем отправлять средства стоит проверить итоговую сумму. Без этого можно переплатить из-за невыгодного курса. В итоге — лучше заранее разобраться в вопросе перед любой отправкой средств.

  14. Вот решил поделиться информацией — какой способ действительно работает для платежей за рубежом. Нашёл подробный анализ ситуации: перевод денежных средств за границу https://mezhdunarodnye-platezhi-fra.ru Суть в следующем — банковские комиссии сильно различаются. Стоит учитывать, что любой перевод за границу онлайн — требует предварительного сравнения условий. Дополнительная информация — прежде чем отправлять средства рекомендуется сравнить несколько вариантов. В противном случае можно столкнуться с неожиданными расходами. В итоге — необходимо проверять информацию перед любой отправкой средств.

  15. Слушайте, вот уже который раз убеждаюсь — какой сервис не сдирает три шкуры для платежей за рубежом. Случайно набрел на годный материал: отправка денег за рубеж отправка денег за рубеж Самое главное, что я вынес — курс конвертации часто занижают. Согласитесь, абсурд любой подобный трансграничный платёж — это постоянный риск переплатить. Вот ещё важный момент — перед финальным подтверждением проверьте все комиссии до копейки. Без этого легко потерять приличную сумму. Короче — лучше один раз изучить тему перед любой отправкой.

Deixe um comentário

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