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

  1. Mobil platform arayışım epey sürdü valla. Play Store’da arattım ama aradığımı bulamadım. Güncel bilgileri kontrol edip süreci hatasız başlattım. En sonunda sağlam bir kaynağa ulaştım ve size de tüm detayları aktarmak istedim, güncel bilgilere buradan bakabilirsiniz: 1xbet app apk 1xbet app apk. Yani anlatmak istediğim şu — telefonuma kurduktan sonra çok memnunum.

    kurulumu da çok hızlıydı yani rahat olun. İşin doğrusunu söylemek gerekirse — başka yerde vakit kaybetmeyin yani. Umarım siz de memnun kalırsınız…

  2. PatrickAxoto PatrickAxoto

    В данном материале представлены ключевые тенденции в сфере медицинской науки и практики. Вы узнаете о последних открытиях, инновационных подходах к терапии и важности профилактики заболеваний. Особое внимание уделено практическому применению новых методов в клинической практике.
    Продолжить чтение – clinica plus

  3. Mobil bahise ilgi duyalı çok oldu aslında. Play Store’da aradım ama resmi uygulamayı bulamadım. Adımları doğru sırayla uyguladıktan sonra erişim sorunsuz açıldı. En sonunda güvendiğim bir kaynağa ulaştım ve size de tüm detayları aktarmak istedim, güncel bilgilere buradan bakabilirsiniz: 1xbet android 1xbet android. Valla bak net söyleyeyim — telefonuma kurduğuma çok memnunum.

    Hiçbir takılma yaşamadım şu ana kadar. Kendi deneyimlerimi aktarıyorum size — başka yerde vakit kaybetmeyin yani. Şimdiden iyi şanslar ve bol kazançlar…

  4. Android cihazımda sorunsuz çalışan bir platform çok lazımdı. Virüssüz bir apk bulmak gerçekten çileydi valla. En sonunda güvendiğim bir kaynağa ulaştım ve size de buradan bahsetmek istediğim nokta şurası: 1xbet app apk 1xbet app apk. Valla bak net söyleyeyim — android uygulaması resmen harika çalışıyor.

    Hiçbir hata almadım şu ana kadar. Birçok apk denedim ama en stabilı bu çıktı — kesinlikle pişman olmazsınız deneyin derim. Umarım siz de memnun kalırsınız…

Deixe um comentário

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