Niche Operating Systems
Eugenia writes: "So, you think that BeOS or AtheOS are niche Operating Systems? Well, you haven't seen anything yet. OSNews provides a list and short description of the most active and most promising Operating Systems written by individuals or small teams just for the fun of it or because they have a dream of how the perfect OS should be (is there such a thing though?). Some of them, like SkyOS for example, are even quite far down the line in terms of usability and advancements."
There's an old adage that every mistake that has ever been made with computers has been made three times. It originally referred to the mainframe, minicomputer, and PC eras. That could probably be extended to at least five times today by adding "client/server" and "web" environments. One of the strange aspects of computing is that everything has to be started from scratch and nobody seems willing to even consider the lessons learned in the past.
Given this, I would prefer to see a list of operating systems in which things were done RIGHT, but which are no longer in use or from which lessons are not being learned. Multics, TOPS-10, and TOPS-20 come to mind. Any others?
sPh
I knew BeOS long time before Linux. So if after years of existence BeOS is not yet a mainstream OS, I don't see why I shouldn't call it a "niche OS"! AtheOS on the other part, is likely to become a mainstream. If only it could come with many more supported videocards...
I like the idea of setting up profiles that allow you to fire up all the programs necessary for "text processing" applications.
I don't know how easy it would be to use this system, but at least it's innovation. It's the most original OS interface idea I've seen since the virtual desktop.
Andrew
My vote for the most obscure goes to FreeVMS. Warning: very little code got written and there hasn't been activity in years. But the way in which it failed was interesting: no one wanted to do anything unless it had the blessing of Digital ^W Compaq ^W Hewlett Paqard. The biggest leverage of the proprietary OS was over the minds of the users/enthusiasts/etc. One could argue about whether the legal issues were real, but the free unices managed to get around legal issues with Unix including the setuid patent.
VSTa is a very promising upcoming OS, with a microkernel architecture and very modular design. Why wasn't it mentioned in that list? Development seems to be active. I know of someone at MontaVista who spends all his spare time working on VSTa. It's supposed to be similar to Plan9 in a few ways, very advanced, research-based, designed by people experienced with kernel and OS programming... It already supports SMP.
A solution to the problem with music today
wake up vx-works and Itron are some of the most deployed O/S's in the world so what do you call niche ?
ones that the general public uses ?
(ever thought about the O/S in a mobile phone)
or even yourt Set Top Box pluged into your TV
just because it doesnt screem the version and who made it does not make it less of a O/S
regards
john jones
p.s. oh and linux need to sort out threading I found out today (-;
- "Toy" systems that are written by a few hackers "just because they can". Those are typically written in (x86) assembler and even eary versions can produce a nice looking GUI. (Note that "toy" systems can very rigid and functional, despite their name.)
- "Research" systems that are written by researchers to prove a point. The rarely have a GUI (unless the research involve real-time graphics as for Nemesis).
Both kinds are extremely hard to install, only run on a very carefully selected set of hardware, and don't really gain much appreciation other than from a very small group of followers. Followers from both groups often look down on eachother.Lately, the operating systems research has come to a slowdown, but the operating system hackers (that produce the "toy" systems) are gaining more and more momentum. The latter can most likely be contributed to the success of Linux. Can the former be explained by that operating systems now is a fully explored area?
When I first looked at the title I mis-read "niche" and thought somebody had created a "Nietzsche" operating system. Now that would be a niche OS. What would such an OS do? I supposed it could complain about Jesux users.
-----
Free P2P Backup, Windows & Linux
Standardization kills choice" ... "I have standardized on MS." So, you like to see choice, but you'd rather not use it? Interesting.
_Everyone_ can make a choice. His personal choice is Windows, but he's saying that he wants lots of options available so each person has more to choose from.
>>everything has to be started from scratch
>>and nobody seems willing to even consider the
>>lessons learned in the past.
Except maybe Apple, who rewrote their entire OS based on Unix for its proven stability, ability to play nice with others, etc etc...
FreeOS is another good place to find out about these kind of operating systems.
You had me at "dicks fuck assholes".
Dare I mention that the Forth language IS an operating system in its own right? Damn good one too!
It only is that way when some platform specific, propreitary method becomes the de facto standard. That's the whole reason for the IETF standards process.
Standards should enhance choice by providing inter-operability for certain components while allowing customization of others. As the best and biggest example, TCP/IP is highly standardized and yet you can choose from a bewildering variety of stacks for different operating systems.
but an OS is nothing without applications - and only until there are applications for an OS, can its usability and robustness be truly measured.
-raj
The fact that there's all this open source driver code helps make other OS's possible, and also helps make them more usable (in case you need a new driver for the niche OS). The contribution of a device driver writer for linux is obvious when you get your linux distro and have the device; but there is a big secondary benefit in the way they help contribute knowledge that can be used by others on other projects.
Fits on a 5.25 inch disk and runs well in 128kb of memory! Fast and easy to use!
Best Slashdot Co
Mac OS is a great OS for some tasks, but it is far from mainstream. Even Apple admits the fact on this page. With 5% of marketshare, they have even fewer users and new adopters than Linux. This doesn't make it any less of an OS. We've had no problems thus far with our OS 9.2, Final Cut Pro 2.02, & DVD Studio Pro 1.1 setup. It's no SiliconGraphics machine, but it doesn't cost nearly as much either.
By far has to be FreeDOS. Although development is slow, and the user base pales in compairason to others like Linux or FreeBSD, it's really amazing what they've done. The developer's list has 500+ people on it (most inactive) and recently the system is getting pretty good. Back 10 years ago, DOS was by far not a niche OS, but today it has become. Sad it is, but glad that some people accually understand that for such a simple OS, it's quite extendable.
Oh, and of course, by favorite GUI to go ontop of FreeDOS: DWin. Not much to use yet, but i really enjoy it.
I am thinking of developing a new OS with the aim of making everybody happy.
I think I will call it CheeriOS.
Hmmm... you don't think General Mills will mind do you?
McFly777
- - -
"What do people mean when they say the computer went down on them?" -Marilyn Pittman
Just say no to asynchronous delivery. Your program should be notified of events only when it calls dequeue_event() or whatever. For something that is really async like segmentation violation, your program should just get whacked without any opportunity to do anything else.
Getting rid of signals would solve most of the problems I perceive with programming in Unix.
I'm currently working on a Unix-based windows manager - PlatoX. No actual windows. It only supports dialogs.
So what constitues a mainstream OS? what number of users? what number of developers? What market share?
Seriously, How would you define it?
of hand I can think of at several quals, but there have to be more. And these may be messed up.
1) Main population of users is not restricted to a specific location or region.
2) Probably a lot more users than developers
User base consists of a substantial fraction of the total user base.
But what counts as substantial? If Apple was just starting, would 10% of the market be considered mainstream?
and which markets?
"It is a greater offense to steal men's labor, than their clothes"
So far, I'm not seeing many niche Unixen out there, save for Minix (which I'm half-tempted to port to a virtual machine).
--
# Canmephians for a better Linux Kernel
$Stalag99{"URL"}="http://stalag99.net";
one way to show off your girlfriend. not too shabby. incase you're wondering what i'm talking about, take a look at SkyOS's latest screenshot. Not the most flattering picture, though, lol.
Still pretty cute, though...
I'm working on a Nietzsche operating system.
Not only is it very abstract, it's downright existentialist. If you try to log in as "God", it tells you you're dead.
Got a full tank of hot grits and a penis bird in the glove box.
"Niche" implies that there's a particular, small area in which it would be extremely useful. The OSes listed in this article are pretty vanilla for the most part, implementing the usual set of OS features, but with programmer's own pet technical bent ("Written entirely in assembly language," "Highly modular," and so on). As such, while these may be fantastic learning projects, the world is not clamoring for operating systems that differ in minor technical ways.
Quite possibly, the world is not needing another OS in the traditional sense. When someone uses Windows, for example, he or she thinks of the "OS" as being Explorer, Internet Explorer, and certain common applications. It doesn't matter that they're running on top of the Windows kernel or the Linux kernel or whatever...that level of detail is irrelevant unless you make a hobby out of being concerned with it. The separation of a computing tool into "OS" and "application" is outdated. A better angle is to focus on what computers get used for most commonly, and then write a so-called operating system to give you the support you need to provide those tools to users. Writing the OS first is akin to the usual mistake of architecting a 3D engine without any clue as to what game it should be used in. That's the backward approach.
MS simply threatened computer manufacturers not to pre-install BeOS. If anybody pre-installed it they would lose the legal right to install windows. Just your typical mafioso tactic from MS.
War is necrophilia.
EROS is a very promising O.S. - orthogonally persistent, cool security.
:-).
:-).
An "interesting" OS is AROS - it's AmigaOS, but open-source on x86, complete with Amiga-style:
pre-emptive multitasking.
total lack of memory protection, except for "cooperative" m.p. via semaphore locking.
blazingly fast IPC by by-reference message passing
on-the-fly shared library function patching
user-space device drivers (though, without any memory protection, user space is a pretty abstract concept
integrated GUI + unix-like shell.
Also has a fun "soft-pseudo-reboot in a fraction of a second" feature, based on just freeing all memory except the kernel + vectoring to the kernel entry point - whcih means, you may crash due to lack of memory protection, but you'll be back up,very,very quickly
Choice of masters is not freedom.
Where's EROS, the Extremely Reliable Operating System that Eric Raymond wrote about no too long ago? OppcOS sounds a lot like it - saves its entire state to disk periodically, has no "file systems" - but in a quick peruse of the OppcOS site, I couldn't find any mention of whether the two are/were related. EROS sounded very promising, and unless its development has been abandoned, should have been on this list. (EROS used to have a web site, whose URL I cannot remember - obvious guesses like www.eros.org seem to be pr0n sites.)
Little help?
--Jim
EROS. No, it isn't an OS that displays pr0n. It stands for Extremely Reliable Operating System and is used as a test bed for new OS enhancements such as OS persistence and token security. Besides, these guys get a real kick out of showing how they can kick the plug out of the wall and have their machine back up moments after they put the plug back in.
Another OS of interest is JOS, a Java based OS. While I agree with them in principle, they defined too large of a scope initially and ended up drowning in their own specs. Maybe one day we'll see an awesome OS out of them, but not today.
Javascript + Nintendo DSi = DSiCade
There's a small company named Microware based in Des Moines that's been producing a small Real time operating system for at least 10 years. The OS is named "OS/9". It was popular for use in set top boxes. The interesting thing about it was that any component of the OS could be turned on/off while it was running; it used a dynamic lookup table to be able to reconfigure itself on the fly. Microsoft never would dream of a no-reboot-necessary-ever Op system! (or could it?) Microware used to have their OS in a lot of cable TV set top boxes. They've been purchased recently, and I don't know how widely they're used, but it was a pretty cool OS for a while!
Unitarian Church: Freethinkers Congregate!
..that every programmer that thinks he knows something has to either write his own programming language or Operating System?
//Humming
I'm too stupid to preview.
BeOS was crushed due to management having the equivalent brainpower of a box of twinkies and not keeping up with the latest hardware developments.
And that's my $0.32 (adjusted for inflation).
They left out emacs!!!
(ducks and runs...)
Right. And you should poll the hardware for events, rather than relying on interrupts. That would simplify designs marvelously.
Chelloveck
I give up on debugging. From now on, SIGSEGV is a feature.
Maybe a better question is why Linux broke out of the "toy" os niche.
Then you would have better insight as to why there might be a next os to break out of the "toy" niche.
If another os does go from "toy" to "mainstream", then it will likely be because it addresses some real or perceived shortcomming in the range of presently available OS choices. Please don't misinterpret me. It's not that I wish to get modded down for suggesting that Linux isn't absolutely perfect in every conceivable way. I merely suggest that you re-read my first two sentences above.
Eventually Linux's age will show. It won't be as nimble at adapting to technological innovation. An ever growing monolithic kernel could eventually lead to either: [1] instability or [2] slowdown in development in order to maintain stability of a growing code base. [This prospectus contains forward looking statements, blah, blah, blah.]
Other approaches could become more attractive, or less objectionable. For example, ever increasing hardware speed can be a great compensator for a more abstract, less efficient, but easier to grow design approaches.
What I'm saying is that there is a huge inertia to overcome for a new os to go mainstream. The new approach must solve a problem that people want solved. (ala Linux vs. MS) Otherwise, people aren't motivated to change and the newcommer remains niche. And as in the free vs. ms choice, the problem to be overcome is not necesseraily or purely a technical problem.
Those who would give up liberty in exchange for security and DRM should switch to Microsoft Palladium!
Add Lunix to your c64 and something listening on port 80 then basicly alll there's left is to duck and cover =))
yush
One successful project that wasn't mentioned is FreeDOS, a free reimplementation of DOS. Unlike the others it already has a huge amount of software written for it. Still beta though.
-- Ed Avis ed@membled.com
I like EROS's idea of having no filesystem. A hard disk is the permanent memory map, and regulary memory is just cache for it.
That was actually an idea that originated in MULTICS. Unfortuantely for MULTICS, most of the devlopment companies pulled out leaving HoneyWell with the sucker. And HoneyWell managed to bungle their marketing to no end. As a result, there have only ever been a handful of MULTICS machines in existance.
Javascript + Nintendo DSi = DSiCade
It's very easy to discover why Linux broke out of the toy nitch -- it was the only Unix-like operating system which ran modern programs and didn't cost thousands of dollars. Furthermore, Microsoft and IBM were hamhanding the 32-bit transition.
(If the BSD lawsuit was settled a year earlier, or if OS/2 had shipped for the i386 instead of the i286, Linux probably would have stayed a toy.)
The problem is that you don't get that sort of market opportunity every day. It was just a historical circumstance that there was this huge demand for a cheap Unix and vendors that were not willing to provide one.
As anyone who works on systems from day to day knows... as much as I don't like it, each system has strengths and weaknesses.
Linux is a fantastic system for serving web content and doing databases and back end systems stuff
Microsoft, like it or not, has made a desktop and whether by fair play or not, taught most of the world to use it.
Macintosh has incredible strengths in the graphic design world. They have found a way to get the desktop out of the way of creativity.
BSD has great strengths in virtual host setups (down to splitting the processor / memory usage).
Each OS has a strength, the key to a good system is using the *best* tool for a given job and not buying into one system that does it all.
I love Linux and am an advocate for open source. I run Linux machines, but I also run Windows Machines because there are tasks that are easier on each. Both OS's have a place.
Just as there are many styles of education and learning, so too are there different ways of approaching the problem of the desktop. By having choices, we are enabled to choose what works best for our style. Otherwise, you folks running Themes wouldn't bother changing the defaults.
Nitch OS's have a place too... and thank's to the devoted masses who keep their missions alive, we all benefit from them, even if other companies lay off their work force or swallow them whole.
Because of visionaries discovering a great way to do something the collective pool benifits.
AF-Design, web development.
I don't understand why there are so many niche operating systems that aren't acting like a niche operating system. If someone is going to write a niche operating system, I think it would more beneficial to make it specialized and make operating systems for things that people will use one computer for. Someone should make MySQL into an operating system for example, then it could take full advantage of all hardware available. Many people dedicate whole computers to DB's and Webservers and such anyway, why not just take it to the next level?
This Wiki Feeds You TV and Anime - vidwiki.org
Spring from SunLabs combined the efficiency of Unix with the extensibility of Plan 9 (and then some), and added in some nice features like single-system-image clustering (which, like all other features, was eventually hacked into Linux in the form of Mosix).
No genius. The kernel handles the interrupts from the hardware delivers I/O events to user space via a queue. The program can come along and deal with the I/O events whenever it gets around to it.
The kernel is the RIGHT place for asynchronicity, because we definitely know what is happening when we get an interrupt on platform X. When programming in user space, who needs to deal with your program suddenly and unexpectedly jumping to a signal handler? You have NO idea where you are in the control flow. It's a stupid design, exacerbated by the non-uniform way different platforms deal with signals during system calls.
What would this standard API look like? POSIX sucks, but if the standard API was non-Unix-y, then Unix wouldn't be able to efficiently support it. Trying to put a common API on top of very different architectures would just be a mess.
Right. And you should poll the hardware for events, rather than relying on interrupts. That would simplify designs marvelously.
<smartass> Actually in the embedded world sometimes polled is better because it's cheaper than making sure that the external interrupt sources are rate-limited or otherwise "clean". We just came across this in one of our designs. Interrupts were peachy-keen until it left the lab.</smartass>
Modern Operating Systems
Linux Kernel Internals Unix Kernel Internals is better but I couldn't find a link
C Programming Language -- you gotta have the bible
These aren't nearly enoguh resources, but they're a good start. Of course if you just want your own UI it depends on what you want. You can write your own window managers ect for X or you can use
"Cracking Shells" in Unix Programming to give you a jump start on writing your own shell which is not a bad little project. Of course in order to build your own shell you'll probably want to have a scripting language tied to it so make sure to pick up the Dragon Book.
I'm the big fish in the big pond bitch.
Maybe this is unhealthy nostalgia on my part, but remember the Freedows operating system? Apart from at least one personality involved, it sounded like an interesting idea. I wonder if it's still percolating in somebody's basement or if it'll ever get dusted off and looked at afresh. The Alliance OS project was going to use the same cache-kernel technology, but it apparently hasn't budged either.
"How many light bulbs does it take to change a person?" --BMcC-->
There's actually a book, Design and Implement Your Own 32 Bit Operating System, I believe.
Out of print, but I've got a copy. If you can find it, buy it. It's really quite neat.
--- Jump!! Fire!! Bullet time!! - Lego version of the Matrix
The Canon Cat, created by macintosh creator Jef Raskin after he left apple, had an OS written in Forth (and also a forth interpreter you could access). It was kind of a neat machine in that it didn't have a concept of files. The entire state of the machine, user data and all, was put onto a 720k floppy disk, sort of like the OppcOS mentioned in article. I have a cannon cat and it actually is quite a joy to work with. Some of the UI ideas implemented in the Cat are still light years ahead of OS's that run on today's machines, and they work suprisingly well even at the Cat's 5Mhz clock speed.
MQ and JMS are way, way heavier than what I'm talking about. The kernel is just delivering a message to a program, and there are a finite number of messages to be deliveres, for example:
The mouse has moved
Async read on FD n is complete
Async write on FD n is complete
FD n is ready for more data
FD n has closed
There kernel only delivers "The mouse has moved" once between times that the program pays attention to it. The program sees "The mouse has moved" and calls some code to get the mouse position.
So, we're talking about something really tiny like struct event of a few bytes at most, delivered not all that often.
I use freedos sometimes. When I do bios updates or flash my DVD-Players, I boot from a freedos floppy. No MS for me.
Did you know how hard Win ME makes it to create a decent boot disk for flashing, Geeze. I tried to patch the DVD player of my girl-friend and had to try lots of stuff to get into dos mode.
So now I live in a 100% OpenSource World. linux & freedos.
Moritz
Unix + "Crisp, sharp, graphics" = Crispix.
I mean no disrespect to the creator(s) of SkyOS, but at least they should have been creative with their icon design. See what I mean?
"Who cares about MS as a threat?"
Every computer manufacturer does that's who. Could Dell, gateway, compaq, ibm or anybody else afford to lose the ability sell PCs with windows on it? Of course not. That's what MS threatened them with. If you pre-install BEOS (or even netscape) then we will yank your licence and you will have to sell your PCs without windows.
War is necrophilia.
That's awfully noble of you! Do you avoid Wal Mart because they put small companies, local buisinesses, etc. out of business? Do you avoid driving because of the evil automobile corporations that pollute our planet? Do you make your own clothes because your sick of selling out to corporate clothes companies?
Answers in order:Yes. As much as possable (it's not easy!). And no but I do avoid the worst of the lot.
It is quite difficult, but carrying the alternative to it's natural conclusion would result in the destruction of civilization (almost by definition).
What you speak of is called the "Win32 API". Don't blame Microsoft, they fully support it.
You must be kidding! MS can't even manage to implement their own API consistantly between versions of their own operating system. Not to mention that the API itself is a mess.