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
online sportwetten in deutschland neukundenbonus ohne einzahlung
https://betfair-bet.com.mx/
La plataforma Betfair constituye un moderno portal de juego virtual asi como casa de apuestas disenado exclusivamente para la audiencia de Mexico, el cual funciona con licencia oficial y brinda una experiencia completa tanto a traves del telefono inteligente como desde la computadora.
kombiwetten tipps
Feel free to surf to my webpage; esc wetten deutschland (Andy)
gratis bonus sportwetten (https://orthopedy.eu) tipps kaufen legal
I’ve been surfing online more than 4 hours today, yet I never found any interesting article like yours. It is pretty worth enough for me. In my view, if all site owners and bloggers made good content as you did, the internet will be much more useful than ever before.
https://brazino777-bet.com.mx/
La plataforma Brazino777 es un moderno portal de juego virtual junto con operador de apuestas pensado unicamente para el publico mexicano, que realiza sus actividades con permiso vigente y proporciona una propuesta integral tanto a traves del telefono inteligente como desde la computadora.
sportwetten höchster bonus
Also visit my homepage … wetten Spiel abgesagt
Когда похмелье переходит в тяжелое состояние, оно может сопровождаться сильной интоксикацией, головной болью, тошнотой, рвотой, резким падением давления и другими неприятными симптомами, что часто наблюдается при запое. В таких случаях капельница становится одним из самых эффективных методов лечения алкоголизма, позволяющим облегчить состояние пациента и быстро вывести токсины из организма, в том числе при проведении терапии в стационаре.
Получить дополнительную информацию – капельница от похмелья вызов на дом в самаре
coworking office coworking services
электрокарниз москва электрокарниз москва .