OSNews reader and OS developer Wim Cools writes: “I’m writing a hobby OS (TriangleOS) and I’ve just released the second version of it. The OS isn’t very big yet, but I’ve managed to begin with a GUI and have applications running inside the windows. Anyway, here’s my site. There are a few screenshots of the GUI in an early stage but I haven’t been able to create any up to date screenshots yet, with the shell and applications running but there’s a floppy image available for everyone to check it out.”
Another interesting new OS is Sartoris. Santiago Bazerque is part of the Sartoris team and he writes: “Me and my friends from the Univeridad de Buenos Aires are working on an experimental microkernel. We are now finishing our second release. We are not OS gurus, just a few students (our Computer Organization professor looked at us in a quite funny way when we told her we wanted to build an operative system, but hey, we did it!). The webpage is here, in case you feel like taking a look.”
Note: Before everyone starts again “what does that OS do and why do we need it?” please let me clarify that these hobby/small OSes are built with the purpose of gaining knowledge. They were never meant to create userbases or user communities or markets. They are solely of developer-only interest, users can try them, but they won’t directly benefit.
The more the merrier. Give me all you’ve got! I don’t think people should be so very silly and put people down just because they don’t run their choice of OS. These people are very creative and are having a lot of fun. You should envy them, not attack them.
please let me clarify that these hobby/small OSes are built with the purpose of gaining knowledgeYet they’re already more advanced than Berlin
Cool!
But… what are they good for?
just kidding
its good to see that people are making use of all the good research thats been done recently. most of the newest OS projects have followed the microkernel creed, and much success to them!
i know x86 is by far the most common platform, but are there any alternative OSses for other chips? NewOS is getting ported to dreamcast, after its resurrection, and L4 is available on ARM/MIPS/Alpha, but i havent heard of any others making it.
you should put an “About Us” link that tells all about the site and it’s editorial and news content intentions. It seems we have a few people here that don’t know you focus on small and hobby OS’s and can’t grasp the concept. If we had a synopsis we could direct them to it would save on the multipost flame wars, and they could be seen immediately as trolls.
> i know x86 is by far the most common platform, but are
> there any alternative OSses for other chips?
we (sartoris) define a really low-level cpu-abstraction layer in order to make the microkernel easy to port. I think this technique has been used before, and in our case it really pays out, I belive. It’s just about fifteen cpu-dependent functions.
However, we have not ported the twisted little thing to any non-x86 arch yet. We have a version that runs on top of an x86-like arch simulated on top of a linux process, but I belive that it is broken now.
> you should put an “About Us” link that tells all about the site and it’s editorial and news content intentions.
From our ‘contact us’ page:
“Our goal is to inform you about the latest news on a vast range of operating systems, from the well-known mainstream OSes, down to small (but also very interesting technically) hobby or embedded ones.”
The right information was always there.
Has anyone developed an open source equivalent of Tao’s Virtual
Processor – where the code from an assembler is stored on disk in an
intermediate form, and converted to the code for a particular CPU on
loading?
I remember way back UCSD Pascal had something similar.
… and there are tons of them out there.
why do people keep writing abstraction layers? in a microkernel there is only supposed to be just enough code in there to allow a general and safe system to be build on top.
clearly for performace, code size and idealistic reasons youve got to do away with the abstraction layer underneath the microkernel and merge the two.
(sorry to keep on about L4, but..) L4 does this and the speed of it is amazing! read http://l4ka.org/publications/files/improving-ipc.pdf for an example of what i mean.
For every new, unique ‘OS’ that comes on the field, attempting for the throne of true usefulness, I am there to see if it’s just another Linux/BeOS-derivative (seems SkyOS is trying for Linux-compatibility, while BlueEyedOS is trying for BeOS-compatibility)
My main interest is whether or not an OS stands apart from others in both look and functionality. If it’s just trying to “me, too!” it’s way into the party, I lose interest very fast.
I’ve drawn up some “screenshots” of a GUI I think would be excellent for one of these up-n-coming OS’s. It’s very primitive… nothing remarkable, but it has a feature or two that stands out from the crowd.
I’ve written to the T/OS author (only 17 yrs. old and he’s written his own OS… arrrgh! Why can’t *I* learn to program… even in BASIC?!?) to see if he’s interested in looking at and/or possiblity implementing my meager offering.
Here’s to OS futures… yea!
is there a website with those pics of your dream GUI? I would like to see them:) thx
> why do people keep writing abstraction layers? in a
> microkernel there is only supposed to be just enough
> code in there to allow a general and safe system to be
> build on top.
yes, but you still have code that is cpu-dependent, and more algorithmic code that can be re-used without modification in other cpus. drawing the line between those, in my view, is a natural thing to do.
> clearly for performace, code size and idealistic
> reasons youve got to do away with the abstraction
> layer underneath the microkernel and merge the two.
building an abstraction layer without degrading performance is a challenge. but the microkernel architecture helps there. you are abstracting a fairly small amount of hardware.
> (sorry to keep on about L4, but..) L4 does this and
> the speed of it is amazing! read
> http://l4ka.org/publications/files/improving-ipc.pdf
> for an example of what i mean.
the L4 people seem to belive that microkernels are not portable per-se, if they are to be efficient. well, we will see
this certainly is a good topic to work on.
…you still have code that is cpu-dependent, and more algorithmic code that can be re-used without modification in other cpus. drawing the line between those, in my view, is a natural thing to do.
the L4 view is that to use a cpu/architecture efficiently requires different algorithmic code. for example: L4/MIPS page table code is very different from x86 and there is an increase in efficiency because the MIPS cx code can reload only parts of the s/w page table.
in fact, L4 has two different kernels for x86/pentium or greater, because of the new syscall opcode in the newer systems. if they had a PPC version i guarantee there would be separate G3/4 code because of altivec.
the big problem with software today is too much abstraction. when two systems abstractions dont meet up then someone goes and programs a library to provide an even bigger abstraction over them, and in turn is abstracted by a higher level interface until noone can remember what the original API was…
> the L4 view is that to use a cpu/architecture
> efficiently requires different algorithmic code.
I agree. But Sartoris is smaller than L4. It is also in a much earlier stage of development. For example, under Sartoris, the microkernel doesn’t go beyond exporting a page_in and a page_out function (I belive L4 has a default pager). What you keep from cpu to cpu is, for example, the message queue algorithms, or the code that implements permission checking for shared memory areas.
The performance degradation for using the same algorithms for this tasks under different cpus is still unknown to me, at least for Sartoris.
We have an (out dated) document describing our approach in the download section of sartoris.sourceforge.net. Our interfaces are described there.
I belive L4 has a default pager
nope. L4 leaves pager implementation to the system designer, if paging is desired or necessary. there must still be a task which gets sent page faults, but the default one in L4 does nothing (it gets all the physical pages at boot time and never releases them or allocates any more)
What you keep from cpu to cpu is, for example, the message queue algorithms, or the code that implements permission checking for shared memory areas.
L4 has no message queues, everything is synchronous. permissions (and the idea of privileges) is contained in the system server, in user space. even messages are not checked for correctness or permission in kernel space.
anyway, this is drifting a little from my original question about the lack of non-x86 support in new OSses
i guess the answer is as simple as: “x86 is ubiquitous”…
Amen to that, but in some cases its just not realistic. I mean, for OSes that are built with portable languages, its feasable, but for such OSes out there like MenuetOS and our beloved Uuu which are built entirely in assembly it would be absolutely impossible without doing an entire remake.
Even if you use C, the basic boot sequence for an Alpha is much different than for an x86 which is much differernt from……There’s still a lot of work to be done to port an OS from one CPU Arch to another, not to mention people then bitching about lack of optimization.
> you should put an “About Us” link that tells all about the
> site and it’s editorial and news content intentions. It seems
> we have a few people here that don’t know you focus on small
> and hobby OS’s and can’t grasp the concept. If we had a
> synopsis we could direct them to it would save on the
> multipost flame wars, and they could be seen immediately as
> trolls.
I guess ‘OS’ could stand for Open Source?
well Euginia, I can name one Hobby OS that was not intended for any purpuse but for its creator to learn about the features of the i386, but we all know what happened to that one 😉
Hi guyz.
Some months ago me and Cedric (developer of InExOs) started a project to build a “SourceForge-like” portal dedicated to alternative Operating Systems.
We belive that this could benefit to every OS-Developer and many interesting projects can grow more rapidly.
We’re looking for cooperations & collaborators, so if you’re interested, do not hesitate to reach us at:
http://more.at/osportal/