Page 1 of 1
How would OSes evolve if they started today?
Posted: Sat May 19, 2012 4:00 am
by ColdIron
I have been following this forum and associated wiki off and on for a while now and have been working on ideas and code for my own hobby OS as many of you.
But, I was just reading a thread post from AnoHito about "Why I don't like files" and it got me thinking. If there was no legacy code to support and we have modern hardware and knowledge to base everything off of, what would be different and why? Everything is on the table.
Re: How would OSes evolve if they started today?
Posted: Sat May 19, 2012 4:45 am
by Combuster
The world would still want having a replacement for the paper forms they have in their office. So the paying people demand that we end up with... (drumroll) files!
Re: How would OSes evolve if they started today?
Posted: Sat May 19, 2012 4:55 am
by ColdIron
Combuster wrote:The world would still want having a replacement for the paper forms they have in their office. So the paying people demand that we end up with... (drumroll) files!
but would they end up like the files as we know them in popular OSes?
Re: How would OSes evolve if they started today?
Posted: Sat May 19, 2012 5:28 am
by iansjack
A "file" is just a way of identifying a particular piece of information. You need some handle to apply when you want to retrieve that information. A name is as good a handle as any.
How that is processed internally to retrieve the information is another matter. Big computers don't necessarily work with the concept of files as we understand them; information an be stored as "objects" in a database (OS/400, for example). (But, in reality, that's all a file system is; a sort of databse.) When it comes to moving information between systems, sometimes disparate, simple flat files are a good solution. And they work well for most everyday processes.
How would you propose telling the OS what information you want to retrieve other than giving it a name? The manner that the OS deals with that name internally is irrelevant. And a hierarchical system of classifying those names makes life simpler. Think about the way that flora and fauna are classified; without a hierarchy it would just be a mess.
Re: How would OSes evolve if they started today?
Posted: Sat May 19, 2012 5:54 am
by ColdIron
iansjack wrote:How would you propose telling the OS what information you want to retrieve other than giving it a name? The manner that the OS deals with that name internally is irrelevant. And a hierarchical system of classifying those names makes life simpler. Think about the way that flora and fauna are classified; without a hierarchy it would just be a mess.
What if you take the approach of files having descriptors? In a similar way that files in popular OSes commonly use extensions. For example, let's say I have a program that does word processing. Instead of only having a name and possibly an extension that declares it to be an executable file, what if it had a name and the tags executable, office suite, word processor, etc? If you use an unfamiliar computer running this OS you could simply search for word processor on it and it would give you your options. You wouldn't need to know where the word processor is even.
Another example could be for image files. Instead of a file simply being called carl.tiff, it could have additional tags like image, raster, friends, people, whatever you want. So, if you want to look up all the files you have about your friends, you could just search for friends.
In a hierarchical directory structure you can categorize files in one way for the most part. If you wanted a list of all your images you would have a images directory. If you want all the files dealing with your friend Carl though, do you have a Carl directory? and if so where do images of Carl go? and so on.
Re: How would OSes evolve if they started today?
Posted: Sat May 19, 2012 6:28 am
by iansjack
Most modern, and even not so modern, OSs already allow you to store additional attributes with files. It's more a function of the user programs, or even the program loader, as to how to interpret this information, not the OS itself.
Soft links, already present in most OSs, allow you to create different hierarchies including the same files, if you wish. Again, modern OSs are making these facilites easier to use (particulalry searching for files by information other than by name) but these are enhancements of the file paradigm rather than replacing it.
File systems, and the whole "file" concept, are being refined all the time but this is evolution rather than revolution. I think the answer to your original question is that if OSs were starting from scratch today they would evolve in a very similar manner; it would just take a little longer to get there.
Re: How would OSes evolve if they started today?
Posted: Sat May 19, 2012 6:34 am
by Brendan
Hi,
ColdIron wrote:If there was no legacy code to support and we have modern hardware and knowledge to base everything off of, what would be different and why? Everything is on the table.
When everything is on the table, things like file formats, network protocols and programming languages would also be strong candidates for "different".
There's no way to predict how the end result might look or why it might end up like it might - there's too many possibilities and choices, and too many different opinions about each of the possibilities/choices.
Cheers,
Brendan
Re: How would OSes evolve if they started today?
Posted: Sat May 19, 2012 6:46 am
by OSwhatever
One trend I've seen is that more and more drivers and services are moved to user space. This is a progress that has happened to both Windows and Linux.
Re: How would OSes evolve if they started today?
Posted: Sat May 19, 2012 7:00 am
by ColdIron
iansjack wrote:Most modern, and even not so modern, OSs already allow you to store additional attributes with files. It's more a function of the user programs, or even the program loader, as to how to interpret this information, not the OS itself.
Soft links, already present in most OSs, allow you to create different hierarchies including the same files, if you wish. Again, modern OSs are making these facilites easier to use (particulalry searching for files by information other than by name) but these are enhancements of the file paradigm rather than replacing it.
File systems, and the whole "file" concept, are being refined all the time but this is evolution rather than revolution. I think the answer to your original question is that if OSs were starting from scratch today they would evolve in a very similar manner; it would just take a little longer to get there.
I do not recall saying that the method I described couldn't be simulated with existing method or that the file paradigm would be replaced. My main point was what if instead of having a directory structure, you would search for files using tags as the main way of accessing data. The reason I brought it up as an idea was in fact because modern OSes are starting to do this. In reference to the soft link idea, the data would still need a "home" that the soft links refer to. In the concept that I mentioned, the files would merely exist where they need to be. If you delete the file, all the links go with it.
Also I know people that get to websites primarily by typing the site name into Google even though they could type in a URL.
Re: How would OSes evolve if they started today?
Posted: Sun May 20, 2012 5:00 am
by iansjack
People do go to websites by typing into Google. People also find documents on their PCs by using Windows Search or on their Macs by using Spotlight. Some people find websites by using a list of bookmarks; and they open documents by using recently used lists. But all these are built upon a foundation; in the web case this is URLs, which in turn are built on dotted quad IP addresses.
You need those lower-level frameworks, and sometimes it's useful to be able to access them directly. I wouldn't use Google, or even DNS, to access the web-based configuration page on my router; I just type "192.168.1.254" into the address bar. And if I want to edit a source file for my OS I don't use some sort of search engine to find it. I use the nice structured hierarchy of dictionaries and files that I have created. Those lower levels are sometimes useful and sometimes essential. So I like an OS that is based around a simple structure of directories and files and builds higher levels of structure on that through user programs. It's a model that has served us well and I wouldn't want to throw it away until I am convinced that there is an alternative that is easier to use and/or more efficient.
But, this is a site for people creating their own OS, so don't feel constrained by prior art, compatibility, or what other people say. If you don't like files then design and implement an OS that doesn't use the file paradigm. And please post a link to it as I would be interested to see the result.