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

13.006 Comentários

  1. Люди помогите советом Отец не выходит из штопора Соседи стучат в стену Нужен врач прямо сейчас Короче, врач приехал и поставил систему — нарколог на дому капельница цена фиксированная Осмотрел и поставил капельницу В общем, телефон и цены тут — платный нарколог на дом https://kodirovanie.narkolog-na-dom-volgograd013.ru Не ждите пока станет хуже Перешлите тем кто в такой же ситуации

  2. I think the admin of this web site is actually working hard in favor of his web page, because here every stuff is quality based information.

  3. Ugh, moving — such a grind. I just went through it a couple months back, and honestly, I wanted to cry. First you pack a few things, then it hits you like a truck. My buddy used one crew, but I didn’t trust them blindly. Long story short, when you’re hunting for a decent moving company in nevada, compare at least three options. Look, local nevada movers know the routes — especially with summer temps. Take me, for example — asked about insurance and extra fees — and believe me, that legwork saved my butt. So here’s the link that finally gave me clarity. moving companies in nevada moving companies in nevada Honestly, that list saved me hours of digging. No guessing games — straightforward quotes. Scheduled my move that week and the process was smooth. Do your due diligence. Confirm the timeline. The right company makes moving boring. Hope this points you in the right direction!

  4. Волгоград, всем привет Муж просто потерял себя Соседи стучат в стену Таблетки не помогают Короче, врач приехал и поставил систему — вызвать нарколога на дом быстро Приехал через 40 минут В общем, жмите чтобы сохранить — нарколога домой нарколога домой Звоните прямо сейчас Перешлите тем кто в такой же ситуации

  5. Слушайте кто сталкивался Брат снова сорвался Родственники не знают что делать В больницу тащить страшно Короче, только это реально спасло — нарколог на дом с выездом Дал рекомендации и успокоил семью В общем, вся инфа по ссылке — вызвать врача нарколога на дом срочно https://kodirovanie.narkolog-na-dom-volgograd013.ru Не ждите пока станет хуже Перешлите тем кто в такой же ситуации

  6. Oh man, moving is brutal. Done that just last summer, and honestly, I nearly lost my mind. Seems easy enough, then bam — you realize you have way too much junk. A friend hired a different crew, but I dug deeper myself. So here’s the deal: when you’re on the hunt for a reliable moving company in nevada, do your research up front. The thing is, experienced crews are worth every penny — when you’re moving across state lines. Me, I did this — checked their licensing — and trust me, that legwork saved me a ton. Check this resource that put all the info in one place. nevada moving company https://movers-in-nevada-xhr.com That one spot made everything obvious. They show you the costs upfront — zero fine print. Went with their top recommendation and they killed it. Don’t rush into this. Check the credentials. Quality service is everything. Good luck with your move!

Deixe um comentário

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