"Synchronization operations impose temporal order on a software
system by forcing some computations to wait until other
computations complete. Waiting and negotiating over which
computation should take place next can easily absorb significant
fractions of processing power and can cause significant delays.
"To compensate, engineers can specify more powerful processors
and more resources, maybe even multiple processors--but such things
are not free. Even worse, synchronization can easily produce timing
failures or deadlocks that may elude testing and this becomes more
of a hazard as more complex and sophisticated synchronization
operations are employed. It's not uncommon for control system
software to spiral in complexity as more hardware is added to
provide the compute power needed for synchronization, necessitating
more synchronization which requires more resources and also more
sophisticated special case software to compensate for hard to find
sporadic timing problems and so on.
"This paper provides a tutorial on synchronization of real-time
software, focused on applications running under the RTCore
operating system (RTLinux is RTCore plus Linux). Throughout the
design and ongoing development of RTCore, we have tried to solve
problems by simplification instead of by adding features..."
Some of the products that appear on this site are from companies from which QuinStreet receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. QuinStreet does not include all companies or all types of products available in the marketplace.