Ir ao conteúdo

Exercicio 2 – Sistemas Operacionais II – INE5424 – UFSC

Trabalho 2 – EPOS
Implementação de Idle-waiting

    A implementação do exercicio 2, consiste em alteração da classe Syncronizer, onde na versão inicial a mesma utiliza yield gerando uma carga desnecessária para o processador. A alteração deve ser semelhante a realizada no exercicio um, fazendo com que não seja gasto recursos sem necessidade.
    Durante as discussões sobre a implementação imaginamos uma nova váriavel dentro de cada Thread para monitorar se a mesma está em uma estrutura como Semaphoro, Mutex ou váriavel condicional. Assim sendo possivel a verificação se está ou não, permitindo que nós façamos as devidas verificações para que o método resume e suspend não possam ser chamados quando a mesma estivesse esperando. Após algum tempo discutindo e analise dos códigos foi imaginada uma abordagem que em vez de criar uma váriavel nova para cada Thread seria necessário simplesmente a criação de um novo estado, denominado por nós de WAITING. Junto a isso foi criada uma fila para cada “Synchronizer”, que possui os processos que estão esperando para serem acordados. Os métodos que acordam os outros processos (wakeup e wakeup_all) foram implementados de forma não bloqueante, ou seja, as threads acordadas são apenas colocadas na fila “_ready”, sem troca imediata de contexto.
    Outras alterações também foram realizadas nos arquivos synchronizer.h, thread.cc, condition.h e semaphore.h, para que os mesmos funcionem corretamente com o novo estado WAITING. Por exemplo, no arquivo Thread.cc as implementações de Join, Resume e exit foram alteradas para a utilização deste novo estado, neste arquivo também foram criados novos métodos denominados sleep e wakeup. Que basicamente tratam a parte de colocar para dormir e botar neste novo estado e também na fila do “Synchronizer”. As devidas alterações foram realizadas nos demais arquivos, para que os mesmos funcionem com o novo estado WAITING.
    Também implementamos o busy waiting no “Synchronizer”, para o usuário poder escolher entre busy e idle waiting alterando uma variável booleana.

Arquivos Modificados:
synchronizer
condition.h
semaphore
thread

5.466 Comentários

  1. Patrickber Patrickber

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

  2. Michaellar Michaellar

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

  3. Charlessib Charlessib

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

  4. Диагностика позволяет установить степень интоксикации, выраженность абстинентного синдрома и наличие сопутствующих заболеваний, которые могут влиять на переносимость терапии.
    Получить дополнительную информацию – [url=https://narkologicheskaya-klinika-v-tolyatti0.ru/]вывод наркологическая клиника[/url]

  5. WilliamEmogs WilliamEmogs

    Медицинская команда контролирует каждый этап лечения, отслеживая динамику и корректируя терапию при необходимости. Благодаря такому подходу удаётся добиться не временного улучшения, а устойчивого восстановления.
    Изучить вопрос глубже – вывод наркологическая клиника

  6. http://verbrauchersschutz.de/
    Das Projekt Verbrauchersschutz etabliert sich als ein vertrauenswuerdiger Partner ausgerichtet auf den deutschen Markt, das bereitstellt hochwertige Dienstleistungen fuer alle die Ergebnisse suchen, wertschaetzend auf Vertrauen und Transparenz. Erfahren Sie mehr auf der offiziellen Website.

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

  8. http://verbrauchersschutz.de/
    Das Projekt Verbrauchersschutz etabliert sich als ein professionelles Unternehmen praesent im die deutsche Wirtschaftslandschaft, das liefert ganzheitliche Ansaetze fuer alle die Ergebnisse suchen, sich auszeichnend durch auf Ergebnisse. Besuchen Sie die Website auf der offiziellen Website.

Deixe um comentário

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