Avoiding OS Myopia, or what's the strangest OS you know?

Discussions on more advanced topics such as monolithic vs micro-kernels, transactional memory models, and paging vs segmentation should go here. Use this forum to expand and improve the wiki!
krfkeith
Posts: 3
Joined: Fri Jun 06, 2014 10:11 am

Avoiding OS Myopia, or what's the strangest OS you know?

Post by krfkeith »

So, cliche as it may be, I think we've all had those "gotcha" moments in programming, where, when exploring a new language, be it Lisp, Prolog, Haskell, etc, our proverbial minds are "blown." For me, learning about functional programming completely changed my understanding of what it means to write a program, and what exactly a program is to begin with.


Unfortunately, probably due to being a much less obscure activity, there doesn't seem to be any equivalent list (I know of) in the OSDev world, of OSes to "blow your mind." There is somewhat (vast understatement) of a monoculture surrounding UNIX, even in the academic world, and even rather well educated people seem to think that the UNIX was not simply the best way to do things, but the only way. This is not to say that OSes like UNIX are in anyway bad, but at the same time, it's always a good idea to try and avoid myopia. And to be clear, I'm not saying that UNIX is popular by no merit of it's own, I think there is definitely a reason why the UNIX style has come to be so universal. Nevertheless, my ultimate goal in OSDeving is to have fun, explore, and if I'm lucky, learn something on the way, in roughly that order. So in short, what I want to know is what are, in your opinions, the most bizarre, out-there, off-the-wall OS designs? Obviously, sometimes there's a reason things are done a certain way, but seeing WHY this is, and examples of failures to try and do things differently can be incredibly enlightening. Anyway, yeah, right now, the most 'unusual' (for me) design I've been reading about has been capability based OSes, in particular the J. Shapiro family of OSes. I've also been really amazed by IBM's OS/400 (even with its, ehm, more "unusual" features).

Really interested to hear everyone's responses!
onlyonemac
Member
Member
Posts: 1146
Joined: Sat Mar 01, 2014 2:59 pm

Re: Avoiding OS Myopia, or what's the strangest OS you know?

Post by onlyonemac »

I found that Solar OS was quite unusual in some ways, particularly in its strictly hierarchical structure of widgets (that big button in the desktop window) and the way that every process has exactly one window of its own, and the window is strictly linked to the process.

My OS is stranger: it's a text-mode GUI with "multitasking" where only the foreground task is permitted to run, and when you change process halfway through bleeping out a computer chip tune then you get a stuck note until the resume the suspended process (unless of course the second process is playing another tune).
When you start writing an OS you do the minimum possible to get the x86 processor in a usable state, then you try to get as far away from it as possible.

Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
User avatar
AndrewAPrice
Member
Member
Posts: 2299
Joined: Mon Jun 05, 2006 11:00 pm
Location: USA (and Australia)

Re: Avoiding OS Myopia, or what's the strangest OS you know?

Post by AndrewAPrice »

Some are:
Plan 9 from Bell Labs - it was planned to be the successor of UNIX.
Inferno - Attempted to be universally cross platform by being a low-level VM, came with it's own language.
Oberon - Experimental UI, also was simultaneously developed with and in a language that shares the same name.
MenuetOS - Amazing graphical OS written in assembly that still fits on a floppy. Games, networking, video, TV tuners!
Syllable - Incredibly advanced graphical OS that descended from the old AtheOS.
SkyOS - Now discontinued, by one man's incredibly advanced graphical OS.
BeOS - The first alternative OS I ever used on my PC. It came as on a CD attached to a PC Magazine when I was younger.
My OS is Perception.
User avatar
AndrewAPrice
Member
Member
Posts: 2299
Joined: Mon Jun 05, 2006 11:00 pm
Location: USA (and Australia)

Re: Avoiding OS Myopia, or what's the strangest OS you know?

Post by AndrewAPrice »

onlyonemac wrote:My OS is stranger: it's a text-mode GUI with "multitasking" where only the foreground task is permitted to run, and when you change process halfway through bleeping out a computer chip tune then you get a stuck note until the resume the suspended process (unless of course the second process is playing another tune).
That's quite a nice feature - even in a graphical windowing OS - only allow the focused application to run, unless an application has been given explicit permission to be allowed to execute in the background (such as an application that downloads/syncs, or you want a movie playing in an unfocused window). No more spyware or process hogs!
My OS is Perception.
User avatar
Rusky
Member
Member
Posts: 792
Joined: Wed Jan 06, 2010 7:07 pm

Re: Avoiding OS Myopia, or what's the strangest OS you know?

Post by Rusky »

Another interesting kernel design is MIT's exokernel- rather than moving everything into user-space processes and giving those processes the same permissions they would use in a monolithic kernel, it protects the hardware at a lower level (e.g. disk blocks rather than files) and lets applications use libraries to provide the usual higher-level abstractions.
User avatar
sortie
Member
Member
Posts: 931
Joined: Wed Mar 21, 2012 3:01 pm
Libera.chat IRC: sortie

Re: Avoiding OS Myopia, or what's the strangest OS you know?

Post by sortie »

I did some experiments with building the strangest GUI possible in my April 2013 - April 2014 release cycle: http://forum.osdev.org/viewtopic.php?f=2&t=27884 - Although from a technical point of view, this was bolted onto a Unix system due to time and effort constraints. This would certainly qualify as being the strangest GUI from a regular user's point of view (that isn't a wall of console text).
OSwhatever
Member
Member
Posts: 595
Joined: Mon Jul 05, 2010 4:15 pm

Re: Avoiding OS Myopia, or what's the strangest OS you know?

Post by OSwhatever »

krfkeith wrote:Unfortunately, probably due to being a much less obscure activity, there doesn't seem to be any equivalent list (I know of) in the OSDev world, of OSes to "blow your mind." There is somewhat (vast understatement) of a monoculture surrounding UNIX, even in the academic world, and even rather well educated people seem to think that the UNIX was not simply the best way to do things, but the only way. This is not to say that OSes like UNIX are in anyway bad, but at the same time, it's always a good idea to try and avoid myopia.
If some people here had their way with the legislation, they would have outlawed any OS research and make illegal to question the UNIX/POSIX standard. Some Linux nerds think that Linus Torvalds is some kind of a god and live happily in their UNIX world with a green colored text terminal.

Even if many university OS projects tends to mimic UNIX, many of them are just emulating it them because they can port their test programs more easily. L4 for example is a UNIX OS but at the same isn't. It's a microkernel OS where the UNIX stuff is more or less thrown outside the kernel.

If we are going to take new OS designs to a new level, I think we also need to do some research how we describe a program. Most operating system are made for programs written in C/C++ but that's not necessary which we have seen with Singularity and Phantom OS. There seems to be a huge gap with what you can create in HW today and what you can describe in SW.
embryo

Re: Avoiding OS Myopia, or what's the strangest OS you know?

Post by embryo »

krfkeith wrote:There is somewhat (vast understatement) of a monoculture surrounding UNIX, even in the academic world, and even rather well educated people seem to think that the UNIX was not simply the best way to do things, but the only way
It is really the only way people can be creative and productive at the same time. To be creative people need knowledge, the open source gives the knowledge. To be productive people need a lot of programs, the UNIX world gives them a lot of programs. There's no more OS that can give such a vast quantity of programs and knowledge. Windows and other proprietaries are much more obscure because of closed source and corporate goals.

As for me the viable alternative is open source Java OS with a vast array of existing Java applications. But it's still in it's embryo state.
krfkeith wrote:Obviously, sometimes there's a reason things are done a certain way, but seeing WHY this is, and examples of failures to try and do things differently can be incredibly enlightening.
There's a bit about WHY in the description part.
embryo

Re: Avoiding OS Myopia, or what's the strangest OS you know?

Post by embryo »

MessiahAndrw wrote:only allow the focused application to run, unless an application has been given explicit permission to be allowed to execute in the background (such as an application that downloads/syncs, or you want a movie playing in an unfocused window). No more spyware or process hogs!
If user wants some kind of job to be done and has closed source program - how it is possible to be sure, that while being granted run permission, the program would not install a spyware? And of course, the spyware will be installed within another program with the run permission.
embryo

Re: Avoiding OS Myopia, or what's the strangest OS you know?

Post by embryo »

OSwhatever wrote:There seems to be a huge gap with what you can create in HW today and what you can describe in SW.
There's no gap. There's just old plain legacy. You can describe anything in software or in hardware, but after it's done you still need to get to the market. And the market has a very huge legacy, which will prevent your design from being successful (unless you have a lot of money, of course).
OSwhatever
Member
Member
Posts: 595
Joined: Mon Jul 05, 2010 4:15 pm

Re: Avoiding OS Myopia, or what's the strangest OS you know?

Post by OSwhatever »

embryo wrote:There's no gap. There's just old plain legacy. You can describe anything in software or in hardware, but after it's done you still need to get to the market. And the market has a very huge legacy, which will prevent your design from being successful (unless you have a lot of money, of course).
You don't make any difference between people who make an OS for experimenting and people who are making a commercial OS, do you?
krfkeith
Posts: 3
Joined: Fri Jun 06, 2014 10:11 am

Re: Avoiding OS Myopia, or what's the strangest OS you know?

Post by krfkeith »

embryo wrote: It is really the only way people can be creative and productive at the same time. To be creative people need knowledge, the open source gives the knowledge. To be productive people need a lot of programs, the UNIX world gives them a lot of programs. There's no more OS that can give such a vast quantity of programs and knowledge. Windows and other proprietaries are much more obscure because of closed source and corporate goals.
No, no, I definitely agree. I guess I should have been more clear. What I mean is that, with respect to the research, theory, etc. of OSes, there is this sort idea floating around that the creation of UNIX ending the discussion on how one might design an OS. My point is similar to Rob Pike's in Systems Software Research is Irrelevant, mainly that no one (not many anyway) seems to be interested in exploring new things.
User avatar
AndrewAPrice
Member
Member
Posts: 2299
Joined: Mon Jun 05, 2006 11:00 pm
Location: USA (and Australia)

Re: Avoiding OS Myopia, or what's the strangest OS you know?

Post by AndrewAPrice »

krfkeith wrote:My point is similar to Rob Pike's in Systems Software Research is Irrelevant, mainly that no one (not many anyway) seems to be interested in exploring new things.
However, many of us are. You are showing you are, I am, and many others on this forum start their design from scratch ignoring UNIX customs.

But I do agree with you that many people have the goal of having a system where they can port bash and GCC effectively creating a system which acts very similiar to UNIX, even if the underling kernel code differs.
My OS is Perception.
embryo

Re: Avoiding OS Myopia, or what's the strangest OS you know?

Post by embryo »

OSwhatever wrote:You don't make any difference between people who make an OS for experimenting and people who are making a commercial OS, do you?
Well, what kind of gap prevents you from learning verilog and having fun with hardware design? Where is the commercial part here?

The freedom is here, if you have time to experiment with OS, then you have everything to fill any gap. Except funding, of course.
embryo

Re: Avoiding OS Myopia, or what's the strangest OS you know?

Post by embryo »

krfkeith wrote:What I mean is that, with respect to the research, theory, etc. of OSes, there is this sort idea floating around that the creation of UNIX ending the discussion on how one might design an OS.
Yes, you've got the idea, but the idea has it's base in the order of things in this world. It is important to understand the order of things, then you will not wonder any more when meet with UNIX limit. Now just isn't the right time to see some diversity in the OS design area. May be future will bring us more appropriate time. But we can speak about new world and make it closer a bit.
Post Reply