Linked by Thom Holwerda on Sat 15th May 2010 19:23 UTC
OSNews, Generic OSes There's one complaint we here at OSNews get thrown in our faces quite often: what's up with the lack of, you know, operating system news on OSNews? Why so much mobile phone news? Why so much talk of H264, HTML5, and Flash? Where's the juicy news on tomorrow's operating systems? Since it's weekend, I might as well explain why things are the way they are. Hint: it has nothing to do with a lack of willingness.
Permalink for comment 424930
To read all comments associated with this story, please click here.
RE[4]: Comment by mtzmtulivu
by Neolander on Sun 16th May 2010 18:08 UTC in reply to "RE[3]: Comment by mtzmtulivu"
Member since:

"UNIX ... was not designed with multitasking in mind at all"

Not sure where you heard this (or maybe the message is getting garbled in transit?). Unix was the unexpected offspring of Multics - both were essentially *mainframe* operating systems that were built from the ground up to not only multitask, but also to handle multiple users as well.

(as long as many other posts on the subject)

Yes, you're right, I've been going a bit too far in this part of my rant. What I had in mind was that...
1/You can *feel* that the UNIX family targeted people running one single task at a time on a dumb terminal. Example : run a CPU-intensive task in some kind of virtual terminal. Open a new tab or use Ctl+Alt+Fx and log in. Noticed how long it took for the shell to be ready ? Now run another CPU-intensive task in it, and try to open a new tab. Even slower. Notice that if you use an X11-based GUI, the whole UI becomes unresponsive. Try to run the CPU intensive task on the third tab. You can now go and do something else, the computer will be unresponsive to the point where it is unusable now. This was not an issue when people logged on a server with only one session at a time and ran only one program at a time. It's an issue for anything that's GUI-related.
2/Then, think about UNIX's traditional startup process : it runs a script shell, which then sequentially runs several tasks. If those tasks are IO-bound, the CPU will just wait for IO to complete. Many Linux distros are trying to get into parallel startup now, but they then have to get rid of the *huge* pack of script shells that are in use in the UNIX family.

Sure, UNIX knows how to put processes on multiple processors. If you ask for a new thread, it might even create a new one. But it's not optimized for people running multiple tasks, nor it's good at using multiple processes in its own code...

Writing a new OS is harder than you think - Gnu Hurd has been in development for 20 years now, and they still don't have a beta release. And that's with backing from a major organization, FSF, where the kernel is a pretty visible initiative.

But please don't let that discourage you. Linus Torvolds was a hobbyist once, too, but I hear his little project - "nothing big and professional like gnu" - has done OK. Yours can, too!

I know that it's hard. That's why I explained how small my chances of success are, and how long it'll take. After all, it's my third attempt. I already messed up two times. But this time, I have a good feeling. I feel like I have a global vision of what I want to do. I know where I go. I know where the information is. I've got some design doc around. Now it's just a matter of time... And as I said, it'll take at least 2 years till I get some usable GUI code (and probably 2 more years to complete the first GUI program in my roadmap, an IDE for making future development easier ^^)

Reply Parent Score: 1