Operating systems

pexels-anete-lusina-5239703.jpg

Is our software built on the right foundations today?

This is written from a very programmer-centric view, but I think there may be a few ideas that are relevant to everyone. I’ve been thinking about the properties of operating systems, and how often it seems that a great deal of the complexity we see in software is unnecessary. I often have the feeling that solutions to problems are pasted over the top of existing software, and that the lower layers are unnecessarily creating these problems. For example, when saving a file it’s easy for corruption to occur if the program crashes while saving. The interface for reading and writing files is fraught with problems, which every program then needs to independently solve (and most don’t, leaving themselves open to data loss.) Websites have offered a new view of what computers can be. They’re more abstract and have a more standardised structure for pages and apps. However, websites as they are today are an easy target for criticism. JavaScript, HTML and CSS are all well known as a mess requiring endless kludges and workarounds. Websites feel flimsy, unreliable and very slow.

I wonder if an operating system built from the perspective of today could be? Compared to thirty years ago or more* we know far more today about our needs. Our needs and expectations on privacy, security, communication, data, and software interfaces for humans have changed a great deal. Would operating systems be the same if their design factored these in? Perhaps “worse“ is better for operating systems? Do the current operating systems give the right balance between flexibility and our other needs?

*This is just my opinion that operating systems haven’t changed a great deal since Unix, Windows, Mac, etc. were created.

Previous
Previous

Files and directories

Next
Next

Programming then and now