Skip to content

Ex 1 – Dedicated Operating Systems – INE5424 – UFSC

Exercise 1
Idle-waiting Thread Joining
– It have as an objective to change the method “join” of a Thread. It was implemented like this:

[code lang=”c”] while(_state != FINISHING)
yield();
[/code]

This method consist in verify the state of the Thread that is joined, if the state is different from FINISHING, it calls yield(). This solution cause an overhead, because it do this verification all the time that the process is Phased. We should implement a new function, that don`t cause this overhead.

Modified files:
thread.cc
Thread.h

EPOS with our solution.
Steps, and explanation about other solutions (PORTUGUESE)

3,910 Comments

  1. Felt mildly happier after reading, which sounds silly but is true, and a look at coltable extended that small mood lift, content that improves rather than degrades my mental state is content I want more of and the cumulative effect of reading sites that lift versus sites that drag is real over time.

  2. Reading this in pieces over a coffee break and finding it consistently rewarding, and a stop at refinedglobalstore extended that into related material I will return to later, the kind of site that fits naturally into small reading windows without requiring a long uninterrupted block is genuinely useful for how I actually browse.

  3. Really appreciate the confidence to make a clear point rather than hedging everything, and a quick visit to edgedials maintained the same direct stance, writing that takes positions rather than equivocating is more useful even when the positions are debatable because at least the reader has something to react to clearly.

  4. Appreciated how the post felt complete without overstaying its welcome, and a stop at wildshoresupply confirmed that economical approach runs across the site, knowing when to stop is a skill many writers never develop but here the discipline is obvious and welcome from the perspective of a busy reader trying to learn things efficiently.

  5. Reading this felt productive in a way most internet reading does not, and a look at globalinspiredmarket continued that productive feeling, sometimes the open web feels like a waste of time but sites like this remind me why I still bother to look around rather than retreating to old reliable sources for everything I need.

  6. Reading this site over the past week has changed how I evaluate content in this space, and a look at refinedglobalstore extended that recalibration, the standards I bring to reading on the topic have shifted upward as a direct result of regular exposure to this kind of work and that shift will outlast any single reading session.

  7. Worth recognising that the post handled a familiar topic without reaching for any of the obvious hot takes, and a stop at jamesonforct continued that fresh treatment, sites that find new angles on subjects others have exhausted are sites worth following carefully and this one has clearly developed that exploratory instinct through patient practice.

  8. Picked a single sentence from this post to remember, and a look at coltable gave me another to keep, content that produces memorable lines is doing more than just transferring information and the small selection of sentences I keep from each reading session is one of the actual returns I get from reading carefully.

  9. Quietly enthusiastic about this site after the past few hours of reading, and a stop at edgedials extended that enthusiasm, the calibration of enthusiasm to evidence is something I try to maintain and this site has earned a calibrated quiet enthusiasm rather than the loud excitement that usually fades within a day or two of finding something.

  10. Appreciated the way each section connected smoothly to the next without abrupt jumps, and a stop at globalpremiumcollective kept that flow going nicely, transitions are something most blog writers ignore but the difference is huge for the reader who is trying to follow a sustained line of thought today across many different topics.

Leave a Reply

Your email address will not be published. Required fields are marked *