Open questions in OS design?
Posted: Mon Dec 08, 2008 10:41 pm
I've been reading the postings on this forum for little while now and it seems to be a lot of the same:
-non-developers making outlandish, uneducated, and irrelevant comments (Like this guy)
-developers (I'm taking their word for it) who haven't passed basic algebra yet and want to tackle some calc problems (Like this guy)
-os dev hobbyists looking for information on interfacing with some piece of hardware, help with accomplishing some basic kernel feature (memory management, process management, etc), or otherwise seeking help with standard more-or-less-cookie-cutter-os-design implementation details (which I'm assuming is really 1/2 of the board's legitimate purpose).
-os dev hobbyists looking to tweak some standard component of their os to function in a "new" way, but ultimately not really solving any real world problems, making any earth-shattering discoveries, or really doing anything you couldn't accomplish in user land (Like this guy) Which I'm not trying to diminish because I think if he phrased this comments differently, and sold them as hard as MS sold their WinFS pie-in-the-sky idea, he would have gotten more attention.
-and os dev hobyists looking for some completely new concepts in os design (Singularity et al).
I don't get particularly thrilled by emulating existing systems I can't improve upon (not to mention have the time to take to completion), and wouldn't have any interest in actually developing an os if I didn't think I could "bring something to the party" so to speak. And while I can't speak for anyone else, I have a feeling a lot of people come here initially feeling the same way. So with the exception of the people coming here who never have and never will make their own os, I think what we're all really interested in is: what's the next big thing?
So my question is this: what do you think are the major open questions in os design?
Are any major advancements at this point going to have to occur in the hardware arena? Is our job just to keep up with the advancement in hardware design (better support for multi-processor, etc)?
Why does it seem to me like the most important part of an os seems to be largely ignored: the system api?
What do you think about systems with managed memory paradigms? While this seem to me to have a lot of promise for making existing systems more stable and easier to develop for does it really get us anywhere?
Is the blossoming multi-core era our next big challenge?
What criteria would you use to evaluate what an "advancement" is?
Are computers, as they exist, with our ability to control their basic functions (as we do today) sufficient and "good enough" for what we need?
It also seems like the chicken and the egg problem; people didn't really "need" personal computers until they were first developed, and then largely until they became widespread and ubiquitous; at which point people found reasons to need them (to improve their business processes, write term papers without white-out, etc) (or, more accurately, people found good ways to sell them). When the relay was invented no one thought it (and it's decendents) would become the basis of the modern computer, or invisioned what that would mean for society. Will we have to wait for 10 years after the next major breakthrough before we even realize it happened?
I'm interested to see if this will spawn any sort of discussion, and what everyone will have to say about it.
Thanks
-non-developers making outlandish, uneducated, and irrelevant comments (Like this guy)
-developers (I'm taking their word for it) who haven't passed basic algebra yet and want to tackle some calc problems (Like this guy)
-os dev hobbyists looking for information on interfacing with some piece of hardware, help with accomplishing some basic kernel feature (memory management, process management, etc), or otherwise seeking help with standard more-or-less-cookie-cutter-os-design implementation details (which I'm assuming is really 1/2 of the board's legitimate purpose).
-os dev hobbyists looking to tweak some standard component of their os to function in a "new" way, but ultimately not really solving any real world problems, making any earth-shattering discoveries, or really doing anything you couldn't accomplish in user land (Like this guy) Which I'm not trying to diminish because I think if he phrased this comments differently, and sold them as hard as MS sold their WinFS pie-in-the-sky idea, he would have gotten more attention.
-and os dev hobyists looking for some completely new concepts in os design (Singularity et al).
I don't get particularly thrilled by emulating existing systems I can't improve upon (not to mention have the time to take to completion), and wouldn't have any interest in actually developing an os if I didn't think I could "bring something to the party" so to speak. And while I can't speak for anyone else, I have a feeling a lot of people come here initially feeling the same way. So with the exception of the people coming here who never have and never will make their own os, I think what we're all really interested in is: what's the next big thing?
So my question is this: what do you think are the major open questions in os design?
Are any major advancements at this point going to have to occur in the hardware arena? Is our job just to keep up with the advancement in hardware design (better support for multi-processor, etc)?
Why does it seem to me like the most important part of an os seems to be largely ignored: the system api?
What do you think about systems with managed memory paradigms? While this seem to me to have a lot of promise for making existing systems more stable and easier to develop for does it really get us anywhere?
Is the blossoming multi-core era our next big challenge?
What criteria would you use to evaluate what an "advancement" is?
Are computers, as they exist, with our ability to control their basic functions (as we do today) sufficient and "good enough" for what we need?
It also seems like the chicken and the egg problem; people didn't really "need" personal computers until they were first developed, and then largely until they became widespread and ubiquitous; at which point people found reasons to need them (to improve their business processes, write term papers without white-out, etc) (or, more accurately, people found good ways to sell them). When the relay was invented no one thought it (and it's decendents) would become the basis of the modern computer, or invisioned what that would mean for society. Will we have to wait for 10 years after the next major breakthrough before we even realize it happened?
I'm interested to see if this will spawn any sort of discussion, and what everyone will have to say about it.
Thanks