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
techsnap – Color palette felt calming, nothing distracting, just focused, thoughtful design.
bytecraft – Pages loaded fast, images appeared sharp, and formatting stayed consistent.
mines betting 1win mines betting 1win
1win mərc tətbiqi http://1win34861.help
melbet приветственный бонус http://www.melbet81573.help
Wow, amazing blog structure! How long have you been blogging for? you make running a blog look easy. The entire glance of your web site is excellent, let alone the content
мостбет вход без пароля https://mostbet4151.ru
Hello, I think your website could possibly be having web browser compatibility issues. Whenever I take a look at your site in Safari, it looks fine however, when opening in IE, it has some overlapping issues. I simply wanted to provide you with a quick heads up! Aside from that, wonderful blog!
мелбет вывести на карту киргизия http://www.melbet81573.help
mostbet регистрация аккаунта mostbet27541.help
1win football betting http://1win76138.help/
mostbet crash o‘ynash http://mostbet24618.help/
mostbet cashbackni qanday olish mostbet cashbackni qanday olish
mostbet tez oyinlar mostbet tez oyinlar
мелбет lucky jet играть мелбет lucky jet играть
vavada bonus powitalny polska https://vavada56378.help
1win tournament 1win tournament
cashback sweet bonanza https://sweet-bonanza18364.help/
Excellent post. Keep posting such kind of information on your site. Im really impressed by your site
sweet bonanza jugar http://sweet-bonanza18364.help/
signaltrack – Loved the layout today; clean, simple, and genuinely user-friendly overall.
vavada wypłata neteller https://www.vavada56378.help
Need a multimedia system? i-tec We integrate multimedia systems for home and business. We install and configure audio and video systems, manage content, and integrate equipment into a single system. Modern solutions for comfortable and efficient use of technology.
sweet bonanza tragamonedas méxico sweet bonanza tragamonedas méxico
vavada prowizje wypłaty http://vavada56378.help
мелбет карта пополнение https://melbet36290.help/
1win set pin http://1win76138.help
Расширенная статья здесь: https://parfumabc.ru/parfum/ellen-tracy/
1win registratsiya havola http://1win5768.help/
Лучшие казино https://rating-casino-russia.ru: актуальный список онлайн казино с высоким рейтингом, быстрым выводом средств и выгодными бонусами. Обзор лицензий, игр и платежных методов поможет выбрать надежное казино для комфортной игры.
Лучшие фриспины 2026 бездепозитные казино: бесплатные вращения в онлайн казино без вложений. Подборка проверенных сайтов, бонусы за регистрацию, честные условия отыгрыша и возможность вывода выигрыша без риска для игроков.
Useful tool open link reads standardized vehicle code and outputs complete manufacturing data.
Check out useful resource which provides detailed vehicle history reports from multiple databases.
Нужен дизайн участка? ландшафтный дизайн цена под ключ проектирование и благоустройство участка с учетом рельефа, растений и стиля. Создаем красивые и функциональные решения для частных домов и дач, подбираем материалы и обеспечиваем качественную реализацию проекта.
plinko регистрация через email https://plinko61038.help
joc lucky jet 1win joc lucky jet 1win
мелбет sign up мелбет sign up
1win depunere USDT https://www.1win5808.help
What a data of un-ambiguity and preserveness of valuable know-how regarding unexpected feelings.
melbet lucky jet стратегия http://melbet36290.help
як внести депозит на sweet bonanza https://www.sweet-bonanza54072.help
sweet bonanza ua промокод http://sweet-bonanza54072.help/
1win suport lei moldovenesti http://www.1win5808.help
mostbet электронный кошелек mostbet78063.help
мостбет android приложение скачать mostbet78063.help
sweet bonanza справжній сайт https://www.sweet-bonanza54072.help
1win aplicatie pariuri http://www.1win5808.help
plinko скачать без вирусов https://www.plinko61038.help
melbet live футбол melbet20856.help
mexican online pharmacies