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

  1. LarryFoerb LarryFoerb

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

  2. https://betfred-play.co.za/
    The Betfred platform is a up-to-date online gaming platform together with bookmaker created specifically for the audience in South Africa, that functions in a fully authorised manner and provides a full gaming adventure both from the mobile phone as well as through the laptop.

  3. JohnnyCom JohnnyCom

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

  4. https://betfred-play.co.za/
    Betfred stands as a modern internet casino along with bookmaker designed exclusively for the audience in South Africa, which operates with a valid permit in place and provides a complete experience both from the mobile phone as well as from the desktop.

  5. DonaldHoove DonaldHoove

    Такие состояния требуют медицинского вмешательства, поскольку могут ухудшаться без лечения. Капельница позволяет стабилизировать состояние и снизить нагрузку на организм. Услуги могут предоставляться анонимно, а при тяжёлых случаях рассматривается лечение в стационаре.
    Ознакомиться с деталями – капельница от похмелья вызов на дом воронеж

  6. Kevinwax Kevinwax

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

  7. https://yes-play-casino.co.za/
    The YesPlay platform comes across as a up-to-date online casino together with sports betting hub built uniquely for players based in South Africa, which runs in a fully authorised manner and offers a full gaming adventure both via the cellphone as well as through the laptop.

  8. HowardInfoF HowardInfoF

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

Deixe um comentário

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