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
I’m extremely inspired together with your writing skills and also with the layout on your blog. Is this a paid subject matter or did you modify it yourself? Anyway keep up the nice high quality writing, it is rare to peer a nice blog like this one today..
нарколог в ростове цена вывод из запоя vyvod-iz-zapoya-v-rostove-1.ru .
вывод из запоя в стационаре в ростове вывод из запоя в стационаре в ростове .
canadian online pharmacy no prescription
мелбет ошибка входа мелбет ошибка входа
срочный вывод из запоя на дому в ростове vyvod-iz-zapoya-v-rostove-2.ru .
круглосуточный вывод из запоя в ростове круглосуточный вывод из запоя в ростове .
melbet скачать приложение на android melbet скачать приложение на android
мелбет android http://www.melbet30926.help
установка газового пожаротушения для промышленного объекта montazh-gazovogo-pozharotusheniya-2.ru .
газовое пожаротушение монтаж с гарантией montazh-gazovogo-pozharotusheniya-2.ru .
datadev – Found practical insights today; sharing this article with colleagues later.
trycloudy – Color palette felt calming, nothing distracting, just focused, thoughtful design.
melbet ставка на спорт киргизия http://www.melbet54187.help
оптимизация сайта франция цена prodvizhenie-sajtov-v-moskve10.ru .
мелбет app ios киргизия https://melbet30926.help/
usebyte – Overall, professional vibe here; trustworthy, polished, and pleasantly minimal throughout.
mostbet линия спорт Кыргызстан mostbet линия спорт Кыргызстан
canadian pharmacies that ship to usa
мостбет скачать на ios Киргизия мостбет скачать на ios Киргизия
заказать газовое пожаротушение montazh-gazovogo-pozharotusheniya-1.ru .
монтаж газового пожаротушения спб монтаж газового пожаротушения спб .
установка автоматического газового пожаротушения montazh-gazovogo-pozharotusheniya-1.ru .
продвижение сайта продвижение сайта .
cloudster – Appreciate the typography choices; comfortable spacing improved my reading experience.
melbet киргизия ios https://www.melbet51923.help
Download the Mario game on your phone super mario bros playing
монтаж газового пожаротушения сертифицированными специалистами montazh-gazovogo-pozharotusheniya-2.ru .
canada drug pharmacy
My partner and I stumbled over here from a different web page and thought I might as well check things out. I like what I see so now i’m following you. Look forward to looking at your web page for a second time.
approved canadian pharmacies
мелбет ош http://melbet93640.help
мелбет регистрация через sms http://melbet28175.help/
мостбет тотализатор mostbet76914.help
medicine from canada with no prescriptions
блог про продвижение сайтов блог про продвижение сайтов .
mostbet lucky jet 2026 mostbet lucky jet 2026
монтаж газового пожаротушения для серверной montazh-gazovogo-pozharotusheniya-1.ru .
мелбет как сделать ставку мелбет как сделать ставку
most reliable canadian pharmacies
мелбет сайт https://www.melbet93640.help
газовое пожаротушение монтаж с гарантией montazh-gazovogo-pozharotusheniya-1.ru .
как пополнить мостбет mostbet15247.help
overseas pharmacies online
Greetings! I’ve been following your site for some time now and finally got the courage to go ahead and give you a shout out from Huffman Tx! Just wanted to mention keep up the excellent work!
most reliable canadian pharmacies
stackora – Mobile version looks perfect; no glitches, fast scrolling, crisp text.
монтаж автоматической системы газового пожаротушения montazh-gazovogo-pozharotusheniya-1.ru .
мостбет регистрация бонус Кыргызстан http://mostbet96810.help/
melbet букмекерская контора киргизия [url=https://www.melbet93640.help]https://www.melbet93640.help[/url]