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

10.110 Comentários

  1. Pakiet powitalny Mostbet łączy bonus od depozytu z zestawem darmowych spinów dla nowych graczy.

    Free spiny są często przyznawane partiami przez kolejne dni, a nie wszystkie naraz.

    Free spiny wygasają po określonym okresie, więc nie należy zwlekać z ich użyciem.

    Mostbet informuje o świeżych free spinach poprzez powiadomienia i stronę bonusów.

    Zaleca się grę odpowiedzialną oraz ustalanie własnych limitów wydatków.

    mostbet voucher free spins 2026 bez depozytu mostbet voucher free spins 2026 bez depozytu

  2. Free spiny w Mostbet pozwalają zakręcić bębnami wybranych slotów bez ryzykowania własnych pieniędzy.

    Pierwszym krokiem jest rejestracja konta oraz weryfikacja profilu gracza.

    Wygrane z darmowych spinów podlegają wymaganiom obrotu, które trzeba spełnić przed wypłatą.

    Aktywni użytkownicy z Polski otrzymują spiny za kolejne depozyty i udział w promocjach.

    Zaleca się dokładne przeczytanie warunków bonusu, aby uniknąć nieporozumień.

    mostbet promo code free spin mostbet promo code free spin

  3. true fortune casino true fortune casino
    The clean design and broad game choice appeal to a wide range of casino fans.

    The platform also includes live dealer tables for a more immersive experience.

    Regular players can benefit from reload bonuses, cashback and tournaments.

    Account information is safeguarded through modern security measures.

    A help team can be reached for questions about accounts, bonuses and payments.

  4. Pakiet powitalny Mostbet łączy bonus od depozytu z zestawem darmowych spinów dla nowych graczy.

    Zestaw darmowych spinów bywa rozłożony na kilka dni, aby wydłużyć rozgrywkę.

    Wygrane z darmowych spinów podlegają wymaganiom obrotu, które trzeba spełnić przed wypłatą.

    Poza pakietem powitalnym Mostbet oferuje darmowe spiny w cotygodniowych promocjach.

    Zaleca się dokładne przeczytanie warunków bonusu, aby uniknąć nieporozumień.

    casino bonus casino bonus

  5. MelvinPriff MelvinPriff

    Врач контролирует состояние пациента на протяжении всей процедуры — от первого введения препаратов до стабилизации самочувствия. Обычно уже через час после постановки капельницы уходит тошнота, нормализуется сон, снижается тревожность и тяга к спиртному. По завершении инфузионной терапии нарколог оставляет необходимые медикаменты на несколько дней, дает чёткие инструкции по их приёму и рекомендует дальнейшие шаги: амбулаторное наблюдение, кодирование или реабилитацию. После вывода из запоя обязательно даются рекомендации по продолжению лечения алкоголизма, включая кодирование и реабилитацию. Во многих случаях — да: в частной клинике платная помощь включает выездную стабилизацию, чтобы анонимно и быстро провести необходимые процедуры на месте.
    Выяснить больше – narkolog-na-dom-vyvod-iz-zapoya

  6. true fortune casino true fortune casino
    True Fortune Casino brings together casino games, bonuses and flexible banking on a single platform.

    A free-play option lets players sample games without any financial risk.

    Reasonable bonus conditions, including a fair wager, are worth confirming in advance.

    The cashier offers flexible banking choices to suit different preferences.

    It is important to check that a casino holds a valid licence for your region before playing.

  7. Wow that was strange. I just wrote an extremely long comment but after I clicked submit my comment didn’t appear. Grrrr… well I’m not writing all that over again. Anyhow, just wanted to say fantastic blog!

Deixe um comentário

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