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
mostbet bonusu necə aktiv etmək http://mostbet2012.help/
melbet aplicatie oficiala https://melbet42310.help
canada pharmacies without script
mostbet рабочий сайт Кыргызстан https://mostbet45087.help/
1win Ош скачать https://1win17043.help
bytelab – Content reads clearly, helpful examples made concepts easy to grasp.
1вин слоты 1вин слоты
pin up Uzcard depozit [url=pinup14278.help]pinup14278.help[/url]
mostbet agenți suport http://www.mostbet63218.help
mostbet oferta bonus mostbet oferta bonus
mostbet maksimal yutuq http://mostbet28461.help
mostbet спорт вход mostbet20748.help
Every weekend i used to visit this web site, for the reason that i want enjoyment, as this this website conations truly nice funny data too.
mostbet восстановление аккаунта mostbet восстановление аккаунта
mostbet royxatdan otish uz https://mostbet28461.help/
1вин о деньги вывод https://1win17043.help
mostbet зеркало сегодня mostbet зеркало сегодня
мостбет как вывести на Visa мостбет как вывести на Visa
1win минимальный вывод https://1win54038.help
mostbet aviator stavka mostbet aviator stavka
1win как пополнить баланс https://1win17043.help
mostbet payme komissiya https://www.mostbet84629.help
mostbet keshbek mostbet keshbek
mostbet taxe câștig https://mostbet63218.help
мостбет как пополнить через терминал http://www.mostbet57193.help
мостбет ставки Кыргызстан http://www.mostbet17403.help
мостбет KGS пополнение https://mostbet57193.help/
мостбет баланс мостбет баланс
как получить фрибет mostbet http://www.mostbet60172.help
mostbet Toshkent login https://mostbet84629.help
veloxtech – Found practical insights today; sharing this article with colleagues later.
мостбет поддержка telegram http://www.mostbet57193.help
mostbet free bet qachon tushadi mostbet free bet qachon tushadi
1win как вывести через мбанк 1win как вывести через мбанк
mostbet karta fotosi http://mostbet84629.help
1win mines o‘yin 1win mines o‘yin
срочно курсовая работа kupit-kursovuyu-82.ru .
мостбет хоккей ставки https://www.mostbet94063.help
mostbet updated mirror https://mostbet53160.help/
мостбет в узбекистане https://mostbet60172.help/
мостбет пополнение с uzcard http://mostbet60172.help
mostbet prognozlar mostbet prognozlar
1win mobil sayt http://1win5754.help/
quantumforge – Found practical insights today; sharing this article with colleagues later.
most bet official site most bet official site
dataforge – Content reads clearly, helpful examples made concepts easy to grasp.
mostbet app for android download http://mostbet53160.help/
bitcore – Appreciate the typography choices; comfortable spacing improved my reading experience.
Sprawdz poradnik pierwsza kamera fpv do drona, jesli szukasz najlepszych wskazowek przy wyborze kamery FPV na start.
Mozliwosc zapisu w kilku formatach i wsparcie dla DVR przydaja sie podczas postprodukcji.
mostbet új játékok mostbet új játékok