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

8.816 Comentários

  1. Как скорость индексации новых страниц влияет на [url=https://forumnow.ru/viewtopic.php?t=3267]Продвижение сайтов в google[/url]?

  2. LarryDub LarryDub

    В этой статье мы рассмотрим современные достижения в области медицины, включая инновационные методы лечения и диагностики. Мы обсудим важность профилактики заболеваний и роль технологий в улучшении качества здравоохранения. Читатели узнают о влиянии медицины на повседневную жизнь и ее значение для современного общества.
    Прочитать подробнее – clinica plus

  3. RobertPothe RobertPothe

    В этой статье рассматриваются актуальные вопросы, связанные с развитием медицинской науки и её внедрением в повседневную практику. Особое внимание уделено вопросам профилактики, ранней диагностики и использованию технологий для улучшения здоровья человека.
    Читать далее > – вызов нарколога

  4. RobertPothe RobertPothe

    Статья посвящена анализу текущих трендов в медицине и их влиянию на жизнь людей. Мы рассмотрим новые технологии, методы лечения и значение профилактики в обеспечении долголетия и здоровья.
    Изучить рекомендации специалистов – выезд нарколога на дом наркология

  5. Stephenunurn Stephenunurn

    I like how this post keeps the discussion interesting and simple to understand while also presenting the ideas in a fair and well-considered way that feels natural for readers online.

    marisol yotta porn

  6. Telefonuma güncel sürümü yüklemek istiyordum açıkçası. Apk dosyasını nereden indireceğimi bulamadım bir türlü. Güncel bilgileri kontrol edip süreci hatasız başlattım. En sonunda sağlam bir kaynağa ulaştım ve size de tüm detayları aktarmak istedim, güncel bilgilere buradan bakabilirsiniz: 1xbet nasıl indirilir 1xbet nasıl indirilir. Şimdi size kısaca özet geçeyim — son sürümü bütün eksikleri kapatmış resmen.

    kurulumu da oldukça kolaydı yani rahat olun. İşin doğrusunu söylemek gerekirse — kesinlikle pişman olmazsınız deneyin derim. Herkese hayırlı olsun…

  7. Williammig Williammig

    Медицинская публикация представляет собой свод актуальных исследований, экспертных мнений и новейших достижений в сфере здравоохранения. Здесь вы найдете информацию о новых методах лечения, прорывных технологиях и их практическом применении. Мы стремимся сделать актуальные медицинские исследования доступными и понятными для широкой аудитории.
    Прочесть всё о… – наркологическая клиника в иркутске

  8. RobertPothe RobertPothe

    Этот обзор содержит информацию о передовых достижениях в области медицины. Мы разберем инновационные технологии, которые меняют подход к лечению и диагностике, а также их влияние на эффективность оказания медицинской помощи.
    Запросить дополнительные данные – нарколог на дом цена

  9. Gregoryflazy Gregoryflazy

    основанием для вызова специалиста является неспособность человека самостоятельно выйти из состояния непрерывного употребления алкоголя и наличие признаков абстиненции.
    Ознакомиться с деталями – нарколог вывод из запоя

Deixe um comentário

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