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

5.120 Comentários

  1. Williamvat Williamvat

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

  2. Thomasdow Thomasdow

    Вывод из запоя на дому — это формат медицинской помощи, при котором лечение проводится в привычной для пациента обстановке с выездом нарколога. Такой подход используется, когда требуется срочное вмешательство, но состояние позволяет обойтись без госпитализации. В наркологической клинике «Частный медик 24» помощь оказывается круглосуточно, с возможностью начать терапию сразу после обращения и без ожидания.
    Углубиться в тему – http://vyvod-iz-zapoya-na-domu-sankt-peterburg-9.ru/

  3. http://solicio.fr/
    L’equipe Solicio s’impose comme une equipe de confiance implantee sur le marche francais, qui propose un accompagnement professionnel aux entreprises et particuliers, en se distinguant par sur l’excellence du service. Plus d’informations via le lien.

  4. LloydMycle LloydMycle

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

  5. ThomasAbalk ThomasAbalk

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

  6. Jamescar Jamescar

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

  7. Larrygorry Larrygorry

    Решение о помещении пациента в стационар принимается на основе объективных медицинских критериев, а не только по желанию родственников. К прямым показаниям относятся: запой длительностью более 72 часов, выраженная абстиненция с тахикардией, стойкой артериальной гипертензией, профузным потоотделением и тремором, наличие в анамнезе перенесенных алкогольных делириев или судорожных эпизодов. В тяжелых случаях, когда интоксикация затрагивает несколько физиологических систем одновременно, резкое прекращение употребления без медицинской поддержки может спровоцировать отек головного мозга, острую сердечную недостаточность, панкреонекроз или желудочно-кишечное кровотечение. В таких случаях стационар позволяет провести полноценную диагностику, включая ЭКГ, экспресс-анализы крови, ультразвуковое исследование внутренних органов и мониторинг сатурации. Это формирует точную картину состояния, исключает шаблонные назначения и позволяет врачам динамически корректировать дозировки препаратов на основе лабораторных данных в реальном времени.
    Исследовать вопрос подробнее – vyvod-iz-zapoya-v-staczionare-nizhnij-novgorod-10.ru/

Deixe um comentário

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