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.004 Comentários

  1. Bryanerumn Bryanerumn

    Первый этап лечения начинается с беседы и медицинской оценки. Нарколог выясняет, сколько лет существует проблема, как часто человек употребляет алкоголь или наркотические вещества, когда был последний прием, присутствуют ли симптомы интоксикации, бессонницы, тревоги или психических расстройств. При необходимости назначаются анализы и дополнительная диагностика. Врач также учитывает документы и выписки, если ранее лечение проводилось в другой организации. Такой подход позволяет подобрать безопасные методы лечения пациента и определить, может ли помощь оказываться на дому либо необходима госпитализация в стационар.
    Подробнее – narkologicheskaya-klinika-v-moskve

  2. CharlesErync CharlesErync

    Запойные периоды возникают на фоне сформированной алкогольной зависимости и сопровождаются повторным употреблением спиртного для временного облегчения похмелья. Первый прием алкоголя действительно может на короткое время снять отдельные неприятные ощущения, хотя затем интоксикация усиливается. Человек продолжает употреблять спиртное, продукты распада накапливаются, а токсическое влияние на головной мозг, сердце и печень становится сильнее. В таких обстоятельствах профессиональный вывод из запоя является более безопасным решением, чем попытка лечиться случайными медикаментами дома.
    Узнать больше – https://2.vyvod-iz-zapoya-moskva1-13.ru/

  3. Круглосуточная наркологическая помощь — это не громкая вывеска, а чётко выстроенная логистика, где каждый шаг измерим и объясним. В клинике «УралМед Трезвость» мы работаем по принципу «одна цель — один клинический шаг — одно окно оценки», чтобы исключить полипрагмазию и сохранить прогнозируемость результатов. Выездные бригады прибывают без маркировки, используют компактное оборудование и поддерживают спокойную коммуникацию: только факты, никакой стигмы и давления. Такой формат минимизирует тревогу пациента и близких, а также снижает риск срывов за счёт последовательной, поэтапной стабилизации.
    Изучить вопрос глубже – частная наркологическая клиника челябинск

Deixe um comentário

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