Linked by Thom Holwerda on Mon 6th Aug 2012 14:42 UTC
OSNews, Generic OSes As the first images of the Mars Curiosity lander start pouring in, let's talk about what operating system it runs. As I found out via Hacker News, the project runs on VxWorks, a very popular embedded operating system used for truly mission critical tasks. I'd love to know just how much work has gone into making it bug-free - this isn't the kind of environment where you want code to fail.
Thread beginning with comment 530004
To view parent comment, click here.
To read all comments associated with this story, please click here.
TomR
Member since:
2012-08-07

It used to be true several years ago in VxWorks that all global variables were global, but that was when you could only have kernel applications. Now with Real-Time Processes (RTPs) added, each address space can have its own global variables. They can be of the same name as in other RTPs (or in the kernel) if desired (good for spawning multiple copies of an RTP from one copy in flash to differently named tasks). In multi-core VxWorks SMP, the Memory Management Unit protects all of the data and code in RTPs not intentionally shared. Data can be shared in Shared Data Regions and code in Shared Libraries.

Reply Parent Score: 3

ingraham Member since:
2006-05-20

That is good. Globals are bad enough as is; making them REALLY global, with no method for finding namespace conflicts or thinking you're writing to MyVar1 when you've typo'ed it to MyVarl is a big problem (In submission box's font, you can't even tell that's a "one" and an "el"! It's a little better after it's "published" to the site.)

Reply Parent Score: 1