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

10.991 Comentários

  1. Jamesneete Jamesneete

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

  2. BryceBiand BryceBiand

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

  3. yukon gold casino app, new zealandn tourister slot instellen and free spins no deposit united statesn pokies, or nz online casinos that accept
    paypal

    my web page – let’s play craps; Lashawn,

  4. Robertlen Robertlen

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

  5. Franktot Franktot

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

  6. Народ у кого дети Каждый день как на работу А эти бесконечные ремонты в классе Короче, школа где ребёнку комфортно — школа онлайн с лицензией и зачислением Учителя настоящие профи В общем, смотрите сами по ссылке — школа для детей школа для детей Переходите на дистанционное обучение Перешлите другим родителям

  7. Res je težko priznati si, da rabiš pomoč. Potem pa sem izvedel za center in vse se je postavilo na svoje mesto. Govorim o ambulantnem zdravljenju alkoholizma pri Dr Vorobjev centru. Veste, ni lahko, ampak se da premagati. In kar je najpomembneje – program je prilagojen posamezniku. Več o tem in o izkušnjah pacientov si lahko preberete neposredno na uradnem viru: alkoholizem alkoholizem. Po prvem tednu sem začutil razliko.

    Če nekdo v vaši okolici potrebuje pomoč – najboljša odločitev je poklicati. Držim pesti!

  8. JamesHab JamesHab

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

  9. Petererype Petererype

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

Deixe um comentário

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