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
http://aida-grafik.de/
Das Team von Aida Grafik praesentiert sich als ein erfahrene Beratung praesent im den deutschen Markt, das liefert massgeschneiderte Loesungen fuer Unternehmen und Privatpersonen, sich auszeichnend durch auf Ergebnisse. Entdecken Sie mehr ueber den Link.
демисезонные комбинезоны для девочек http://www.detskie-kombinezony-kupit.ru
Manual calculations can be prone to mistakes, which a calculator helps avoid.
what does 6/1 odds mean https://single-bet-calculator.uk/odds-explained/
bet calculator each way accumulator https://singlebetcalculator.uk/bet-calculator/accumulator/
скачать мелбет казино на андроид скачать мелбет казино на андроид
bet calculator single bet calculator single .
A single bet calculator is truly a must-have for all committed sports bettors.
single bet https://single-betcalculator.com/
Users gain clarity on potential earnings through these calculators.
how to work out an accumulator bet https://single-bet-calculator-free.com/bet-calculator/accumulator/
This tool allows bettors to calculate their possible returns on one bet with ease.
decimal betting odds https://single-betcalculator.uk/odds-explained/
Using a single bet calculator can greatly improve your betting strategy.
bet treble calculator https://single-betcalculator.com/bet-calculator/treble/
football accumulator odds https://single-bet-calculator-free.uk/bet-calculator/accumulator/
calculate double bet https://singlebetcalculator.uk/bet-calculator/double/
football accumulator odds calculator https://single-bet-calculator-free.uk/bet-calculator/accumulator/
Betting transparency improves as these calculators reveal potential gains.
betting accumulator calculator https://single-bet-calculator-free.com/bet-calculator/accumulator/
each way accumulator calculator https://single-bet-calculator-free.uk/bet-calculator/accumulator/
В этой статье мы рассматриваем разрушительное влияние зависимости на жизнь человека. Обсуждаются аспекты, такие как здоровье, отношения и профессиональные достижения. Читатели узнают о необходимости обращения за помощью и о путях к восстановлению.
Слушай внимательно — тут важно – вывод из запоя анонимно недорого
http://am-webdesign.de/
Das Projekt Am Webdesign ist ein vertrauenswuerdiger Partner fokussiert auf den deutschen Markt, das bereitstellt hochwertige Dienstleistungen fuer alle die Effizienz schaetzen, mit Schwerpunkt auf Vertrauen und Transparenz. Entdecken Sie mehr auf der offiziellen Website.