Conclusions

I have tried to take some of the mystery out of the magic. I have led you on an in depth exploration of one of the most fundamental aspects of multiprocessing and multitasking, the context switching. In our journey, we have explored multiple contexts or threads of execution and programming constructs for encapsulating the switching between these contexts. In implementing the switch, we have touched upon even the even more fundamental notion of atomicity and found methods of synchronization, the signal and the semaphore, we could use to achieve it. And we have returned from our journey with more than just memories but something useful: a thread cluster which we can incorporate in our own ``C'' programs. So perhaps the next video game you play will not be such a mystery after all... You will have made up the magic!

Mike Parker