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

15.904 Comentários

  1. rolletto_dhsa rolletto_dhsa

    Been playing at Rolletto for like a couple of months and thought I’d throw out how it’s been going. Found it through a mate since I was tired of my usual spots. Registration took about two minutes, nothing weird asked, then I put in twenty quid to test it — twenty’s the lowest you can go which is fair enough.

    First deposit bonus caught my eye — they matched a hundred percent up to €500 with 200 spins thrown in. Playthrough is at 35x which isn’t the worst I’ve seen. Spins landed on Sweet Bonanza I think. Tbh, spins were a bit dead but the matched funds gave me a solid session.

    The lobby on Rolletto is genuinely bigger than I expected. There’s stuff from Pragmatic Play, NetEnt, Evolution for live. I mostly stick to Sweet Bonanza plus a few Megaways games from Bonanza. Must be a few thousand titles in total. The live section is worth mentioning — blackjack and roulette, and I got sucked into Crazy Time which is way too addictive. Real croupiers streaming, stream is really clean.

    Cashing out is the bit I was most worried about but honestly no complaints. Tried my Visa and it took roughly a day. They also do Bitcoin and a bunch of e-wallets if that’s your thing. You can check out what they’ve got on offer on Rolletto if you’re curious. My one annoyance — KYC took like four days to clear which dragged on a bit.

    Mobile-wise, Rolletto loads nicely in the browser — they don’t have an app but the mobile site is smooth. Everything loads responsive and had a few goes on the bus and it ran smooth. Support is always on via live chat and they replied in a couple of minutes when I had a bonus question. The site is operating under a Curacao licence — no UK licence so some people might care about that.

    Honestly, it’s not flawless — that slow verification and the site design is a bit cleaner. But game variety is top, withdrawals have landed every time, and the matched deposit gave me plenty of play time. Might not suit everyone but I’m keeping Rolletto going forward.

Deixe um comentário

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