[okl4-developer] Hello and first questions

Remy Gottschalk rgottschalk at linagora.com
Wed Mar 12 22:13:09 EST 2008


Thank you for your reply,

I'm starting to get a better understanding of all this. I also finally
discovered the l4 user manual and l4 experimental reference manual. Those
two manuals also helped me a lot.
But i wonder how relevant they are and how closely you stick to the
architecture described there.
I wonder for example if you still got the chief/clan scheme. If iguana can
be seen as sigma0 and/or an OS personality.

Let me resume what i have understand so far so you can correct me, and it
could help someone else trying to get inside this interesting but pretty
tough project.
- Pistachio is the L4 micro kernel thus it provide the strick minimal
services.
- The services we usually expect an OS to provide are given by servers.
- Iguana server is the root task and a privileged server (It can call
privileged l4 syscall)
- Kenge is the full framework.

Now some questions.

Is all the scheduling done by L4 or does iguana also take part in the
process ?
Want kind of modification have been done to the linux kernel in order to
interface it with Okl4 ?

I will shortly start getting my hands dirty and thus probably come with
more practical (and intelligent ?) questions.

> Hi Remy,
>
> Welcome to the OKL4 community. Have you read the OKL4 Microkernel
> programming manual? It should give you a background into the kernel and
> its functionality. Unfortunately, there is not a lot of documentation on
> the rest of the system available at the moment, so feel free to ask
> questions as you go.
>
> The kernel, being a microkernel, does not provide the same types of
> services as a monolith kernel like Linux. It provides some basic
> services like: Address spaces, threads. scheduling and IPC. On top of
> the microkernel server applications can be written to provide more
> traditional OS services like POSIX etc. Iguana is the main resource
> control server in OKL4. It is NOT part of the microkernel, but is
> considered part of the system. There may be other servers as well such
> as timer servers, naming, filesystem etc.
>
> The structure of the system:
> pistachio directories contain OKL4 kernel code
> pistachio/arch/xxx is architecture specific kernel code
>
> iguana/server is the Iguana server
> iguana/XXX are other servers/applications
> libs/XXX are libraries. some are low level like libs/l4  and others may
> provide higher level interfaces
>
> I'll have to leave the details of the build system and how it generates
> the images to someone else to explain, but basicly, the Scons build
> system builds each individual application/server etc ELF binary. Then
> the pyelf/elfweaver tool is used to combine these images, setup system
> parameters and bootinfo and write out a final ELF image. The build
> system generates an XML file description of the final system which
> elfweaver reads. This allows elfweaver to operate standalone if required.
>
> Magpie is the IDL compiler we use. It generates interfaces from
> description files which applications can bind to. The most important use
> is to generate the Iguana interface for applications and the Iguana
> internal RPC handling code. The role of the IDL compiler is to generate
> optimized TPC bindings and make applications less dependent on the
> underlying communication channels.
> Most of the magpie generated files are in the build/ directory and it
> can take a bit of getting used to if trying to understand that code.
>
>
> Remy Gottschalk wrote:
>> Hello OKL4-dev,
>>
>> I am a french developer working for Linagora, i am working with OKL4 for
>> about 1 week now. I achieved to compile it and run a simple system under
>> qEmu. I am also done reading the available doc published on the wiki.
>> I am now trying to understand how the whole thing work. Maybe i did not
>> searched well but i have not found any documentation concerning the
>> underlying mechanisms such as Interrupt handling, scheduling, resources
>> maping...
>>
>> So first question (more will come :) ) : Did i miss some documentation's
>> locations ?
>>
>> And also dealing with the documentation, i did not found how to create
>> an
>> account for the wiki. I plan to actively contribute to your project and
>> i
>> guess the first things i will be capable of is writing some of the
>> missing
>> documentation. So if you can tell me how to help i will be glad to do
>> so.
>>
> Currently, I don't think the wiki is editable by anyone. Most community
> activity is on the mailing list at the moment. We would like to improve
> our developer site but things take time and we are pretty busy.
>> Next, In my quest of understanding the project can you clarify a little
>> the process involved in making the whole thing. For example i have
>> understood  that iguana_server_loop is the micro kernel's main loop (i
>> know i'm leet ;) ). I have also understood that the final code for the
>> function has been generated and that the process involve the use of idls
>> and magpie but i don't get the whole process. So could you give me some
>> hints concerning :
>> - The structure of the project.
>> - The process of generating the final binaries.
>>
>> Thanks in advance.
>>
>> My english is nowhere near perfect so if i need to clarify some question
>> don't hesitate.
>>
>> And i almost forget, thank you for making such an exiting project open.
>>
>>
> I hope this basic information can give you a slightly better
> understanding of the system.
>
> regards,
> Carl
>
>


-- 
Remy Gottschalk - rgottschalk at linagora.com
Ingénieur informatique embarquée
Groupe LINAGORA - http://www.linagora.com
Tél.: +33(0)1 58 18 68 28 - Fax : +33(0)1 58 18 68 29





More information about the Developer mailing list