On Mon Nov 26, 2012 at 11:26:34 +0800, OSDepend wrote:
L4Re consists of libraries and applications. In a normal setup you are running native L4Re applications, like Moe, Ned or Mag. These applications mostly implement services. L4Linux just uses these services. So it is the other way around. Most native L4Re applications do not depend on each other. But L4Linux depends on a bunch of them. You can find more information on the general system structure at http://os.inf.tu-dresden.de/L4Re/doc/. Note that L4Linux is nothing special with regards to the overall system structure. It is just another application. Hope that helps.
Thanks for your kindly help, and i have had a quick look about the L4Re ducument! In your explanation, L4Re cosists of a bunch of services. So it just provides basic services for L4Linux, but not a enviroment for normal application! I describe my thought about L4 related stuff as below. For normal user, they can only use L4Linux or Karma VM, which provides a Linux enviroment. They can not use the L4Re as a enviroment because no Linux env? But for L4 developer, how can they build application derectly on microkernel? Just depend on the systemcall provided by microkernel and/or have some dependence on those existing service from L4Re?
To add to what Björn already mentioned: You are free to use whatever you like but for that you need to have an understanding on the options. L4Re is an offer that significantly reduces complexity for developing native L4 applications. For example, look at l4/pkg/hello/server/src/main.c, the "Hello World" greeting. This is a native L4 application, you do not need Linux to run it. However, L4Re, among many more things, makes it possible that this program is so common to you and you immediately understand what it is doing. But if you like you can also work directly on the kernel's interfaces only. However, then you are likely starting to develop an operating system layer before starting your application.
Adam