Talk:L4 microkernel family

Open Source
Just added preliminaries about this announcement, which may turn out to be very significant if it increases the usage, as I expect it to. I have not managed to get the link to the 2-clause BSD license quite right, and haven't time (or maybe patience!) to fix it, so I would be most grateful if someone else would tidy it up, and of course feel free to add to what I have briefly written, or even start a new section. Tiger99 (talk) 10:24, 29 July 2014 (UTC)

Major overhaul
Just started doing some major modifications in order to improve the article. I've massaged most of the the text quite a bit, added a lot of text, and also split things into clearly defined sections. There are a number of other changes that would serve this article good: Still, I believe this is a step in the right direction. --- eSk 18:05, 30 May 2006 (UTC)
 * A section (after the background section) describing the concepts behind L4. Thread and IPC, and address spaces and mapping.
 * A separate section related to performance.
 * A section on the use of L4 in industry (and research).
 * Perhaps a more coherent description of the various kernel implementations and APIs would be good. This might just cause even more confusion, though.  I don't know.

Minor correction
A second look 3rd paragraph: "The overall time for a syscall was less than twice that of Unix, as opposed to five times under Mach." should be: "The overall time for a syscall was less than half that of Unix, as opposed to five times under Mach."

When was its development's beginning?
In the first paragrpah you write "Since then" but I don't see any mention of a date (or even just a year) anywere in the page. When was its development's beginning? Thanks. Penedo 07:37, 12 May 2005 (UTC)

Wrong number of lines in the linux kernel
You state that the linux kernel is 33 million lines big.

According to the data in http://www.dwheeler.com/essays/linux-kernel-cost.html it's more around 4,287,449.

This is the reported count on 2.6, presumebly the current kernel as of October 2004 (i.e. 2.6.8.1-2.6.9, according to http://edge-op.org/files/kernel-timeline)

I assume you are talking about the kernel alone, as this is the subject of this article and you reffer specifically to the kernel. If you were reffering to the entire distirubtion, then the same paper at the first link quotes 17 million lines for the entire RH 6.2 distribution (circa 2000). Maybe later versions indeed reach the 33 million figure since the linux desktop has balooned since 2000, but this shouldn't be the number used when reffering to the kernel alone, IMHO.

Thanks for writing such an interesting entry.

Penedo 08:10, 12 May 2005 (UTC)

after a make clean:

/usr/src/linux-2.6.12.3$ find. -type f -exec cat {} \; | wc -l 6792964

&mdash;Trevor Caira 11:53, 20 July 2005 (UTC)


 * Please note that dwheeler's study counted SLOC rather than lines-in-a-file like the cat|wc -l solution does. Of course, microkernel proponents will use the latter rather than the former because, hell, it looks better if you count all the comments as evidence of overbearing complexity too! 62.236.124.118 16:32, 17 May 2006 (UTC)

Microkernels text not suitable/correct here
I typed "L4" here in Wikipedia search, not "microkernel". Please make the introduction text smaller and move the big text to a suitable article. It should also be noted that the introductions seems to be more a "microkernel fan's" opinion than a scientific paper. Ex:
 * With IPC the operating system can once again be built up of a number of small programs.. Actually, the sentence With pipes the operating system can once again... is also correct. This has nothing to do with microkernels X monolithic kernels, as it was being stated.
 * That system would be considerably easier to maintain; instead of a single 33 million-line kernel. A kernel developed from a microkernel would also have 33 million-line (30 million, 25 million, whatever) kernel. The problem has nothing to do with number of lines. The problem is about code interdependence, isolation, organization, code duplication, etc.

As a whole, the text should be made to conform to higher level standars. --200.208.41.22 02:36, 9 Jun 2005 (UTC)
 * YES WE WOULDNT WANT TO NOT BE OF HIGH LEVEL STANDARS!!!!111one


 * I was going to compliment whoever wrote the whole "First generation microkernels" section. (I don't agree with the "microkernel fan" comment above at all.)  It is however very long.  I'd suggest moving "First generation microkernels" and even perhaps parts of the next section ("A second look") to the Microkernel article.  What is already in the microkernel article at the moment seems to only be a duplication of what little is already in the Kernel article on the subject. (And I'd even say it's the "microkernel hater's view".) -- magetoo 00:37, 21 November 2005 (UTC)

Fiasco still active
My collegues and I at Fiasco development group are in fact not dormant. The information about Fiasco also appears to be rather aged.

Fiasco and preemption points
I am not an expert in Fiasco but I've been looking at it for a case study. The article says that Fiasco is fully preemptible and that it does not use preemption points. I guess this was true in the original implementation by Michael Hohmuth (see Pragmatic nonblocking synchronization for real-time systems), however, after many changes made to the IPC subsystem by René Reusner (see Implementierung eines Echtzeit-IPC-Pfades mit Unterbre-chungspunkten für L4/Fiasco), Fiasco now has explicit preemption points. —Preceding unsigned comment added by Tamalet (talk • contribs) 15:35, 4 March 2009 (UTC)

NPOV intro
The intro says:

well known in the computer industry for their excellent performance and small footprint.

I think this is not NPOV the way it's written. Please link to a reference with performance and footprint comparisons, rephrase, move the text down to the main article or remove it. If it stays this way for a long time, it's better to insert a POV check notice in the article. --Hdante 23:34, 12 November 2005 (UTC)
 * Did you like, check the god damn See Also links? Because it is pretty fucking obvious once you read some of that stuff. --Kintaro 17:41, 30 December 2005 (UTC)
 * "See also" is not the same thing as "References". If you need one of the documents in that section (presumably the one that is now called "External links") to support a point made in the article, it should be moved to the "References" section at the very least.  Probably also given a footnote from the sentence in question.  I haven't read the references or the external links so don't know if this is still necessary. JulesH 09:03, 16 October 2006 (UTC)

HURD
According to HURD: "In 2006, Marcus Brinkmann and associates have met with Jonathan Shapiro (one of the primary achitects of the Coyotos Operating System) to aid in and discuss the use of the Coyotos kernel for GNU/Hurd as there is no focus on L4 anymore." 84.48.58.93 11:27, 10 May 2006 (UTC)


 * Word is that the L4 Hurd has been stopped for a while, and that there is a desire to see a fully native L4 OS implementation.--John Bessa (talk) 19:41, 10 August 2010 (UTC)

Monokernal?
Does this mean Monolithic kernel? The word isn't defined or linked, can someone who knows do this please. Gene Thomas 05:00, 28 May 2006 (UTC)

Yeah. Fixed this now. - eSk 17:40, 30 May 2006 (UTC)

Performance?
Do we have performance stats for more recent hardware than a 486? Performance of IPC calls that need to cross address spaces depend greatly on size of TLB, memory architecture, etc. and may be substantially different in different processor designs. Also comparisons to both (a) IPC calls on a monolithic kernel (e.g. Linux) and (b) system calls on a monolithic kernel (as IPC is used to replace syscalls on a microkernel) would be helpful. JulesH 08:59, 16 October 2006 (UTC)

I concur. Another thing that can have a large impact on this is MMUs. Modern MMUs can (greatly) reduce context switch time and thus would greatly improve L4 performance. More recent tests would be useful here for up to date accuracy reasons. 24.98.124.237 12:25, 9 December 2006 (UTC)Haplo

L4.sec
L4.sec isn't mentioned in this article at all. L4.sec is a new movement towards adding security to L4 (for various reasons), started as a response to growing security concerns and movements in the capability-based direction (which L4 is not). If anyone gets the time, please include a new (properly cited) section on this. --24.98.124.237 12:29, 9 December 2006 (UTC)Haplo

Hi
Hi guys,

I am sorry I changed so much; but I think this was neccessary.

I have 2 questions:

1. What do you think about some tables / boxes?
 * Overview of the diffrent API versions
 * Overview of the existing Implementations and its key features

2. I am not sure, but isn't that article still too long and too detailed?

michi.bo a.k.a 141.76.49.44

OKL4 licensing change
According to http://lists.okl4.org/pipermail/developer/2007-October/000370.html, 1.5.2 and later are licensed under something like the Sleepycat License, which is not a BSD license. I'm not bold enough to stick this in the text without reading the actual license. Yuubi 17:23, 15 October 2007 (UTC)

seL4 or L4.verified
link called seL4 points to L4.verified, not to seL4 subpage of the same page, which also exists. Is this a mistake or is it intentional, since, as I gather L4.verified is a project to verify properties of the seL4 microkernel? I redirected the link since I found this confusing, but not sure if I did the right thing--78.0.209.237 (talk) 18:30, 30 March 2010 (UTC)


 * Well spotted. Looks to me like you fixed it exactly right: L4.verified is a related but separate NICTA project. Thanks, CWC 12:05, 31 March 2010 (UTC)

Current research and development
Since this section represents the on-going manifestation of L4, then this material should be expanded further, or given its own page. If you think about it, much of the other material is historical making it less relevant in terms of interest to, well, Userland.

I am undertaking an understanding of the userland interface, L4Re. The architecture is available here on the OS.INF site maintained by the group at TU Dresden through doxygen. I would personally like to implement it on a standard PC, and document my learning as a how-to on sister-site Wikiversity. I can add the standard information here as I develop the how-to information there. I want to create entry points for middle and high school students who, from frustration, spend their time playing video games because they cannot work with OSs, which is many of them.

I would make sense if someone interested in the hypervisor implementations could parallel my Userland documentation to balance the writing. I am brilliant at finding and understanding supporting material, but I am not strong at citing in the WP standard format, and need help there.--John Bessa (talk) 19:37, 10 August 2010 (UTC)

It seems the Genode OS Framework is missing from this page. It supports most of the mentioned L4 kernels and adds an extensive user-level infrastructure including GUI, device drivers, and ports of third party libs like Qt4. 195.81.216.142 (talk) 14:46, 22 February 2011 (UTC)
 * I've added a link to the Genode site. Isidore (talk) 06:48, 1 March 2013 (UTC)

One billion?
This seems a little high, as if most if not all the phones in the world run L4 microkernels from a single source. The article reads "OK Labs deployments surpass the one billion mark." This statement, which was limited to sales and politicians, has to be explained further to be meaningful.--John Bessa (talk) 21:44, 2 February 2011 (UTC)

Well there's like 6 billion mobile phones in the world, I think? — Preceding unsigned comment added by 76.189.41.230 (talk) 17:22, 11 February 2013 (UTC)


 * The cited source says that "virtualisation software" from Open Kernel Labs was in use in over a billion mobile phones, but does not mention L4. Our article about Open Kernel Labs says that "OKL4 has been deployed on over 300 million devices" but gives no source.
 * I'm going to remove that sentence from the article pending a decent source for either number. Cheers, CWC 13:43, 13 February 2013 (UTC)


 * What do you call a "decent source"? This is about commercial deployments, you won't find sources other than news releases, and press or analyst articles based on them. There's an OK press release mentioning 1.5 billion (http://www.ok-labs.com/releases/release/ok-labs-software-surpasses-milestone-of-1.5-billion-mobile-device-shipments). There were repeated listings (with increasing numbers) in VisionMobile's "100 Million Club" (including one attributing 1.2 billion, see http://www.ok-labs.com/releases/release/open-kernel-labs-software-tops-the-charts-now-deployed-in-1.2-billion-mobil) bu they are no longer available). Does that justify pretending it's not true when it clearly is? heiser (talk) 11:51, 14 February 2013 (UTC)


 * Thanks, heiser! By "decent" I meant "reliable", and both those links certainly qualify. I've edited this article and Open Kernel Labs accordingly. I'm sorry I misread the old press release.
 * 1.5 billion is a lot(!) of deployments, and that was over a year ago. I guess OKL4 will pass 2 billion(!) sometime in 2013. That kind of number certainly should be mentioned in these articles. (It would be interesting to know which manufacturers use OKL4, or any other variant of L4.)
 * Cheers, CWC 08:05, 15 February 2013 (UTC)

Fix notion that Codezero was GPL, now closed source; clarify OKL4 and Iggy license
The article says "Originally under GPL, Codezero is now closed source." That is either not the right license attribution, or it would spur a massive outpouring of news about failure of the GPL, or it indicates that the earlier version is still available under GPL and then either a massive rewrite was done, or dual-licensing was used and it is just new features that are only closed-source. What is correct?

And what is the story with OKL4, where it seems that what they call an open source license was officially found not to be a valid open source license ("Iggy Wanna License (IWL) is not OSD compliant and should be rejected") ★NealMcB★ (talk) 03:30, 2 February 2015 (UTC)
 * As it was their IP, they can, of course, change the license, which is what I believe they did. Old GPLed sources are still around (eg on my machine), last commit was 1 June 2010. The git server (git.l4dev.org) server no longer resolves.
 * OKL4 went the same way, from 2-clause BSD, to the super-infectious IWL to closed source. Pistachio is still around as GPL but apparently dead (last commit was March 2014, the one before was June '13, the one before that Sep '12). Only live open-source versions are Fiasco and (since July'14) seL4. heiser (talk) 04:03, 2 February 2015 (UTC)
 * Thanks for the CodeZero story. I updated the article to note the CodeZero GPL repo at https://github.com/jserv/codezero which has some updates since 2010.  I don't see much activity from the l4dev folks - seems stalled in both cases.
 * Thanks for the info on OKL4, and sorry to hear that. Do you know where the BSD version can be found?  ★NealMcB★ (talk) 21:55, 25 January 2016 (UTC)
 * As you'll noticed, okl4.org now just points to a mailman site, the actual download page is gone, General Dynamics must have removed it. Not sure whether anyone mirrored it anywhere. I have a version of OKL4 3.0 on my machine, I *think* that's the last open-source version. If there's interest I could make it available, but would have to take some time to make sure that it really is all open-source. heiser (talk) 22:15, 25 January 2016 (UTC)

L3 microkernel
L3 microkernel is a hopeless non-notable unreferenced stub with a homepage at L4, it should be integrated here or deleted. –Be..anyone (talk) 10:31, 19 April 2015 (UTC)
 * Didn't even know that page existed! I agree, there's no point for a separate page. It's technically incorrect too. Although the paragraph in this page isn't exactly correct either. There's a lot of confusion arising from the fact that Liedtke in his '93 SOSP paper was still talking about L3 when if fact he was describing an interim version that was very close to what finally became L4. L3 (despite Jochen using the term at the time) wasn't a microkernel in the sense he defined it in '95 (minimality), which is what's now the accepted definition. heiser (talk) 10:53, 19 April 2015 (UTC)

Is A7 L4 based on Darbat?
The partial sentence "based on the L4 version used in NICTA's Darbat project" in the commercial section is not supported by a cite as far as I can see. Can anyone verify that this is the case? The cite before this part of the sentence does not mention Darbat or Nicta. As there are other commercially available L4 variants and Apple could well have written their own from scratch it is not obvious that this should be based on Darbat. The change was introduced here: https://en.wikipedia.org/w/index.php?title=L4_microkernel_family&diff=646002545&oldid=645254093 presumably by the mastermind behind seL4 (Gernot Heiser) and is very close to advertisement ... (93.218.160.230 (talk) 08:00, 7 January 2016 (UTC)
 * It's factual and provides useful information, calling it advertisement is a bit far fetched. However, I don't have a reference (other than personal knowledge of the situation, plus the fact that the Darbat project was done by a student who is now an Apple employee). Feel free to delete if you think purity is more important than useful information. heiser (talk) 11:41, 7 January 2016 (UTC)

External links modified
Hello fellow Wikipedians,

I have just modified 1 one external link on L4 microkernel family. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
 * Added archive http://web.archive.org/web/20160111122321/http://l4dev.org/ to http://l4dev.org/

When you have finished reviewing my changes, please set the checked parameter below to true or failed to let others know (documentation at ).

Cheers.—cyberbot II  Talk to my owner :Online 03:12, 27 May 2016 (UTC)

proposed merge
approve the L4 article has almost as much on L3 as this one. Peter Flass (talk) 00:20, 30 August 2016 (UTC)
 * was this question supposed to be on the L3 page? heiser (talk) 01:17, 30 August 2016 (UTC)
 * probably, I didn't suggest the merge. Peter Flass (talk) 08:59, 30 August 2016 (UTC)
 * Well, I support merging L3 microkernel into this article. CWC 19:51, 1 September 2016 (UTC)
 * I had suggested it in the first place, so support heiser (talk) 22:54, 1 September 2016 (UTC)

External links modified
Hello fellow Wikipedians,

I have just modified 2 external links on L4 microkernel family. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
 * Added archive https://web.archive.org/web/20060905181634/http://www.l4ka.org/publications/ to http://l4ka.org/publications/
 * Added archive https://web.archive.org/web/20120327161621/http://dslab.lzu.edu.cn:8080/docs/publications/l4_kickstart.pdf to http://dslab.lzu.edu.cn:8080/docs/publications/l4_kickstart.pdf

When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.

Cheers.— InternetArchiveBot  (Report bug) 07:27, 14 December 2017 (UTC)