Linked by Julien Quintard on Tue 27th Jun 2006 17:33 UTC
OSNews, Generic OSes This paper describes the design of the kaneton microkernel. This system was designed to be ported on many architectures without being intrusive. Moreover, the main goal of this system was to be understandable by everyone interested in operating systems internals. To do so, the kaneton design and implementation are very elegant and easy to understand. Finally, the kaneton microkernel includes modern distributed concepts leading to a powerful, secure, flexible and reliable microkernel based OS. Note: This is the first entry to our Alternative OS Contest which runs through 14th July!
Order by: Score:
This is more like it.
by Tuishimi on Tue 27th Jun 2006 19:45 UTC
Tuishimi
Member since:
2005-07-06

I could not stop reading this article. The only part I had a little trouble understanding was section 5, portability. Other than that it was a great read.

While some of the concepts seemed new, most of them, I believe, have been implemented in one way or another in different kernels. I guess that the way in which they were implemented makes them unique.

It all sounds like a fun project!

Reply Score: 3

RE: This is more like it.
by skx2 on Tue 27th Jun 2006 19:58 UTC in reply to "This is more like it."
skx2 Member since:
2005-07-06

Definitely agreed!

Originally I wasn't too sure what to expect from the contents but this was an excellent article, and I'm very much looking forward to seeing more in a similar vain.

A lot more interesting than a lot of things posted here.

Reply Score: 2

RE: This is more like it.
by JulienQuintard on Tue 27th Jun 2006 20:19 UTC in reply to "This is more like it."
JulienQuintard Member since:
2006-06-27

The portability system is indeed pretty hard to understand without the source code.

It is the same problem for the set manager concept.

Reply Score: 1

RE[2]: This is more like it.
by Tuishimi on Tue 27th Jun 2006 21:00 UTC in reply to "RE: This is more like it."
Tuishimi Member since:
2005-07-06

I think I got the basic concept of the set manager to keep references to the basic components/facets of objects?

Reply Score: 1

Hate to shoot someone down...
by wacco on Tue 27th Jun 2006 20:21 UTC
wacco
Member since:
2006-06-27

...this really feels like somebody's pet project which isn't getting anywhere. No source, no implementation details, one author. There are more names listed, but the website, this article, and the only documentation on the website (the reference doc under papers) are all created by the same person.
However, just one author doesn't have to be a bad thing. The bad thing is that there's no source! What use is an 'educational' OS if there's nothing to be found about it and nobody can actually see it?
All in all, it really sounds like the author is just grasping the basics about microkernels, and likes writing about it more than actually trying to implement anything. I wish him best of luck, but it gets a general 'meh..' until something's actually done.

Of course, if there *is* an implementation somewhere, I didn't say anything. Besides the fact that I'd like to see it and give it a go. ;)

Reply Score: 3

RE: Hate to shoot someone down...
by Adam S on Tue 27th Jun 2006 20:27 UTC in reply to "Hate to shoot someone down..."
Adam S Member since:
2005-04-01

This entry is not elligible to win unless they produce either the source OR an available binary (it can even be commercial). It simply has to be available in some way, shape, or form to qualify.

Reply Score: 1

JulienQuintard Member since:
2006-06-27

I can add something to the kaneton website like "source code for sale: 3 billion dollars"...

More seriously we are not doing this contest to win. just to share our ideas.

Reply Score: 3

wacco Member since:
2006-06-27

Sharing ideas is always good! In that case only kudos to writing a 7 page article without intention of actually participating in the actual 'contest'. On those terms, I feel obliged to give some more constructive feedback to it.

For starters, the following two quotes are very contradictive;
"leading to a powerful *snip* microkernel based OS"
"the microkernel translates every event into a message"
Ouch! Microkernels' *main* (and when going exo~ it's basically it's *only*) task is doing the IPC. And you guys give that even more overhead? It really gets me thinking about the performance of this OS. How did you tackle this?

Second; Your discussion about the set-manager rings a bell. How much is your OS based on L4? If I recall correctly, they have a similar concept.

Third; A basic idea of a microkernel is 'if something goes down, reboot just that'. How do you deal with such situations? This is even more relevant (and interesting) when you take the network-distributed part in mind. Some info about that would be really nice. ;)

Lastly; the main objective was to build an educational OS. But the article discusses things like network-distributed file-descriptor encryption. Besides the obvious 'what algorithm and how easy will it be to crack', isn't that a little far-fetched for an educational OS?

Reply Score: 1

JulienQuintard Member since:
2006-06-27

Ok first thanks for your constructive comments.

By powerful we do not mean performant but flexible, reliable, scalable etc.. As I remember, I wrote in the article that the performances was not a goal of the kaneton microkernel.

Nevertheless, the kaneton portability system is powerful enough to make optimizations based on the microprocessor architecture facilities. But, needless to say, the performance loss is the price to pay when introducing concepts and genericity.

Our choice was to build a microkernel with a very clear and powerful design not to be as fast as Linux.

Our microkernel is not based on L4 since I do not know anything about L4 microkernel internals. It simple to understand why: L4 goal was to prove microkernels could be fast enough while kaneton microkernel goal is certainly not the speed. Two very different approaches.

It is possible L4 has a similar concept but I do not know I am sorry.

The paper's subject was the microkernel and not the distributed operating system. For this reason, the distributed aspects were not discussed in this article. Another article will be dedicated to this but this is a bit too early since the microkernel development is not finished yet.

Finally, the paper introduced some distributed problems but this was just to permit the reader to understand the problems. If I had just talked about capabilities, the reader would had never understood their usefulness.

Reply Score: 1

JulienQuintard Member since:
2006-06-27

First, we are four developers currently working on the reference implementation. Second, the kaneton reference implementation documentation contains three authors.

For the source code, the website explains why we cannot distribute it. Moreover, this year, the source code was distributed to the students.

A distribution will be released soon but will not contain the whole core source code for the same reasons...

For the rest of your comments...

Reply Score: 1

sbergman27 Member since:
2005-07-24

I don't see anything on the web site about why the code can't be shared. Only a comment about not *wanting* to share it:

"""kaneton is one of the most important assignments in the French engineer school's curriculum where kaneton is used as a project for the advanced operating systems courses.

For this reason, we are not inclined to share the code."""

Reply Score: 1

JulienQuintard Member since:
2006-06-27

Ok then I will explain here.

The project consists in the development of the microkernel's parts.

If we share the source code, any student could look at the reference implementation to cheat.

So our choice was not to share the source code.

We only provide the students a development environment and some pieces of code, but not the parts corresponding to their assignments.

This base, containing the development environment and fundamental pieces of code, will be available on the website soon (meaning in few months).

Reply Score: 4

On objectivity
by shulud on Wed 28th Jun 2006 07:44 UTC
shulud
Member since:
2006-05-11

> To do so, the kaneton design and implementation are very elegant and easy to understand. Finally, the kaneton microkernel includes modern distributed concepts leading to a powerful, secure, flexible and reliable microkernel based OS.

OSNews should be an objective and neutral news source, but this one is heavily biased. And who ever wanted to create an OS that is inelegant or hard?

Reply Score: 1

RE: On objectivity
by JulienQuintard on Wed 28th Jun 2006 08:12 UTC in reply to "On objectivity"
JulienQuintard Member since:
2006-06-27

Linux! and many others...

No student wants to look at the Linux kernel source because too messy.

Moreover,there are different levels of clarity: the kaneton source code really looks like pseudo code while written in C.

Reply Score: 1

RE[2]: On objectivity
by corentin on Wed 28th Jun 2006 08:50 UTC in reply to "RE: On objectivity"
corentin Member since:
2005-08-08

> No student wants to look at the Linux kernel source because too messy.

Engineering is about real systems.

Reply Score: 1

RE[3]: On objectivity
by JulienQuintard on Wed 28th Jun 2006 09:05 UTC in reply to "RE[2]: On objectivity"
JulienQuintard Member since:
2006-06-27

kaneton is not only intended to engineer students but students in general including for example high school students interested in operating systems.

When the microkernel development will be finished, the kaneton project will be available on the website with papers, documentation and assignments so every person intersted will be able to build its own microkernel based on the kaneton microkernel design.

The kaneton stuff will be available on the website at the end of the year. The developers first need to finish the microkernel implementation, to write tests and documentation etc..

Reply Score: 1

specialised capabilites?
by renox on Wed 28th Jun 2006 20:53 UTC
renox
Member since:
2005-07-06

I'm not sure I understand the need for specialised capabitilies..
It make things more complex, and according to the article there is even a performance loss.
I don't understand the 'scalability advantage', if you use 128-bit capabilities, it should be more than enough, no?
For an OS which want to be as simple as possible, it's a bit strange.

Reply Score: 1

RE: specialised capabilites?
by JulienQuintard on Thu 29th Jun 2006 07:07 UTC in reply to "specialised capabilites?"
JulienQuintard Member since:
2006-06-27

I agree on the fact that it seems strange to use specialized capabilities in a microkernel that claims to be simple but we found the use of generic capabilities too restrictive.

The use of specialized capabilities permit the microkernel's servers to build their own capability format.

Indeed, we can imagine a server which does not manage kind of objects but rather a unique entity like for example a physical clock (very precise clock).

In this case, the server dedicated to this task certainly does not want to use a capability with an object field and a permissions fields because needless.

Moreover, the use of generic capabilities with no server interaction to build restricted capabilities implies bigger capabilities. For example, Amoeba uses generic capabilities but the user programs need to call the servers to build restricted capabilities.

Maybe this point is not very clear in the paper, I am sorry for this but I could not go further because the capability concept is a distributed concept and will be explained in a future paper.

Reply Score: 1

Writing Style
by jason_ff on Thu 29th Jun 2006 15:50 UTC
jason_ff
Member since:
2006-06-29

While I enjoyed the content of the article, I have to say it was poorly written. I'm assuming english is not your first language? That's okay.

It seems to me like you used the terms "moreover" "nevertheless" way too liberally.

Not a big deal, but next time you should try to mix it up a little bit. Aside from that, it was a great article

Reply Score: 1

RE: Writing Style
by JulienQuintard on Fri 30th Jun 2006 21:52 UTC in reply to "Writing Style"
JulienQuintard Member since:
2006-06-27

Indeed, English is not my first language.

As one of my research teacher said about the goals of research papers: "Always try to make things clear and simple to be understood by everyone, not to win the Pulitzer!"

Thank you for your comments.

Reply Score: 1