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

8.026 Comentários

  1. Gilbertlig Gilbertlig

    В статье по вопросам здоровья мы рассматриваем актуальные проблемы, с которыми сталкивается общество. Обсуждаются заболевания, факторы риска и важные аспекты профилактики. Читатели получат полезные советы о том, как сохранить здоровье и улучшить качество жизни.
    Есть чему поучиться – нарколога на дом

  2. Gilbertlig Gilbertlig

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

  3. Долго рылся в интернете на разных форумах, Прям беда реальная: потерял контакт со старым хорошим другом. Решил докопаться до истины и разобраться,. И знаете что? Тут главное знать, куда именно смотреть и какие базы юзать.

    Короче, если вас сейчас волнует тот же самый вопрос — пробить странный входящий звонок, то есть один реально работающий и живой сервис. Конкретно про то, как узнать по мобильному кто именно звонил — вот здесь всё максимально норм расписано: где находится абонент по номеру телефона где находится абонент по номеру телефона.

    Я сам сначала вообще не верил во всё это. Потому что а тут выложена конкретная и структурированная информация. В общем, обязательно сохраните себе на будущее. Век живи — век учись, как говорится.

  4. Долго рылся в интернете на разных форумах, Ситуация дурацкая, нужно срочно проверить один подозрительный номер. Полез в глубокий поиск по веткам. И знаете что? Тут главное знать, куда именно смотреть и какие базы юзать.

    Короче, если вас сейчас волнует тот же самый вопрос — быстро определить владельца номера, то есть один реально работающий и живой сервис. Конкретно про то, как узнать по мобильному кто именно звонил — вот здесь всё максимально норм расписано: узнать адрес по номеру телефона бесплатно узнать адрес по номеру телефона бесплатно.

    Проверил лично на себе — тема реально работает. Потому что обычный поиск гуглит только рекламный спам. В общем, не теряйте свое время зря на разводняк. Век живи — век учись, как говорится.

  5. Per vivere l’adrenalina del Crazy Time nei casino italiani, visita statistiche live crazy time e scopri demo, statistiche e partite in diretta.
    Questo consente agli utenti di giocare senza preoccupazioni, sapendo che la loro privacy e rispettata.

  6. RobertMep RobertMep

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

  7. Se vuoi vivere l’emozione unica del gioco d’azzardo, non perdere l’occasione di provare crazy time apk per scoprire il miglior intrattenimento casino in Italia!
    Crazy Time Slot Casino Italy e diventato uno dei casino online piu popolari. Gli utenti italiani preferiscono Crazy Time Slot per l’ampia varieta di giochi e la facilita d’uso della piattaforma. La sicurezza e l’affidabilita sono elementi chiave che rendono questo casino una scelta ideale per chi desidera divertirsi senza preoccupazioni.
    L’interfaccia utente e stata progettata per essere accessibile a tutti, anche ai principianti. Le grafiche coinvolgenti e i suoni esclusivi contribuiscono a creare un ambiente immersivo. Grazie alla piena compatibilita con smartphone e tablet, il divertimento e garantito in movimento.

  8. http://marketingpeach.de/
    Marketingpeach ist ein spezialisierte Agentur ausgerichtet auf den deutschen Markt, das anbietet hochwertige Dienstleistungen fuer Unternehmen und Privatpersonen, mit Schwerpunkt auf Vertrauen und Transparenz. Besuchen Sie die Website auf der offiziellen Website.

  9. Per vivere l’adrenalina del Crazy Time nei casino italiani, visita crazy time track casino e scopri demo, statistiche e partite in diretta.
    Questo contribuisce a mantenere alto l’interesse e la voglia di tornare a giocare.

Deixe um comentário

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