The main content of Chinese aerospace Spaceos is The imitation of VxWorks653 (653 is the product name, not the version number) of the American Wind River system company.
First explain why this system is not used with Linux:
The spacecraft's memory and CPU are very weak, weak to what extent: the heavenly number of the CPU is 10MHz, memory is 2M, this configuration run Linux more laborious, although it is not impossible, but to crop the Linux kernel is really too troublesome.
The fatal flaw of Linux is that Linux is not a hard real-time operating system. The real-time operating system (RTOS) has a series of strict definitions: including strictly according to task priority preemption execution, fast interrupt response, the time of the shutdown is very strict control, Linux is a civilian operating system, its kernel design does not take into account these points, so Linux is not suitable for the space field.
In fact, the main application of Linux in general-purpose computer and server, in industrial control, automation and a variety of operating systems: Ucos,nuclues,threadx,greenhill,vxworks and so on.
Someone mentioned Rt-linux, this simple point, is the bottom is a layer of RTOS, the above is Linux, the complexity of the Linux is too high, can not be cut too small.
Some people say that SpaceX company uses Linux, this is true, is rocket use, SpaceX Dragon spacecraft uses is VxWorks system.
In addition, many people may be sad to hear that China's national defense industry automation control part is actually VxWorks hegemony, although known as independent intellectual property rights, but in fact is not so.
Domestic systems in most cases require balanced operation of the system, for example, you can play games, surf the internet, listen to music, but real-time systems are important tasks first performed, unimportant tasks back, design philosophy is not the same.
The following discussion of the scale of the system, 8000 lines should be said to be almost right, a kernel, a scheduler, a number of tasks, interrupt processing, and may not even include dynamic memory allocation, do not think that even dynamic memory allocation is not a system? Some systems are designed so that memory fragmentation is scary for devices with only a few m of memory. Even in some systems there is no interruption, interrupt processing is implemented by polling, so that the system state can be traced in real time.
Such a small system needs to be accurate and reliable, some people say that they can write 8K lines of code in one months, you have to say, I said I can also write, the operating system is not a write application, need to consider the design of a lot of details, and once stereotypes, modification is very cumbersome, and requires a lot of testing, NASA is a proportion of the development of dozens of or even hundreds of tests, for the aerospace industry, reliability is the most important.
The last thing to say is, linux/unix/windows these are general operating systems, with a dedicated operating system is very different, design ideas are completely different,don't look at them from a universal operating system perspective.。
-----------------------
Missing a point: Why the Computer configuration of the spacecraft is so poor:
Because of space radiation, the cause of extreme temperature, the first requirement of computer system is reliability, high temperature 100 degrees, low temperature minus 100 degrees, this temperature general home computer long ago, so in order to correspond to this extreme environment, the main hardware is designed to be very durable state, This makes the computer speed is not an important indicator. In addition, the space radiation will cause a bit reversal, the higher the frequency is more easily disturbed, so the low frequency is the mainstream.
References
http://www.zhihu.com/question/20328854
What operating system does the computer on Shenzhou ship use, and why is it self-developed not Linux?