After This Seminar
This seminar, so far, has explained technical terms used for real-time OSs and has given overviews of real-time OS applications. To effectively use the features of a real-time OS, though, there are still many things to learn. A summary of important things still to learn after this seminar is given below. You will need advanced education to become a real-time OS system programmer.
To effectively use a real-time OS, knowledge regarding the following is necessary:
- Embedded programming
- Control of peripheral hardware as the target of real-time OS usage
Upon this foundation, you should master knowledge specific to real-time OSs, precautions, and know-how.
(1) Knowledge Specific to a Real-Time OS
- Functions and applications of a real-time OS
- Programming of a real-time OS
- Design, debugging, and testing methods for real-time OS applications
- Documentation for real-time OS applications
Systems should be designed to avoid deadlocks (where multiple tasks wait for each other and none can work), lock-outs (where a task cannot work), or priority inversions (where the priority order is inverted from the specified one).
Care must also be taken to avoid cases such as where a task completes execution without releasing a resource and other tasks cannot use the resource. A shared routine that is called from multiple tasks should be created to be reentrant (correctly executable if the routine midway through being executed is called again to be started from its beginning by another task).
Multiple OS functions can be used for inter-task synchronization, communication, or resource waiting. You should learn how to use each function where it is appropriate.
We hope this seminar will be the first step for many people aiming to become real-time OS engineers.