The last time I touched VxWorks was also over a decade ago. The POSIX compatibility APIs were still a joke, in fact it made the old Windows NT 4.0 POSIX layer look decent by comparison. Even simple things like pthreads were missing.
That made me chuckle a little bit. All the flavors of Unix, including Linux, started out with no threads. Getting threads right was no simple thing. It took the Linux community two or three different tries to get it right ( ref: https://en.wikipedia.org/wiki/Native_PO ... ad_Library
). There's all kinds of design choices and pitfalls. If you think getting mutithreaded code to work is difficult as an end user, just think of the people who got to graft threads on to operating systems that were written without any notion of multithread/multicore support and with very little prior art to fall back on.
The POSIX spec itself is something of a sham. It was written in large part to allow vendors of non-Unix proprietary operating systems (think DEC VMS, IBM MVS, etc) to say they support this new Unix thing, yet it never let one just port Unix programs since it missed so many APIs that Unix programs rely on, and the semantics were different too. The marketing side of those large firms pushed it heavily to the point it was made part of many government RFPs. I feel sorry for the programmers who were told they needed to make their Unix software run on VMS, MVS or VxWorks using POSIX.
Programming in QNX is MUCH nicer, in fact modern QNX comes with the Qt toolkit which IMO is the best C++ toolkit out there. QNX is very popular in the automotive industry, I have no idea about its suitability and use in the aviation industry.
Very interesting. QNX has a lot of industry backing.
Thorkel, thanks for the VxWorks overview. What’s your guess on an OS for the computers aboard the MAX?
All of the relevant OSes that I know of that existed at that time such as pSOS or DNIX ran on the Motorola 68000 (or its derivates). I don't know of any RTOS that existed in the early to mid 80s and ran on the 80286, so I'm going to assume it's something in-house/custom made.
That's my guess too.
If you go to the 'Search this topic...' box at the top of every page of this thread and search for SDP you see our discussion of a month ago.
My guess is the computer itself is 70s tech since it uses 29xx bit slice processors to construct a 16 bit microprocessor, rather than a single die 32 bit microprocessor like 68000 of the 80s.
And in that time frame, while OSes were not unheard of (Unix itself first ran on PDP-11s which were similar tech) they weren't the norm for such small systems.
Yet real time executives were often used in flight control environments, the Apollo Guidance Computer of the 60s is a notable example.
As I wrote earlier, high level languages also weren't the norm in that era, especially for the OS, due to lack of resources.
But I've found no definitive reference to tell us more, other than the ones you find by searching this thread.