Linked by Emmanuel Marty on Thu 2nd Sep 2004 07:36 UTC
OSNews, Generic OSes As a programmer and manager of embedded software products for a living, I think that operating system programming is so much fun that it will eventually be outlawed. I've previously published two articles on OSNews, So, you want to write an operating system and Climbing the kernel mountain, and tried to summarize my experience in designing operating system kernels as well as technical traps that can be easily avoided.
Permalink for comment
To read all comments associated with this story, please click here.
@ Mystilleef, de Selby
by Solar on Thu 2nd Sep 2004 15:48 UTC

@ de Selby:

> Just steal as much as you can. Reinvent as little
> as possible.

You blissfully assume that I consider the GPL a viable license for my own project, which I don't due to its restrictiveness.

> If you want something so different that you think
> you should just start from scratch, really look
> into an evolutionary approach.

Care to elaborate what you consider an "evolutionary approach"?

@ Mystilleef:

> It seems every alternative operating system is
> trying to achieve what the big three already have,
> perhaps with slight alterations and/or motivations.

Depends on what you call "slight".

> Name one alternative operating system that performs
> one function better than, say the big three, and I
> will name a million the big three does better than
> the alternative. Forgive my hyperbole.

That comes naturally with being one of the big three, now does it? If I knew an alternative that could stand up to the big three, we'd have big four, now would we? And perhaps I'd even be happy with #4 and not try to reinvent the wheel...

> ...but heavens sake, Linux and BSD have a better
> kernel than BeOS could ever dream of, at least
> today.

Again, depends. I consider the Windows kernel to be much superior for the end user since it doesn't force you to compile in support for XYZ and then compiling all drivers anew because the kernel ABI changed.

> Why not just use those already robust, stable and
> tested kernels?

Because several of the things I consider broken in Linux are directly related to the kernel - like, not allowing for C++ code, not allowing for binary drivers, and having to be configured and compiled by the user?

> You get an upsetting amount of drivers for free.

*If* you are willing to put up with the Linux way of drivers, since the guys at the helm so eloquently deny any development into the direction of platform-independent drivers, which they - heralding "freedom of choice!" - could push like nobody else...

> You get chances of easily porting must-have apps
> to your new project among other benefits.

*If* I am willing to put up with a POSIX API, *if* you consider the sh**load of yet-another-way-to-do-it Linux-ish tools and their broken command line syntax a benefit...

> Instead of tweaking, modifying stealing already
> existing, well tested, well (ab)used, stable "free"
> tools, but God forbid! they rewrite those too.

Not few of them because they consider the GPL to be a non-option - there goes the wonderful kernel code base you're referring to.

> I say name one alternative operating system that
> is doing something I can't do on the big three.

I don't really know where to begin. Proper addressing of removable storage devices, for instance (AmigaOS). System file names and directory structure understandable to mere mortals (again, AmigaOS). A system installation that is protected against rogue applications, properly seperates applications while allowing shared ressources, and allows clean uninstallation. (A concept in my own drawer.)

> By all means right your kernel from scratch, I
> just hope its an intellectual exercise and nothing
> more.

Actually, I re-focussed on writing tools and libs for OS developers that aren't so damn arrogant about assuming everything has to be POSIX, Linux, and / or GPL. My own OS project was scrapped because it was so very easy to find dozens of smartasses chanting "great ideas!" which fled once it got to doing real work.

> When the alternatives do something I can't do on
> the big three, perhaps then it might raise some
> heads.

I don't count on it, since Linux successfully squashed the tolerance for anything that isn't "free" and already does more than my-favourite-distro, regardless of what it might do *different*.

> Just don't tell me you can't recreate AmigaOS, BeOS,
> OS2, or whatever you were infatuated with back then
> with freely available tools and frameworks today.

AROS worked hard on trying to recreate AmigaOS with freely available tools and frameworks.

You are blissfully unaware of how *different* an OS can be. Linux - meaning the kernel - doesn't fit all flavours, period.

> Real men rewrite it from scratch, right?

I would very much have preferred some way that would have allowed me code reuse. You don't happen to know some framework that doesn't just assume you are comfortable with the GPL, Unix-style processes, Unix-style file structures, and Unix-style everything?

> Meh, I'm rambling.

Yes, you are. Then again, so am I. ;)