Volker Armin Hemmann ha scritto:
there are many shells. sh, bash, bsh. korn, csh, zsh, dash, tcsh, .... why
make a new one, if you can do incredible stuff with zsh? A shell is not so
easy to create.
I understand. I wondered if *conceptually new* shells were
present.That's why I thought about the Powershell, as an example.
A new kernel is not so hard to do. The problem are the drivers - and all the
quirks. It is one thing to write a little task scheduler for your little pet
project, but if it crashs constantly it becomes a bitch to fight through all
the errata. But at the beginning a simple kernel is much easier to do than
stuff that runs on it (simple is the important work. A non-simple kernel is
very hard).
Well, I've never done kernel programming, but I have always been under
the impression it is among the hardest programming stuff you can do,
even if only for the hardware knowledge and debugging troubles it gives...
Another thing are libcs. A libc is a bitch. Luckily there is a whole bunch to
choose from. glibc, bsd's libc, uclibc, dietlibc, ... so why re-invent the
wheel?
For libc, yes, I agree.
Or look at X. X is horrible. A convoluted mess of grown cruft and standards
to hold the pile together. But where is the replacement? Fiasco/Berlin?
failed. Y-window? failed. Because X works good enough. And if you aren't
writing toolkits or apps using xlib directly, you don't need to care about
most of the stuff.
So hobbyist concentrate on the easy stuff - and a userland is not easy.
Userland is not boring - it is very hard. And the best userland doesn't help
you if no 3rd party software runs on it.
But projects like Haiku and ReactOS created also most of userland from
scratch, not only the kernels. They had the advantage of taking
inspiration from existing OSes but they actually did the implementation.
Also, SkyOS or Syllable did it, AFAIK.
So I can rephrase my question as those two:
Why didn't those projects use the Linux kernel?
Are there similar projects using the Linux kernel?
m.