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

11.153 Comentários

  1. لأكون صادق معاكم بقالي فترة بستخدم المنصة دي وقلت أشارك تجربتي من غير مبالغة. أكتر نقطة لفتت نظري إن التطبيق خفيف على موبايلي القديم، وتثبيت الملف كان سريع جدًا. مش هقولكم إنه مثالي بس الشغل نضيف لحد دلوقتي.

    بالنسبة للألعاب في كم كبير من الألعاب — فوق 3000 لعبة على ما أعتقد. بتلاقي أسماء معروفة زي Pragmatic Play و NetEnt و Play’n GO. أنا بميل ألعب Gates of Olympus و Sweet Bonanza، ومرة جربت Book of Dead لما يجي مود المخاطرة. طاولات الأونلاين لايف من Evolution، والكروبيه حقيقيين وحاجات مسلية زي Crazy Time لو بتحب الأجواء دي.

    لو نفسك تشوف البونصات ينصح يبص على آخر التفاصيل في ثلاث ثمانيات ستارز عشان تكون فاهم. المكافأة الأولى كان معقول وبيوصل حوالي 500% زائد لفات مجانية، بس خدوا بالكم من شرط الرهان لإنه مش قليل وده اللي غلّطني في الأول.

    طرق الدفع مريحة لينا في مصر — Visa و Mastercard متاحين، وكمان Skrill و Neteller، وللي بيتعامل بالعملات الرقمية برضه متاح. أقل إيداع رمزي، والسحب عندي جه في يوم تقريبًا رغم إن الكارت أخد وقت أطول شوية.

    عمل أكونت سهل وسريع، وخدمة العملاء عربي كمان وده مريح لما كان عندي سؤال. فيه رخصة Curacao وده بيطمّن شوية. لسه بلعب لحد دلوقتي بس بنصح: نزّلوا النسخة الرسمية بس عشان الأمان.

  2. لأكون صادق معاكم أنا بلعب هنا من كام شهر وقلت أشارك تجربتي من غير مبالغة. أول حاجة شدتني إن التطبيق خفيف على موبايلي القديم، وتثبيت الملف كان سريع جدًا. مفيش حاجة كاملة طبعًا بس الشغل نضيف لحد دلوقتي.

    بالنسبة للألعاب الاختيار واسع فعلًا — حوالي 3000 لعبة من اللي شفته. بتلاقي أسماء معروفة زي Pragmatic Play و NetEnt و Play’n GO. بحب ألعب Gates of Olympus و Sweet Bonanza، ومرة جربت Book of Dead لما يجي مود المخاطرة. الكازينو الحي من Evolution، وفيه ناس بتوزع لايف وألعاب شوز زي Crazy Time لو بتحب الأجواء دي.

    لو نفسك تشوف البونصات ينصح يبص على آخر التفاصيل في 888starz تحميل قبل ما تسجّل. عرض الترحيب محترم صراحة وبيوصل لحد 100% وكمان دورات مجانية، بس متنسوش الـ wagering لإنه محتاج صبر ودي النقطة اللي مضايقاني.

    من ناحية الفلوس مناسبة للمصريين — Visa و Mastercard شغالين، وكمان Skrill و Neteller، وللي بيتعامل بالعملات الرقمية برضه متاح. أقل إيداع رمزي، وطلبت فلوسي ووصلت بسرعة للمحافظ الإلكترونية.

    التسجيل سهل وسريع، والدعم الفني رد عليّ عربي كمان وده مريح لما اتلخبطت في التوثيق. الترخيص عندهم من كوراساو وبيدي إحساس بالأمان. لسه بلعب لحد دلوقتي بس عايز أقولكم: خدوا 888starz apk من موقعهم مباشرة عشان تلاقوا كل حاجة شغالة.

Deixe um comentário

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