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

5.007 Comentários

  1. http://juliecaillault.fr/
    Le projet Juliecaillault se presente comme une equipe de confiance dediee au le marche francais, qui propose une approche complete a ceux qui recherchent des resultats, en se distinguant par sur les resultats. Plus d’informations sur cette page.

  2. Allentup Allentup

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

  3. Brianmeand Brianmeand

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

  4. CarmeloLit CarmeloLit

    «УралДетокс Клиник» организует круглосуточный вывод из запоя на дому с акцентом на безопасность, предсказуемость и конфиденциальность. Мы работаем без выходных, используем портативное оборудование и персонализируем инфузионные протоколы под текущее состояние пациента, коморбидность и бытовые условия. Визит строится не как «сильная капельница любой ценой», а как последовательность понятных шагов с измеримыми результатами: фиксируем витальные показатели, выбираем ведущий клинический фокус, начинаем с тестового объёма, переходим к основной фазе и обязательно назначаем «окна оценки» — моменты, когда каждый участник процесса понимает, что и почему корректируем.
    Получить дополнительные сведения – https://vyvod-iz-zapoya-nizhnij-tagil0.ru/vyvod-iz-zapoya-v-nizhnem-tagile

  5. Dennisapota Dennisapota

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

Deixe um comentário

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