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

10.214 Comentários

  1. Sr Sr

    Нашёл сайт quick-visa.cc, когда искал, как получить визу в Тайланд для россиян. Очень удобный и понятный сервис, всё расписано по шагам. Кстати, на quick-visa.cc/ru/ можно сразу заполнить анкету онлайн, что экономит кучу времени. У них есть раздел с актуальной информацией по оформлению визы в Таиланд — там всё подробно объясняют, даже если ты в этом совсем не разбираешься. Ещё мне понравилось, что они предлагают помощь с переездом в Тайланд — это особенно удобно для тех, кто планирует надолго. В целом, если искать визовое агентство в Таиланде, то я бы рекомендовал начать с quick-visa.cc/ru/ http://www.quick-visa.cc/ru/, так как там всё чётко и без лишних заморочек.

  2. Hobertlig Hobertlig

    В этой статье мы рассматриваем разрушительное влияние зависимости на жизнь человека. Обсуждаются аспекты, такие как здоровье, отношения и профессиональные достижения. Читатели узнают о необходимости обращения за помощью и о путях к восстановлению.
    Неизвестные факты о… – Лечение психопатии в Екатеринбурге

  3. Марка 12Х18Н10Т — одна из самых популярных марок аустенитной нержавеющей стали на территории постсоветского пространства. Добавка титана в составе сталь не склонна к межкристаллитному разрушению при эксплуатации в агрессивных средах.

    Подробная информация: https://stal-12h18n10t.ru/truba

    Марка востребована в химической промышленности — в конструкциях, работающих при высоких температурах. Зарубежные аналоги: AISI 321, EN 1.4541 (Европа), SUS 321 (Япония).

Deixe um comentário

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