What really happened to the software on the Mars Pathfinder spacecraft?
It’s the 4th of July. Exactly sixteen years ago today the Mars Pathfinder landed to a media fanfare and began to transmit data back to Earth. Days later and the flow of information and images was interrupted by a series of total systems resets. How this problem was a) diagnosed and b) resolved still makes for a fascinating tale for software engineers.
What are “co-operative” and “pre-emptive” scheduling algorithms?
Because of their complexity, most modern systems are reliant on scheduling algorithms for efficient multitasking and multiplexing. Invariably these algorithms implement compromises based on specific objectives such as meeting deadlines. This blog post looks at two tasking models which implement different compromises depending on the objectives set by the system user: these models are called “co-operative” and “pre-emptive”.
How do you put the "real-time" into a real-time operating system?
There are lots of products on the market claiming to be real-time operating systems. Wikipedia alone lists 149. But what does it mean to be a real-time operating system?