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

3.609 Comentários

  1. Jamesstido Jamesstido

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

  2. AlonzoseiNY AlonzoseiNY

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

  3. AlonzoseiNY AlonzoseiNY

    Лечение алкоголизма в Воронеже у нас проводится на всех стадиях: от первой помощи при запое до кодирования и долгосрочной поддержки. Для пациентов с наркотической зависимостью (включая синтетические каннабиноиды и опиоиды) мы применяем щадящие схемы детоксикации, которые минимизируют болезненные симптомы и снижают риск срывов. Кодирование от алкоголизма и наркомании доступно в нескольких вариантах: медикаментозное (инъекции, импланты, «Двойной блок»), гипносуггестивное и комбинированное. Каждый метод подбирается после тщательной диагностики, чтобы результат был максимально долгосрочным.
    Подробнее тут – вызов наркологической помощи в воронеже

  4. Kevinwax Kevinwax

    Консультацию психолога https://психолог38.рф в Иркутске можно получить в центре Психолог38. Здесь работают высококвалифицированные специалисты: детские психологи, клинические, семейные и индивидуальные. Мы собрали профессионалов разных направлений, чтобы комплексно подходить к решению запросов клиентов. Бережно, деликатно, с научным подходом. Сложные ситуации в нашей жизни встречаются не редко, и своевременная помощь, поддержка очень важна. Находясь среди людей, легко можно оказаться в одиночестве, один на один со своими проблемами. Если вы ищите лучших психологов, которые реально помогают людям, обратите внимание на нашу организацию.

Deixe um comentário

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