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

11.012 Comentários

  1. It’s going to be ending of mine day, except before finish I am reading this wonderful piece of writing to increase my know-how.

  2. Приветствую народ. Мой брат уже шестой день в запое. Родственники просто в тупике. В бесплатный диспансер — стыд на всю жизнь. Короче, реально крутые врачи — вывод из запоя цены приемлемые. Врач поставил систему сразу. В общем, все контакты по ссылке — выведение из запоя на дому выведение из запоя на дому Звоните прямо сейчас. Вдруг это спасёт чью-то жизнь.

  3. KevinMek KevinMek

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

  4. Fobertnar Fobertnar

    Finding a post that is both detailed and completely neutral is quite rare. Your systematic approach to outlining these details makes this a highly valuable resource for everyone.

    https://health-solution.nl/

  5. I’ll right away clutch your rss feed as I can’t to find your e-mail subscription hyperlink or newsletter service. Do you’ve any? Please let me recognise in order that I may just subscribe. Thanks.

  6. Салют, земляки. Брат снова ушёл в завязку. Родственники не знают, как помочь. Платная клиника — бешеные цены. Короче, единственные, кто быстро приехал — вывод из запоя на дому срочно. Приехали через 40 минут. В общем, жмите, чтобы сохранить — выведение из запоя на дому выведение из запоя на дому Звоните прямо сейчас. Вдруг это спасёт чью-то жизнь.

  7. DichaelTiemi DichaelTiemi

    This post feels well explained and pleasant to read while keeping the discussion simple to follow and enjoyable for different readers online.

    virginity

  8. Fobertnar Fobertnar

    This post has a natural and balanced presentation that keeps the content engaging while still feeling easy for many readers online.

    doggie style

  9. Richarddew Richarddew

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

  10. Robertstilt Robertstilt

    Everything for Minecraft https://topminecraftworldseeds.com in one place: mods, skins, maps, texture packs, and the best seeds for survival, creativity, and adventure. Collections of popular add-ons, installation instructions, updates, and secure downloads for different versions of the game.

  11. Всем привет с Невы. Мой знакомый уже седьмой день в запое. Родственники просто в отчаянии. В наркологию тащить — стыд и страх. Короче, реально крутые специалисты — вывод из запоя на дому круглосуточно. Сняли острую интоксикацию. В общем, цены и телефон тут — вывод из алкогольного запоя [url=https://vyvod-iz-zapoya-na-domu-sankt-peterburg-msy.ru]https://vyvod-iz-zapoya-na-domu-sankt-peterburg-msy.ru[/url] Не ждите чуда. Перешлите тем, кто рядом с бедой.

  12. Доброго времени Мой брат уже неделю в запое Соседи звонят в полицию Никакие таблетки не помогают Короче, спасла только госпитализация — стационарное выведение из запоя под наблюдением Положили в палату В общем, телефон и цены тут — запой стационар цены https://vyvod-iz-zapoya-v-staczionare-nizhnij-novgorod-vby.ru Стационар — это реальный выход Перешлите тем кто в такой же ситуации

  13. The implementation of the WAITING state sounds like a much more efficient approach for handling synchronizers in EPOS compared to the basic yield method. While debugging complex thread states can be a headache, I found that taking a break with this Marvel OC Maker really helps clear my head before diving back into the code. Great work on getting the busy/idle waiting toggle to work!

  14. StevenZoott StevenZoott

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

  15. bet365 united kingdom roulette layout, how many the
    top online pokies and us casinos with no deposit bonuses (Rosaline) in australia and united statesn real
    money casino, or pokerstars blackjack australia

  16. Здорова, народ Ситуация знакомая Рассол уже не лезет Короче, нашел реально работающий способ — капельница от похмелья недорого и качественно Голова прошла и тошнота ушла В общем, вся инфа по ссылке — прокапать после тяжелого похмелья телефон воронеж [url=https://kapelnicza-ot-pokhmelya-voronezh-xqt.ru]https://kapelnicza-ot-pokhmelya-voronezh-xqt.ru[/url] Капельница — это быстро и эффективно Перешлите тем кто в такой же ситуации

Deixe um comentário

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