VxWorks is a real-time operating system (RTOS) designed to run on a variety of microcontrollers (and even some for which the term might be considered a misnomer, like the PowerPC). Published by Wind River International, it is chiefly notable for its large quantity of included libraries, especially for network applications. Wind River also sells additional libraries to add in network address translation support, among other things.
VxWorks is POSIX-compliant and has the strange sense of feeling like Unix but with all commands internal to your program and as functions. Device drivers follow the Unix model, and while the VxWorks kernel itself is closed source, source to all available drivers is provided. VxWorks usually uses a gcc cross compiler to compile for its targets, but this is often hidden behind the Tornado IDE, which supports a point-and-click configuration mechanism for VxWorks that rivals similar development facilities in Microsoft's Visual Studio.
While it is a POSIX-compliant real-time operating system like QNX, there are notable differences that reduce the apparent competition between them. Unlike QNX, which has a microkernel architecture, the VxWorks kernel is fairly sizeable — about 300k if I remember correctly (the Wind River website claims it's scalable down to small numbers of kilobytes, but this must involve some severe cutting down of the OS, while a full QNX system installs off of a handful of floppies last time I used it). QNX is x86-oriented, with few forays into other processors (though this is changing), while VxWorks is available for PowerPC, ColdFire, Motorola 68k, ARM, x86, MIPS, and SuperH. QNX's network facilities
are generally more primitive than VxWorks as well, and QNX has no IDE. QNX also compiles using a propietary compiler, while VxWorks, as stated above, uses gcc.
For more information, you'll probably want to check out http://www.windriver.com/.