Ir ao conteúdo

Exercicio 2 – Sistemas Operacionais II – INE5424 – UFSC

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

9.178 Comentários

  1. Currently it sounds like Expression Engine is the best blogging platform out there right now. (from what I’ve read) Is that what you are using on your blog?

  2. I know this if off topic but I’m looking into starting my own weblog and was
    wondering what all is required to get set up?
    I’m assuming having a blog like yours would cost a pretty penny?
    I’m not very internet smart so I’m not 100% sure.

    Any tips or advice would be greatly appreciated. Thank you

  3. Вот решил поделиться информацией — какой способ действительно работает для международных платежей. В одном обсуждении попался дельный обзор: переводы для юридических лиц https://mezhdunarodnye-platezhi-fra.ru Суть в следующем — курс конвертации может существенно отличаться. Дело в том, что любой перевод за границу онлайн — требует предварительного сравнения условий. И ещё один момент — перед подтверждением перевода стоит проверить итоговую сумму. В противном случае можно получить менее выгодные условия. В итоге — лучше заранее разобраться в вопросе перед любой отправкой средств.

  4. Вот решил поделиться информацией — как правильно организовать процесс для международных переводов. Вот здесь всё по полочкам расписано: платежи за рубежом платежи за рубежом Суть в следующем — разница в итоговой сумме бывает значительной. Стоит учитывать, что любой международный перевод — требует предварительного сравнения условий. И ещё один момент — перед подтверждением перевода рекомендуется сравнить несколько вариантов. Без этого можно переплатить из-за невыгодного курса. Резюмируя — необходимо проверять информацию перед любой отправкой средств.

  5. Aw, this was a really good post. Taking a few minutes and actual effort to make a top notch article… but what can I say… I procrastinate a lot and never seem to get nearly anything done.

  6. Wow that was unusual. I just wrote an very long comment but after I clicked submit my comment didn’t appear. Grrrr… well I’m not writing all that over again. Regardless, just wanted to say excellent blog!

  7. Hi there, You’ve performed an incredible job. I will certainly digg it and in my view suggest to my friends. I am sure they’ll be benefited from this website.

  8. Долго не мог понять, в чем подвох — какой сервис не сдирает три шкуры для международных транзакций. Товарищ скинул ссылку на нормальный разбор: перевод средств за границу перевод средств за границу Суть вот в чём — курс конвертации часто занижают. Потому что любой перевод за границу онлайн — это реальная финансовая лотерея. Обратите внимание, многие не в курсе — до любой операции с валютой проверьте все комиссии до копейки. Без этого легко остаться в минусе только на конвертации. Моё мнение — лучше один раз изучить тему перед любой отправкой.

  9. Слушайте кто в теме. Цены космос а качество мыло. Короче, единственные кто не наебывает — купить заказать кухню под ключ. Фасады из массива. В общем, жмите чтобы не потерять — где лучше купить кухню в спб где лучше купить кухню в спб Проверяйте производителя. Перешлите тому кто ищет.

  10. J’ai testé plusieurs plateformes sans grand succès. Je n’arrivais pas à trouver la version officielle sur le Play Store. Après avoir suivi les étapes dans le bon ordre, tout a fonctionné. J’ai finalement déniché la bonne source et je voulais vous partager tous les détails, vous pouvez consulter les informations à jour ici: 1xbet 2026 1xbet 2026. Voilà, pour être clair avec vous — après l’avoir installée, j’ai été vraiment surpris.

    les mises à jour se font automatiquement sans intervention. J’ai comparé plusieurs apps mais celle-ci est la meilleure — ne perdez plus votre temps avec d’autres sites. J’espère que vous serez aussi satisfaits que moi…

  11. Ребята кто в Питере живет. В Леруа Мерлен посмотрел — качество ужас. То материал эконом — покоробится через месяц. Короче, нашел наконец нормальное производство — купить готовую кухню в спб со склада. Сделали 3D-визуализацию бесплатно. В общем, там каталог с ценами и реальные отзывы — купить заказать кухню купить заказать кухню Проверяйте производителя по этому списку. Сам столько нервов потратил теперь делюсь.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *