Modern operating systems like windows and linux were created decades ago, and throughout their history, they accumulated a lot of legacy and issues related to them. The main problem is backwards compatibilty. It is impossible to make major changes to the system components which could actually improve the system, because doing so would break countless of software which rely on that specific behaviour. Also, while the design architecture of those systems was very clever decades ago, it might be unefficient by modern technologies and system design philosifies. Of course changing the system architecture at this point is obviously not possible.

So what if a new fully-featured operating system was created today from scratch, with modern software and hardware technologies in mind. How could it compare to the existing systems in terms of design architecture efficiency, performance, security, user and developer experience, etc? What would be the main differentiating features of this hypotetical system? What would be the main drawbacks of it compared to old systems, not counting lack of backwards compatibility with old hardware and software, and lack of widespread adoption amongst users and developers?

  • Onomatopoeia@lemmy.cafe
    link
    fedilink
    English
    arrow-up
    5
    ·
    edit-2
    19 hours ago

    Backwards compatibility is a pretty limited problem - I have lots of Windows software that simply won’t run at all on current versions. I have to run them in a VM of the appropriate windows version.

    UNIX really established the baseline for what we think of as the foundational operating system, and Linux took that concept another step forward.

    It provides the most basic hardware interface required for constructing an OS. Which is why there are so many Linux distros today - you can build as minimal an OS as required for your use-case.

    Could someone come up with a different OS approach at the kernel layer? Sure, but I believe that would require a different hardware approach - which we already see with just ARM processors. ARM and x86 require uniquely compiled kernels because the hardware is fundamentally different (same with RISC).

    After the kernel and getting to what most of us think of with an OS is really just UI - how a user interacts with the system and conceptualizes it. We’ve pretty well standardized on storage space concepts (drives/folders etc) data stores (databases, etc), and all the rest. To use a different paradigm would take a massive change.

    Microsoft experimented with the Memex concept with their My Life Bits research, even built a version of Windows to treat the entirety of its storage as a massive database. It worked, but it had performance problems (late 90’s) and users weren’t quite ready for it.

    Instead we have cloud today, which is essentially pushing the same concepts of abstraction - new users today think less about where stuff is stored, instead think about asking the system to find something (MS Cloud stuff is how they ended up imolementing the My Life Bits research).

    So in a way we’re already seeing a change in how operating systems are perceived by the typical user. Mobile really drives this with limited screen space, limited storage, and apps as the representatives of user data. I hate it.