VxWorks has historically focused on supporting a lightweight, kernel-based threading model. It distinguished itself as an operating system that is highly scalable and robust, yet lightweight and fast. The focus was on real-time support (for example, keeping the maximum time to respond to an interrupt to an absolute minimum), low task-switching costs, and easy access to hardware. Essentially, VxWorks tried to stay out of the developerís way, and placed few restrictions on what he or she could do.
Times have changed. The preponderance of CPUs with a memory management unit (MMU) means that many developers in the device software space wish to take advantage of these MMUs to provide partitioning of their systems and protect themselves from crashing a system if they make a programming error.
The most common and familiar model for this is a process model, where fully linked applications run in a distinct section of memory and are largely walled off from other applications and services in the system.
VxWorks aims to remain suitable for various types of developers: those who want the lowest overheads and maximum access to the system; those who need fully protected processes; those who want to continue using CPUs without an MMU (or with the MMU turned off), and wish to benefi t from the process independence model; and those who required hard real-time characteristics. It is also suitable for developers who need to combine all these needs at the same time.
The VxWorks real-time process model seeks to extend VxWorks in a way that supports all these different types of developers. In addition, it brings the benefi ts of increased usability and portability of applications, a faster development cycle, and greater standards compliance, and retains a programming model that is familiar to existing VxWorks users.
View Entire Paper | Previous Page | White Papers Search
If you found this page useful, bookmark and share it on: