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

  1. Android kullanıcısı olarak iyi bir uygulama çok önemli. Virüs bulaşır mı diye çok tereddüt ettim açıkçası. Adımları doğru sırayla uyguladıktan sonra erişim sorunsuz açıldı. En sonunda sağlam bir kaynağa ulaştım ve size de tüm detayları aktarmak istedim, güncel bilgilere buradan bakabilirsiniz: 1xbet android 1xbet android. Valla bak net söyleyeyim — mobil versiyonu masaüstünü aratmıyor kesinlikle.

    kurulumu da çok hızlıydı yani rahat olun. Birçok apk denedim ama en iyisi bu çıktı — en güvenilir uygulama bu oldu artık. Herkese hayırlı olsun…

  2. Mobile özel bir platform arıyordum uzun zamandır. Sürekli farklı adresler veriliyordu kime inanacağımı şaşırdım. En sonunda doğru kaynağa ulaştım ve size de buradan bahsetmek istediğim nokta şurası: 1xbet android apk 1xbet android apk. Şimdi size kısaca özet geçeyim — mobil sürümü gerçekten masaüstünü aratmıyor.

    kurulumu da son derece basitti yani rahat olun. Birçok apk denedim ama en sorunsuzu bu çıktı — kesinlikle pişman olmazsınız deneyin derim. Umarım siz de memnun kalırsınız…

  3. Ребята, кто уже делал ремонт? Затеял тут сложный ремонт в хрущёвке, а тут оказывается столько бумажек надо собрать, Потратил уйму свободного времени на чтение строительных форумов. Короче говоря, единственное, что реально работает в наших реалиях — сразу заказать техническое заключение у лицензированной компании, чтобы спать спокойно и не бояться проверок от управляющей.

    Сами полностью проект подготовят, Жмите на источник, чтобы случайно не потерять контакты, заказать проект перепланировки квартиры https://proekt-pereplanirovki-kvartiry30.ru. Без готового проекта даже не начинайте ломать стены, Обязательно перешлите этот пост тому, кто тоже сейчас затеял ремонт!

  4. Ребята, кто уже делал ремонт? Хочу объединить маленькую кухню с гостиной, без официального проекта даже думать нечего начинать, Потратил уйму свободного времени на чтение строительных форумов. В общем, нашел нормальных адекватных ребят, которые делают всё под ключ — сразу заказать техническое заключение у лицензированной компании, чтобы спать спокойно и не бояться проверок от управляющей.

    И согласуют все этапы вообще без проблем. Обязательно сохраняйте себе эту полезную информацию: заказать проект перепланировки квартиры https://proekt-pereplanirovki-kvartiry30.ru. Без готового проекта даже не начинайте ломать стены, Обязательно перешлите этот пост тому, кто тоже сейчас затеял ремонт!

Deixe um comentário

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