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

  1. http://tevimedia.de/
    Das Projekt Tevimedia positioniert sich als ein professionelles Unternehmen praesent im das Publikum in Deutschland, das bereitstellt hochwertige Dienstleistungen fuer Unternehmen und Privatpersonen, sich auszeichnend durch auf Vertrauen und Transparenz. Erfahren Sie mehr auf der offiziellen Website.

  2. Per vivere l’adrenalina del Crazy Time nei casino italiani, visita crazy time luve e scopri demo, statistiche e partite in diretta.
    La sua interfaccia accattivante e i numerosi giochi disponibili attirano ogni giorno migliaia di giocatori.

  3. Per vivere l’adrenalina del Crazy Time nei casino italiani, visita crazy time ciliegie e scopri demo, statistiche e partite in diretta.
    Il casino premia spesso i suoi iscritti con bonus e promozioni vantaggiose.

  4. Per vivere l’adrenalina del Crazy Time nei casino italiani, visita crazy time roulette e scopri demo, statistiche e partite in diretta.
    La sua interfaccia accattivante e i numerosi giochi disponibili attirano ogni giorno migliaia di giocatori.

  5. Se vuoi vivere l’emozione unica del gioco d’azzardo, non perdere l’occasione di provare crazy time casino per scoprire il miglior intrattenimento casino in Italia!
    Il Crazy Time Slot Casino Italy si e affermato come uno dei casino online maggiormente apprezzati. I giocatori amano Crazy Time Slot Casino in Italia soprattutto per la sua ricca selezione di slot e la navigazione semplice. La sicurezza e l’affidabilita sono elementi chiave che rendono questo casino una scelta ideale per chi desidera divertirsi senza preoccupazioni.
    La piattaforma offre un’esperienza utente fluida e gradevole, ideale per tutte le tipologie di giocatori. Elementi visivi dinamici e suoni di alta qualita aumentano il coinvolgimento durante il gioco. Gli utenti possono accedere facilmente dalla versione mobile senza perdere qualita ne funzionalita.

  6. Se vuoi vivere l’emozione unica del gioco d’azzardo, non perdere l’occasione di provare crazy time online per scoprire il miglior intrattenimento casino in Italia!
    In Italia, Crazy Time Slot Casino e riconosciuto come uno dei casino online piu famosi. Gli utenti italiani preferiscono Crazy Time Slot per l’ampia varieta di giochi e la facilita d’uso della piattaforma. L’affidabilita e la protezione dei dati personali fanno di questo casino una scelta sicura per i giocatori italiani.
    L’interfaccia utente e stata progettata per essere accessibile a tutti, anche ai principianti. Le grafiche coinvolgenti e i suoni esclusivi contribuiscono a creare un ambiente immersivo. Grazie alla piena compatibilita con smartphone e tablet, il divertimento e garantito in movimento.

Deixe um comentário

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