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

12.159 Comentários

  1. Как поясняет врач-нарколог клиники «АлкоСтоп», «грамотно составленная инфузионная терапия не только устраняет последствия запоя, но и создаёт условия для дальнейшей мотивации пациента к лечению».
    Исследовать вопрос подробнее – вызвать капельницу от запоя на дому в первоуральске

  2. Слушайте кто сталкивался Ситуация критическая Жена в истерике Нужен врач прямо сейчас Короче, врач приехал и поставил систему — наркологическая помощь на дому круглосуточно качественно Осмотрел и поставил капельницу В общем, телефон и цены тут — вызов нарколога на дом круглосуточно вызов нарколога на дом круглосуточно Не ждите пока станет хуже Перешлите тем кто в такой же ситуации

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

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

  5. RobertShusy RobertShusy

    Ситуации, требующие срочного лечения, часто связаны с длительным употреблением спиртных напитков. Однако с течением времени теряется чувство меры, для достижения состояния опьянения нужны большие дозы алкоголя — постепенно развивается алкогольная зависимость. Острая интоксикация продуктами распада этанола запускает тяжелый абстинентный синдром, который в Люберцах и соседних городах, таких как Королев, Мытищи, Химки и Балашиха, становится частой причиной обращений за экстренной наркологической помощью. Специалисты нашего центра настоятельно рекомендуют не откладывать терапию при появлении признаков белой горячки, судорогах, резком скачке артериального давления и неадекватном поведении зависимого. За долгие годы лечения алкоголизма и наркомании наши наркологи сталкивались с различными ситуациями, поэтому врач быстро подберет оптимальную для конкретного пациента схему терапии.
    Получить дополнительную информацию – вызов врача нарколога на дом

  6. Charlesthofe Charlesthofe

    Зависимость — это заболевание, которое разрушает не только тело, но и личность. Оно затрагивает мышление, поведение, разрушает отношения и лишает человека способности контролировать свою жизнь. Наркологическая клиника в Волгограде — профессиональное лечение зависимостей строит свою работу на понимании природы болезни, а не на осуждении. Именно это позволяет добиваться стойких результатов, восстанавливая пациента физически, эмоционально и социально.
    Исследовать вопрос подробнее – наркологическая клиника цены

Deixe um comentário

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