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

  1. DavidBaits DavidBaits

    Текст посвящён распространённым мифам о зависимости и их развенчанию. Мы предоставим научно обоснованную информацию и дадим рекомендации по выбору эффективного способа борьбы с зависимым поведением.
    Перейти к статье – клиника плюс

  2. BoyceEnViz BoyceEnViz

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

  3. BlakeGoomi BlakeGoomi

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

  4. JamesSab JamesSab

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

  5. AlvaroRix AlvaroRix

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

  6. Android kullanıcısı olarak iyi bir uygulama şart. Herkes farklı bir link atıyordu kime güveneceğimi bilemedim. En sonunda sağlam bir kaynağa ulaştım ve size de buradan bahsetmek istediğim nokta şurası: 1xbet download android 1xbet download android. Yani anlatmak istediğim şu — telefonuma kurduktan sonra hiç şikayet etmedim.

    yüklemesi de çok kolaydı yani rahat olun. Kendi deneyimlerimi aktarıyorum size — en güvenilir uygulama bu oldu artık. Umarım siz de memnun kalırsınız…

  7. Знаете, достало уже — отец или муж начинает пить сутками, а просто в тупике. Моя семья с таким столкнулась года два назад . Думал, справлюсь сам — нифига . Оказалось , без врачей и капельниц не обойтись. Перерыл кучу форумов — одни обещания и бабло тянут. А потом наткнулся на один реально рабочий вариант. Кому нужно качественное выведение из запоя с госпитализацией — не ведитесь на дешёвые акции . В Нижнем Новгороде , кстати , хватает левых контор без лицензии. Вся проверенная информация вот тут : лечение алкоголизма в нижнем новгороде лечение алкоголизма в нижнем новгороде Откровенно говоря, после того как почитал , многое стало понятно . Там и про кодирование от алкоголизма подробно расписано , и про условия в стационаре и питание. И цены адекватные, без разводов. Советую не тянуть .

  8. Enriquetug Enriquetug

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

Deixe um comentário

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