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://narkologicheskaya-klinika-36.ru/ .
платный наркологический диспансер москва https://narkologicheskaya-klinika-37.ru .
экстренное вытрезвление экстренное вытрезвление .
экстренное вытрезвление в москве http://narkologicheskaya-klinika-35.ru/ .
филлер цена https://filler-kupit.ru .
melbet apk download apkpure melbet apk download apkpure
главные новости беларуси новости беларуси и мира
Hi, yeah this paragraph is in fact fastidious and I have learned lot of things from it concerning blogging. thanks.
https://shop.avr-music.com/2025/10/26/melbet-kazino-oficialnyj-sajt-2025/
1win официальный сайт 1вин промокоды 1win официальный сайт 1вин промокоды
рейтинг интернет агентств seo http://reiting-seo-kompanii.ru/ .
скачать 1вин на айфон http://1win12043.ru
aviator 1win отзывы 1win12043.ru
новости беларуси новости беларуси сегодня
карниз моторизованный http://www.elektrokarniz2.ru .
Узнать больше здесь: https://medim-pro.ru/spravka-iz-fizkulturnogo-dispansera-kupit/
инъекционная гидроизоляция своими руками инъекционная гидроизоляция своими руками .
усиление проема усиление проема .
услуги аренды экскаватора погрузчика услуги аренды экскаватора погрузчика .
стоимость услуг экскаватора погрузчика стоимость услуг экскаватора погрузчика .
курсовой проект купить цена https://kupit-kursovuyu-21.ru/ .
услуги гидроизоляции подвала https://gidroizolyacziya-podvala-iznutri-czena.ru/ .
гидроизоляция подвала технологии гидроизоляция подвала технологии .
гидроизоляция цена гидроизоляция цена .
ремонт бетонных конструкций железобетонных remont-betonnykh-konstrukczij-usilenie.ru .
где можно заказать курсовую работу https://kupit-kursovuyu-22.ru/ .
Hi! Do you use Twitter? I’d like to follow you if that would be okay. I’m definitely enjoying your blog and look forward to new posts.
Qfinder Pro
Free video chat emerald chat app download find people from all over the world in seconds. Anonymous, no registration or SMS required. A convenient alternative to Omegle: minimal settings, maximum live communication right in your browser, at home or on the go, without unnecessary ads.