“Today miray Software introduced a new realtime microkernel, named Sphere SP 2.0. Compared to its successor, it has been completely redesigned and delivers high realtime performance for 32-bit processors. At a size of only 21 KB, Sphere SP 2.0 is especially suitable for embedded systems. But due to its extreme scalability it’s also well prepared for large systems.” Read the rest of the press release over at Miray.
IMHO.
IMHO
they simplify the parts by spliting eveything up….ok fine, but then the communication gets realy complex and the net gain is nill
when exactly does a microkernel suck?
“Sphere SP 2.0 is especially suitable for embedded systems”
I think you’ve missed the point miray are not aiming to simplify by splitting everything up. They certainly aren’t aiming to make yourlife easier.
‘realtime performance for 32-bit processors’
‘At a size of only 21 KB’
‘especially suitable for embedded systems’
‘well prepared for large systems’
Get it?
It is well prepared for large systems but NOT aimed at large systems.
So when exactly would this microkernel suck?
Lot’s of things suck when you put them in the wrong context.
Compared to its successor
It is very unusual to compare a new release to its successor. Anyway, it doesn’t look like I would want to upgrade when its successor becomes available.
😉
Hey, I give you some help:
There’s Sphere SP for *s*ingle *p*rocess applications. Who would use this on a big machine (except special applications)? So for the biiiig ones there’s Sphere MP (*m*ulti *p*rocess), much more suitable for this case and even “aimed” at.
Sphere SP indeed makes life much easier for programmers and much better for users of embedded systems. It can also perfectly run and make use of big systems, but this rarely makes sense, or does it to you?
So from some months of own experience with writing Sphere SP programs I can tell you: what you say (or better guess) just comes from ignorance.
heh missed that
it is a monolithic kernel or it is a micro kernel.
if it is a micro kernel, it does not have the faculties to run a complete system in side kernel space, it needs modules/servers/what ever they call them in user space to take over the functions the it shed to make it a micro kernel.
so it must be a monolithic kernel that just happens to be very small and have the ability to plug in diffrent features to the Kernel space.
I noticed that a lot of dicks come here talking crap about everyone and everything. they know who I’m talking about; this is to them, guys, could you please think logically just for a second before you post stupid remarks (why would I want to used this OS, this OS sucks, micro kernels suck, and so on…)
Lets not forget that programming for a monolithic kernel is much easier on the application programmer due to the ability to fork processes. With a microkernel you can’t do this because the kernel itself doesn’t know how to copy file descripers… etc because the modules that describe them are off in user space libraries. So, with mircrokernels you have to start another process and then pass information through pipes, command line arguments, or a file. I think the latter is pretty crummy.
Then again, a microkernel is more elegant and modular… so untill I actually get around to start my own toy os for senior seminar… I won’t comment about which one is best.
Errrrrr no.
There are monolithic, micro and modular kernels.
My Linux system is almost 100% modular.
Close your eyes and imagine:
There is a *micro kernel* that does exacly what has to be done in kernel mode and it’s fast enough that all other things can be done in user mode… of course not exactly that fast as if you code everything directly into kernel mode but not much slower and much easier to handle…
What is a modular Linux? Linux is a monolithic system!
Wake up, man!
😉
I was not talking crap, I was stating my opinion and leaving it at that.
Elmer, modular kernels are a subset of Monolithic.
go look at your configuration, many options cannot be made into modules.
Actually, there _are_ three types (Monolithic, Micro, and Exo).
An exokernel is a ultra small kernel (usually much smaller than a MK) that just multiplexes hardware and everything _else_ is usually in libs (that includes drivers/memory handling/disk access/etc) [see: http://amsterdam.lcs.mit.edu/exo/].
“they simplify the parts by spliting eveything up….ok fine, but then the communication gets realy complex and the net gain is nil”.
Nyet, actually the there are significant gains in lieu of the speed that’s lost to the extensive IPC:
Stability – no driver will crash the system.
Scalability – adding functionality doesn’t require recompiling. Modular type Monolithic kernels provide partial service, but are generally limited by the HAL which usually is compiled in.
Security – in some implementations deamon’s don’t have any privilege, rendering buffer overflows moot [see: http://www.pl-berichte.de/berichte/hurd/print/security.html]
Moreso, Microkernels are _really_ useful for (hard and soft) realtime systems where monolithic kernels generally fail to scale.
“so it must be a monolithic kernel that just happens to be very small and have the ability to plug in diffrent features to the Kernel space.”
Nyet, if you read the Press release it talks about IRQ’s being accessible in Userspace (not indictive of a small monolithic kernel).
IHMO
well anon….
I think the Research being done on the linux kernel is very interesting. the preemtion code is linked to the smp locks so as linux gets better at smp (which will happen) it gets better and better at preemtion…right now, it has realy good times…somthing on the order of <10ms to a few hundred microseconds.
It will be interesting to look at how well linux gets and compair it to some microkernels in a few years.
The look of the OS a bit like BEOS but not the functionality. If they opensource (doesn’t need to be GPL) it, the community might improve it further
Linus proved that microkernels don’t work. Nuff said.
Computer enviroments arn’t all the same, so a one size fits all attitude isn’t practical.
Micro Kernels are good for simple devices, embedded systems, server appliances, etc…
Monlithic Kernels are good for complex systems…
Linus proved that he wasn’t very creative when it comes to Kernel Design.
The Mach Microkernel works. QNX works. Mac OS X (ie, Darwin) Works. Call me crazy, but both micro, modular, and micro all work.
Linux is somewhat modular and that’s good. But last I checked, TCPIP wasn’t a module. Console support wasn’t a module. If you’re working on small systems, or really large systems that don’t need a user interface, Linux is lacking.
Actually you have it slightly backwards, MK are good for very small systems (RT), and very big systems (big iron/batch systems), Monolithic is generally good for everything in between (especially nonRT embedded systems).
Some big iron machines don’t run a single instance of an OS; instead, they run a MK that in turn runs instances of another OS (like IBM’s big linux machines [a MK creating and maintaining VM’s that in turn run the Linux kernel]).
“Linus proved that microkernels don’t work. Nuff said.”
I assume you are referring to:
http://www.cs.dartmouth.edu/~perrone/oldsite/feud.html.
If you look at Linus’ arguements he mostly based those on early Mach and Chorus kernels (first gen) and not newer ones such as L4/et al (second gen) [which are significantly faster].
No modern kernel is pure in _any_ regard; most mix the two (Windows NT/Linux/BSD/etc).