QNX and VxWorks are real-time operating systems that perform different functions. They mainly used in industrial and academic environments. The main difference is the architecture they are based on, where QNX is based on passing messages while VxWorks lends itself to share memory architecture.
QNX is a microkernel-based operating system; it is a small operating system that leverages system calls to manage the services, while VxWorks is a monolithic kernel operating system which manages all basic server and user services.
QNX was developed in the early 1980s, which was first developed by the Quantum software systems; it is a real commercial time operating system where elements on the Operating system run as tasks known as Resource Managers.
QNX is based on passing messages, while VxWorks was developed by a California based wind river systems, it is proprietary software, it is also self-contained. On QNX, all process has its own priority while on VxWorks uses only two types of schedule which are preemptive priority degree of control and round-robin scheduling.