There are two trends in the computer industry:
1) there are a variety of CPU architectures exist in any one area. For
example, in the server area, there are power, sparc, mips, x86, and
even arm, in the mobile internet device area, there are arm, x86, and
even mips.
2) new programming language is emerging, and some became popular. For
example, scala, google go, as well as a variety of domain-specific
language (DSL).

So I think that the next-generation operating system architecture will
be a micro-kernel that contains a language virtual machine, plus a
variety of system components which was writen by different languages.
Components outside the kernel in form of bytecode and executed by the
in-kernel JIT VM. In this type of operating system, developers can
select the most suitable language to develop the various components.
Developer can even develop a new general-purpose programming language
or domain-specific language if he can't find a suitable language. For
example, a device driver language for writing device driver.

In this architecture, compiler technology has become the
infrastructure. This is what gcc good at. Therefore, we should
consider make gcc5 become the base of the real Gnu-isNot-Unix
operating system. First we should define the VM and bytecode and then
write the the JIT VM, followed by make the core of gcc as libraries,
and provides them to compiler. IMHO, the micro-kernel is not
necessarily l4, the operating system interface may not be posix,
driver can be writen by using a DSL.

This operating system sounds like Inferno, or Jxos/JNode, or
Singularity/Midori. Indeed, I think that this operating system can
adapt to future of the computer industry. For those who consider too
much on performance, I hope you will think about why is human rather
than tiger or lion rule the earth.

In addition there are two trends: multicore cpu has become popular,
and cloud computing has become popular. The MIT's fos, and the ETH
Zurich's Barrelfish are two research OS which was developed in
response to this change, and can be used for refering. I really want
GNU to be a technically innovative operating system rather than
another UNIX.

Reply via email to