Nemesis is an operating system written from scratch (but it does retain some Posix compatibility layer for easy application porting), whose design is geared to the support of time-sensitive applications requiring a consistent ‘Quality of Service’ (QoS), such as those which use multimedia. Nemesis provides fine-grained guaranteed levels of all system resources including CPU, memory, network bandwidth and disk bandwidth. The OS has been built with the Multimedia in mind, its sole purpose of existance was the delivery and performance of multimedia content in the best way possible. Screenshots are available but read more for information and status of this interesting operating system.In a microkernel environment like Nemesis’, an application is typically implemented by a number of processes, most of which are servers performing work on behalf of more than one client. This leads to enormous difficulty in accounting for resource usage. In a kernel-based system, multimedia applications spend most of their time in the kernel, leading to similar problems.
The guiding principle in the design of Nemesis was to structure the operating system in such a way that the majority of code could execute in the application process itself. Nemesis therefore has an extremely small lightweight kernel, and performs most operating system functions in shared libraries which execute in the user’s process. This leads to a vertically-structured operating system. Providing QoS to time-sensitive applications necessarily requires more frequent context-switches. By use of a single address space, Nemesis greatly reduces memory-system related context-switch penalties. The single address space also removes the need to copy high-bandwidth multimedia data. Despite the fact that there is a single system-wide page table mapping virtual addresses to physical addresses, memory protection is still performed on a per-process basis.
Nemesis currently runs on a large number of platforms including x86 based PCs, DEC Alpha workstations and evaluation boards (21064 and 21164) and StrongARM SA-110 based network computers.
Austin Donnelly, previously member of the Nemesis project team (which was mostly consisted by universities and research labs), told OSNews about the project:
“The EU-funded research project is now over, so the project is not active anymore. The code is dead, but the ideas live on. The stuff up on sourceforge is the best reference. Chapter 1 of the manual provides a very brief introduction to the ideas behind Nemesis. The code up at sourceforge works, but is not actively maintained.”
We asked Austin if the Nemesis uses X11, and he replied: “No. Nemesis uses a user-safe framebuffer device, and client applications perform their own rendering: no server is involved. Getting GTK working on Nemesis was a concrete example of some of the techniques we developed to handle stateful shared libraries in a single address space OS.”
The source code of the OS is available and it has indeed an interesting approach on the design of modern operating systems. Anyone would like to further develop Nemesis?
Looks like Y.et A.nother B.eos C.lone (YABC)
which in general is a good thing, but I must say
that those screenshots are BUTT ugly! Hopefully
that’ll change once they get more of the base down!
;p
Screenshots look fine until you zoom in on them. What the heck did the author use to take those shots? If the OS generates them, that code obviously needs to be reworked.
Java is already ported to Nemesis? And Java for BeOS? I’m wrong or it was a 1999 promise? There are tons of ready-to-run Java applications out there… sigh!
Badmood Take a look at http://sourceforge.net/projects/bekaffe/
and help them out, so we could have some Java support soon.
Also, could someone keep us up with Abiword? we need a WordEditor
(Instead Gobe 3.0)?
More like Yet Another Amga Clone. Yeah, not relly, but it does have many features in common such as a single address space, messages based on shared memory (though all Amiga memory was shared…), sod all running in the kernel (interrupts and scheduling was about all), etc. Then again, it was the original multimedia computer, so not that surprising.
BeOS could be considered to have been an attempt to update AmigaOS and correct some of its flaws. BeOS had its own flaws aswell mind you. At least this is open source. Maybe one of these days I’ll try my hand at this OS writing thing myself, then again… ๐
Wouldn’t it be easier to make Nemesis the new OpenBeOS?
It’s Yet Another Operating System. It has almost nothing significant in common with BeOS or AmigaOS, and BeOS isn’t an “updated” Amiga OS either. <sigh>
The QoS/ vertical process accounting stuff behind this OS are much more interesting and unusual (but less generally useful) than the work done in BeOS. As to AmigaOS, well the “concession” to performance multimedia on the Amiga is the fact that you can write to the metal, which also means that in 2001 the “New” Amiga not only doesn’t exist outside an R&D lab but is also dependent on obsolete genuine C= Amiga hardware. Lovely.
What Nemesis set out to achieve is explained in their documentation. It’s a radical architectural difference (even though POSIX APIs and even GTK+ were implemented) and that makes it stand out from Unices, MacOS, BeOS or any other mainstream OS that you care to mention. Whether this price was worth it is a question that will be answered in the future, after another few cycles of incremental improvement to existing systems.
why can’t any of these OS creators do somthing to inovate the user interface.
we are not talking about 3d or anything, but a simple little feature that is left out of all the rest that will add another demention to the user experience (like the right mouse button)
You mean click a button and it makes you a sandwhich or serves you a beer? =P
I do agree though that some new innovations in UIs would be nice to see. A survey to potential users should be sent out to hear their feedback and ideas for a UI they would be happy to use.
But I bet 90% would say, “Make it like Windows, because that’s what I know how to use.”.
>Screenshots look fine until you zoom in on them. What the heck did the author use to take those shots?
Nothing. Its just that the author of that page saved them as gifs instead of jpegs, and also even the zoomed-in sshots, are not 100% zoomed-in, therefore they look bad, because they are badly scaled (bad algorithm from the gfx program). But the OS itself does not look as bad as their screenshots, don’t worry.
Sure, it has only the vauge concepts in common with both BeOS and AmigaOS. And sure, BeOS wasn’t intended to replace AmigaOS, though some people saw it as such at the time. Still, its interesting stuff and its nice to see new ideas.
However, the Amiga was quite capable of multimedia without ‘hitting the metal’, though a faster processor than the 7.14MHz 68000 that an A500 had did help. Still, your right to the extent that the combination of efficient OS and (for the time) powerful and innovative hardware was what really made the Amiga, not just the OS or just the hardware. WinUAE on a 1.2GHz x86 does a pretty good job of emulation, fastest Amiga I ever owned ๐
“we need a WordEditor”
There is always GP2 for BeOS
http://www.microsoft.com/windows/windowsmedia/download/bonuspack.as…
I will give Palm the first quarter of ’02 to announce the the next version and second/third quarter ’02 to release something.
Many people have started operating systems, but it takes a much greater, more focused effort to fully develop and debug a feature rich OS by today’s standards. Perhaps all the different folks developing their own OSes should join forces.
ciao
yc
Well, I think Nemesis will be hardly useable considering it’s hardware support but maybe it’s usefull for developers who are trying to use some other OS than BeOS.
This ‘vertical’ talk sounds very interesting, maybe if someone would explain us(? me) this in any normal english?
Paul
Most of the larger OS’s have these capabilities as well. Especially mainframe OS’s like z/OS (formerly MVS) and z/VM. Admittedly, these aren’t cheap and run on vastly different hardware, for different purposes, but they have the same capability.
Thanx for the download help!!!