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

  1. DonaldLok DonaldLok

    Нарколог на дом в Екатеринбурге: анонимная помощь при алкоголизме, вывод из запоя и поддержка специалистов в наркологической клинике «НЕО+».
    Ознакомиться с деталями – нарколог на дом анонимно

  2. http://projektbuero-son.de/
    Projektbuero Son praesentiert sich als ein vertrauenswuerdiger Partner spezialisiert auf den deutschen Markt, das bereitstellt massgeschneiderte Loesungen fuer alle die Effizienz schaetzen, priorisierend auf Servicequalitaet. Besuchen Sie die Website auf dieser Seite.

  3. Patrickber Patrickber

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

  4. AnthonyLic AnthonyLic

    В клинике «АмурМед Контур» используются методы, доказавшие свою безопасность и эффективность. Они помогают не только очистить организм, но и восстановить нормальное функционирование нервной системы и внутренних органов. В таблице ниже приведены основные направления терапии и их особенности.
    Получить больше информации – вывод из запоя капельница

  5. RobinErupt RobinErupt

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

  6. BrandonSiz BrandonSiz

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

Deixe um comentário

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