From 1991, Barbara Liskov looked at the implications for distributed computing when synchronized clocks are available.
Software Design and time synchronization
I have a blog post up at fsmlabs.com about our TimeKeeper software for time synchronization. TimeKeeper is currently aimed at financial trading markets, but we also hope to market it to electric power distribution and transmission engineers who have a
RTOS design and embedded system development
Real-time operating systems are either a solved problem or a backwater of engineering design. Threads, semaphores, mutexes, some basic I/O, priority scheduling all of this has been more or less standardized in the POSIX 1003.13 smaller profiles (51,52) for many
Updated: meaning of concurrent programs
Updated rough draft available with thrilling descriptions of atomic compare and swap and some comments on “formal methods”. Bonus photo
The lost wakeup problem
One basic problem in operating system design is how to make efficient blocking requests. Thread A wants something from Thread B (or ISR B) and (1) requests and (2) blocks. There are thousands of ways in which the interval between
Synchronization blues
Synchronization is hard in real-time applications, but not as hard as people imagine. If you follow a few simple rules you can make it manageable. Never force priority and mutual exclusion to fight each other. You can’t mean “Task A