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

4.463 Comentários

  1. RufusEnava RufusEnava

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

  2. MerleDuh MerleDuh

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

  3. Robertsug Robertsug

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

  4. Michaelemumb Michaelemumb

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

  5. HectorAnill HectorAnill

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

  6. RobertPhabs RobertPhabs

    Эта обзорная заметка содержит ключевые моменты и факты по актуальным вопросам. Она поможет читателям быстро ориентироваться в теме и узнать о самых важных аспектах сегодня. Получите краткий курс по современной информации и оставайтесь в курсе событий!
    Перейти к полной версии – капельница от запоя круглосуточно

  7. Barbaraferse Barbaraferse

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

Deixe um comentário

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