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

15.763 Comentários

  1. Shanegah Shanegah

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

  2. Morgantef Morgantef

    Наркологическая помощь особенно важна после нескольких дней непрерывного употребления, когда зависимый уже не может самостоятельно отказаться от очередной порции спиртного. Синдром отмены может сопровождаться головной болью, тремором, тревожностью, бессонницей, тошнотой, рвотой, слабостью, скачками давления и учащенным пульсом. В тяжелых случаях появляются галлюцинации, судорожные припадки, признаки алкогольного психоза и другие нарушения, представляющие угрозу здоровью. При таких симптомах попытки вывести человека из запоя без медицинского контроля могут быть опасны.
    Подробнее – narkologiya-vyvod-iz-zapoya-na-domu

  3. Основная задача медицинской помощи при запое — безопасное выведение токсических продуктов распада алкоголя, уменьшение проявлений абстиненции и восстановление функций организма. Инфузионная терапия не сводится к одной стандартной капельнице: врач оценивает симптомы и только после диагностики принимает решение, какие растворы, витамины, седативные, нормализующие и другие лекарственные средства допустимо использовать. При тяжелых состояниях, угрозе судорожных припадков, выраженном обезвоживании, нарушениях сознания или подозрении на осложнения пациенту может потребоваться госпитализация. В таком случае дальнейшее лечение запоя проводится в клинике под контролем специалистов.
    Дополнительная информация – вывод из запоя на дому московская

  4. KaseyMop KaseyMop

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

  5. Brianvag Brianvag

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

Deixe um comentário

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