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

2.814 Comentários

  1. Jamescaw Jamescaw

    Этот интересный отчет представляет собой сборник полезных фактов, касающихся актуальных тем. Мы проанализируем данные, чтобы вы могли сделать обоснованные выводы. Читайте, чтобы узнать больше о последних трендах и значимых событиях!
    Лови подробности – капельница от алкоголя цена

  2. While browsing e-commerce platforms I found a website that emphasizes bright visuals and simple navigation for an improved online shopping experience Daily Cart Shine – the product presentation is attractive and the interface is easy to use making it simple for users to enjoy browsing and shopping online in a smooth and pleasant way today

  3. People who appreciate clean ecommerce design often look for platforms that make product browsing feel simple and elegant, especially when they explore elegant choice shopping hub – the website feels polished and structured, helping users navigate smoothly while enjoying a refined and visually appealing shopping environment throughout their visit.

  4. I seriously love your site.. Very nice colors & theme. Did you build this amazing site yourself? Please reply back as I’m attempting to create my own website and would like to learn where you got this from or just what the theme is called. Thanks!

  5. During my search for easy-to-use online marketplaces with diverse products, I added global choice market hub into my notes – the platform provides many options and the mobile navigation feels fluid and well designed for quick browsing on the go.

  6. People exploring boutique fashion online often value websites that keep collections accessible and well organized, and chic clothing portal – delivers a structured shopping layout that improves product visibility and allows customers to browse apparel categories more efficiently and comfortably overall.

  7. Anyone interested in discovering new ideas online may enjoy learning inspiration space because it offers several interesting topics that make browsing engaging, creating a platform worth revisiting later for additional inspiration and knowledge.

  8. Students and professionals alike often rely on structured educational platforms that simplify learning journeys and provide consistent guidance for skill development DailyScholar Path designed to support steady progress – This ensures learners can build knowledge gradually while maintaining focus and clarity throughout their study routines.

  9. While browsing online lifestyle collections, I discovered Unique Living Experience Hub which offers a modern interface and structured navigation that enhances usability – overall it feels like a nice website and browsing categories is smooth, visually appealing, and comfortable across all sections

  10. Marcusexors Marcusexors

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

  11. CharlesNer CharlesNer

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

  12. Shoppers who prefer fast paced environments often choose platforms that allow rapid browsing and quick access to trending items and deals MarketSprint Portal – A sprint style marketplace portal designed for speed focused users, enabling fast browsing, quick comparisons, and immediate access to popular products.

  13. DonaldRix DonaldRix

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

Deixe um comentário

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