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

12.209 Comentários

  1. Charlesthofe Charlesthofe

    В центре применяется последовательная модель лечения, включающая диагностику, детоксикацию, психотерапию, восстановление социальных навыков и постлечебное сопровождение. Такой подход даёт устойчивый эффект даже при тяжёлых формах зависимости.
    Узнать больше – https://narkologicheskaya-klinika-volgograd9.ru/

  2. Люди помогите советом Цены космос а качество мыло То пластик трескается Короче, нашел нормальный рейтинг — лучшие настенные карнизы с гарантией Выбор огромный В общем, вся инфа вот здесь — самые надежные карнизы самые надежные карнизы Изучите рейтинг перед покупкой Перешлите тому кто ищет карнизы

  3. Слушайте кто карнизы ищет Объездил кучу магазинов — везде одно и то же То дизайн ужасный Короче, единственные кто честно рассказывает — лучшие карнизы по отзывам Отзывы реальных покупателей В общем, жмите чтобы не потерять — рейтинг производителей карнизов рейтинг производителей карнизов Изучите рейтинг перед покупкой Перешлите тому кто ищет карнизы

  4. Слушайте кто знает Муж просто потерял себя Родственники не знают что делать Таблетки не помогают Короче, только капельница реально спасла — капельница от запоя клиника с гарантией Через пару часов человек пришёл в себя В общем, вся инфа по ссылке — капельница от запоя стоимость https://narkolog.kapelnicza-ot-zapoya-sankt-peterburg.ru Капельница от запоя — это реальный выход Перешлите тем кто в такой же ситуации

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

  6. Здорово, народ Объездил кучу магазинов — везде одно и то же То механизм клинит Короче, реально толковые ребята — лучшие настенные карнизы с гарантией Выбор огромный В общем, смотрите сами по ссылке — сравнение карнизов сравнение карнизов Не покупайте наугад Перешлите тому кто ищет карнизы

  7. Слушайте кто сталкивался Брат снова сорвался Дети напуганы Нужен врач прямо сейчас Короче, единственный кто реально помог — наркологическая помощь на дому круглосуточно качественно Приехал через 40 минут В общем, вся инфа по ссылке — скорая наркологическая помощь на дому скорая наркологическая помощь на дому Не ждите пока станет хуже Перешлите тем кто в такой же ситуации

  8. SamuelDooca SamuelDooca

    Вывод из запоя в Москве — это профессиональная наркологическая помощь, направленная на безопасное прекращение длительного употребления алкоголя и устранение симптомов тяжелой интоксикации. Для жителей Королева такой формат доступен на дому, амбулаторно и в клинике: выездная служба работает круглосуточно, без выходных, а врач может приехать в домашних условиях или организовать транспортировку в отделение. Оптимальное решение проблемы — заказать выезд нарколога на дом.
    Узнать больше – [url=https://vyvod-iz-zapoya-v-koroleve14.ru/]vyvod-iz-zapoya-v-klinike[/url]

Deixe um comentário

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