Jump to content

Why don't we have more choices when it comes to operating systems?

Hey, i know this may be something obvious but I have been thinking why dont we have more choices when it comes to Operating Systems. I know Windows/Linux/Apple are the most known but why hasnt anyone come up with something new or better? I am no coder so I'm probably just asking a question that has probably been answered or is already known. I currently use Ubuntu on my laptop due to it being less resource heavy, and Windows on my desktop.

Link to comment
Share on other sites

Link to post
Share on other sites

In very short: making an OS is difficult.

In a bit longer: It's reeeeeaaaaally difficult.

 

The current desktop operating systems still have their roots in the 90's, you could make the argument these operating systems are still based on DOS/FreeBSD/UNIX.

 

Their are of course more operating systems, including iOS, iPad OS and Android, but these are dedicated to a certain market of devices, or more specifically they work with certain types of CPU's.

"We're all in this together, might as well be friends" Tom, Toonami.

 

mini eLiXiVy: my open source 65% mechanical PCB, a build log, PCB anatomy and discussing open source licenses: https://linustechtips.com/topic/1366493-elixivy-a-65-mechanical-keyboard-build-log-pcb-anatomy-and-how-i-open-sourced-this-project/

 

mini_cardboard: a 4% keyboard build log and how keyboards workhttps://linustechtips.com/topic/1328547-mini_cardboard-a-4-keyboard-build-log-and-how-keyboards-work/

Link to comment
Share on other sites

Link to post
Share on other sites

There used to be a lot more variety but Microsoft pretty much forced all major commercial competitors out of the market. Apple survived because it didn't really directly compete with Microsoft at the time and Linux (and to a lesser extent *bsd) kind of stuck around thanks to a combination of community effort and server space presence. Making something new from scratch with comparable features to any of these major desktop operating systems would be effectively impossible now due to just how much work would be required - only some huge corporation like Google might have the resources to pull it off (and they're currently trying to with project fuchsia).

 

With that said there are other options, with varying levels of feature completeness. Most of them are either pet projects or tailored to very specific use cases. There's also a whole set of real time operating systems which target embedded systems and are not designed for desktop use.

Don't ask to ask, just ask... please 🤨

sudo chmod -R 000 /*

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, minibois said:

In very short: making an OS is difficult.

In a bit longer: It's reeeeeaaaaally difficult.

 

The current desktop operating systems still have their roots in the 90's, you could make the argument these operating systems are still based on DOS/FreeBSD/UNIX.

 

Their are of course more operating systems, including iOS, iPad OS and Android, but these are dedicated to a certain market of devices, or more specifically they work with certain types of CPU's.

Even those three you mentioned are not really original, iOS and iPadOS are forks of MacOS, and Android is Linux.

 

As for Fuchsia, this is a perfect example of how even such a monster as Google cannot really make their own OS completely from scratch and make it usable. My bet is that the project will simply be abandoned eventually.

 

And the main problem is the software support. There is this vicious circle where no one uses the new operating system because there is no software, and developers don't write software for the new OS because no one uses it. Even pumping billions in development won't work, as the example of Windows Phone showed.

Link to comment
Share on other sites

Link to post
Share on other sites

There are even ones that fundementally change how OS security is done like:

 

- seL4 (high assurance & formal verification. Used by NASA)

- Genode OS (capability based security)

- HelenOS (microkernel + message passing)

 

The only problem is the user experience tend to suck & driver support.

 

Making an OS is easier than making a browser.

 

 

16 hours ago, gabrielcarvfer said:

Maybe that wouldn't be the case if React OS was improving a bit faster

Sadly it's based on a leaked educational kernel released by Microsoft a while ago (they share identical macros & functions name, etc) so I doubt it will become usable for a long time, if it doesn't get sued one day.

 

Look at how similar these 2 functions are. (1, 2) Same function name, same logic, same variable names.

Link to comment
Share on other sites

Link to post
Share on other sites

Thanks for the responses i can definitely see the difficulties it would take to get a new OS up and running. It just sucks that there isnt a better option i do like Windows and Ubuntu both have their draw backs but would stil like to see something that runs smoother and less resource demanding along with the proper drive supports

 

Link to comment
Share on other sites

Link to post
Share on other sites

More choices is great but they need to have a purpose and direction.

 

I don’t think competition between OS is need as that just leads to compatibility issues. 

i5 8600 - RX580 - Fractal Nano S - 1080p 144Hz

Link to comment
Share on other sites

Link to post
Share on other sites

21 hours ago, CamiShami said:

Hey, i know this may be something obvious but I have been thinking why dont we have more choices when it comes to Operating Systems. I know Windows/Linux/Apple are the most known but why hasnt anyone come up with something new or better? I am no coder so I'm probably just asking a question that has probably been answered or is already known. I currently use Ubuntu on my laptop due to it being less resource heavy, and Windows on my desktop.

One thing to add on top of what others have said: there's also the question of diminishing returns.

 

As I recall, Steve Jobs once said that you couldn't succeed with a product by offering something a little bit better, it had to be a lot better — think of how the iPhone shattered expectations for smartphones, for example. Part of why Microsoft failed in MP3 players and phones was that it was always trying to offer incremental improvements. You weren't going to ditch your iPod just so you could "squirt" songs with a Zune.

 

In the desktop OS world, it would be very hard to produce an OS that was so dramatically ahead of everyone else that you'd drop what you were using. And without a large software library, many people couldn't get their work done or play the game you love.

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, CamiShami said:

something that runs smoother and less resource demanding

Nowadays it's not the OS that's resource demanding, it's what we do on it. 

 

You can run a minimal linux install that will boot in seconds and use a few MBs of RAM... But then you're going to launch a browser that uses 3GB and uses lots of CPU to render today's heavy websites.

F@H
Desktop: i9-13900K, ASUS Z790-E, 64GB DDR5-6000 CL36, RTX3080, 2TB MP600 Pro XT, 2TB SX8200Pro, 2x16TB Ironwolf RAID0, Corsair HX1200, Antec Vortex 360 AIO, Thermaltake Versa H25 TG, Samsung 4K curved 49" TV, 23" secondary, Mountain Everest Max

Mobile SFF rig: i9-9900K, Noctua NH-L9i, Asrock Z390 Phantom ITX-AC, 32GB, GTX1070, 2x1TB SX8200Pro RAID0, 2x5TB 2.5" HDD RAID0, Athena 500W Flex (Noctua fan), Custom 4.7l 3D printed case

 

Asus Zenbook UM325UA, Ryzen 7 5700u, 16GB, 1TB, OLED

 

GPD Win 2

Link to comment
Share on other sites

Link to post
Share on other sites

Exactly. The modern Web is so bloated that even if a browser ran on bare metal without any OS at all, the gains wouldn't have been substantial.

Link to comment
Share on other sites

Link to post
Share on other sites

Lots of people have already brought up the difficulty of OS development; and while that's important I think that the even bigger factor is application support. Windows 10 Mobile, to take one example, failed in large part because of application support. The OS itself was great, and had many great features in the default apps. But people who switched from an iPhone or Android phone to a Windows 10 Mobile phone would see a massive decrease in the variety and quality of 3rd party apps.

 

Android tablets actually suffer from this same problem. There are companies out there like Samsung who make tablets that on a hardware level offer competition to the iPad lineup. But software wise, there is nothing like what you can get on iPadOS. This is something that Google or Samsung good possibly change but they'd have to do it by making the software themselves and who knows if they even could.

 

So any tech company who might be tempted to build their own OS has the examples of Windows 10 Mobile and Android Tablets which show you that your OS can be held back by a lack of 3rd party app support even if the OS itself and the hardware you're making are quite good.

Link to comment
Share on other sites

Link to post
Share on other sites

Because most people who need an OS can be pooled into one of a few categories:

  • They need an all-rounder, where they'll pivot towards Windows or a user-friendly Linux distro
  • They need something that does Apple shit very well, where they'll pivot towards... macOS
  • They drive a Volvo S70 like a more dedicated tinker-arounder OS so they'll look into more customizable (and generally more complex) Linux distros

Check out my guide on how to scan cover art here!

Local asshole and 6th generation console enthusiast.

Link to comment
Share on other sites

Link to post
Share on other sites

On 1/23/2021 at 10:23 PM, minibois said:

The current desktop operating systems still have their roots in the 90's, you could make the argument these operating systems are still based on DOS/FreeBSD/UNIX.

Free BSD is actually based on UNIX

Hi

 

Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler
Spoiler

hi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

23 hours ago, NineEyeRon said:

 

I don’t think competition between OS is need as that just leads to compatibility issues. 

I think you are touching an important problem here.

 

I'll start with an analogy from the history: way back in the emerging home-computer segment in the 70s and 80s, there were loads of different computers. They all had their own software, and a piece of software made for, say Commodore Amiga would not work on an Atari ST. The reason was they had different kind of hardware. At some point IBM PC became the standard as we know it today, kind of by half-accident (it was supposed to be a proprietary system, but then clones emerged, and I'm not sure IBM sued anybody, but in any case, then the industry realized at some point, that... this is good!).

 

Even though most computers are compatible these days, the OS does quite a lot of the job by working as an abstraction layer, so the software don't need to talk with the H/W directly. But these abstraction layers are proprietary. This is the reason you can not run (for example) OS X software on a Windows or vice versa (even though Apple computers use the same architecture as IBM PC compatibles do these days... though not for long as many of you might know).

 

But things might change, as abstraction layers evolve. There will be layers which can be ported to many different operating systems (Vulkan). Unless this kind of layers don't come into fruition and use in a large scale, there will always be OS-locked software - which means in practice, there will be a limited selection of OSes people can choose from.

 

Interpreted languages might (and have) evolved, and perhaps at some point their interpreters will be so good that a binary specifically meant for architecture X is no longer needed. A software written in an interpreted language could work on any computer, but the tradeoff is a significant reduction in speed (currently). But maybe there is some trickery (to be found) to make the software (for which speed is important) run at least a comparable speed to a specific, optimized binary? Who knows, but this is another area which might evolve.

 

(There has been OS-agnostic software written in interpreted languages around for a long time, but they usually don't deal with speed-critical stuff).

 

EDIT: @maplepantstouched this subject from another point of view, too. As do many other replies, at least on a tangent, if you read carefully...

Edited by Wild Penquin
minor clarifications, TYPOs
Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, Wild Penquin said:

Interpreted languages might (and have) evolved, and perhaps at some point their interpreters will be so good that a binary specifically meant for architecture X is no longer needed. A software written in an interpreted language could work on any computer, but the tradeoff is a significant reduction in speed (currently). But maybe there is some trickery (to be found) to make the software (for which speed is important) run at least a comparable speed to a specific, optimized binary? Who knows, but this is another area which might evolve.

This is the dream of basically every Java marketer ever but I don’t know how true it is. For every amazing application like Minecraft you’ve got a million terrible Java apps that perform and work much worse than a native counterpart. The same is true for electron with a million Slack style performance hogs for every VS Code.

 

I don’t see there really ever being cross platform tools which are good enough to make the kind of complex apps that the customers willing to spend the most money care about. And that fact will, I think, discourage most companies from trying to roll a custom OS. Unless you’re making a narrowly focused product like a game console or a TV, you probably shouldn’t be writing your own OS.

Link to comment
Share on other sites

Link to post
Share on other sites

As Steve Bllamer said, "Developers, Developers, Developers, Developers, Developers"

I see a lot of people put their computer here

Mine is an m1 macbook air xD

base model

 

planning to get an m1x mac mini when it exists for heavier video editing

 

Switched to mac from windows cause most of what I do is either internet browsing, photo editing or video editing and wanted Final Cut cause that magnetic timeline is NOT the same as ripple editing in resolve/premiere/vegas pro (a sad excuse of a NLE btw) and is much faster for MY workflow

Link to comment
Share on other sites

Link to post
Share on other sites

@maplepants, I agree. Coming from a non-programmer, Java has been marketed as something it was never meant to be (or so I've been told), and it is not the only one of that kind of cases (well, it happens everywhere, in every field... reality doesn't often match with marketing - ever played a videogame which didn't live up to it's hype? Marketing is shady! 😆 ). It still has it's uses (despite misleading marketing) but the bytecode can not be as efficient as something compiled from a more efficiency-oriented language, say, C.

 

There might still be some development possible here with interpreted languages (and as a non-programmer I don't even know what is out there), but native binaries written (skillfully) in a more efficiency-oriented language will always be more efficient. Each approach has it's tradeoffs...

 

They still might be partly useful in detaching software from the OS. That is somewhat good goal to aspire for, as if it were to happen, nobody would need to put up with shenanigans put up by some corporations controlling the OS... (as we could change the OS at will, and not be forced to use one because we need software X which only works on the said OS...)

 

FOSS software is another way (it was not mentioned yet but I'm sure many were thinking about it). Not all software needs to be open, they could use layers, APIs or libraries which are. In principle, any open-sourced piece of software can be ported to any OS - if the license allows it. But it might be less straightforward if dependencies are not yet ported - if all are, it's sometimes just a matter of compiling!

Edited by Wild Penquin
Link to comment
Share on other sites

Link to post
Share on other sites

On 1/25/2021 at 2:48 AM, maplepants said:

Windows 10 Mobile, to take one example, failed in large part because of application support. The OS itself was great

Windows mobile had failed long before W10M became a thing. Earlier version had massive limitations that doomed them from the start.

On 1/25/2021 at 7:37 PM, Wild Penquin said:

Interpreted languages might (and have) evolved, and perhaps at some point their interpreters will be so good that a binary specifically meant for architecture X is no longer needed. A software written in an interpreted language could work on any computer, but the tradeoff is a significant reduction in speed (currently). But maybe there is some trickery (to be found) to make the software (for which speed is important) run at least a comparable speed to a specific, optimized binary? Who knows, but this is another area which might evolve.

There are some scenarios where Java is comparably fast to native languages and depending on how the operating system is built it can even be faster outside of very specific scenarios (android NDK apps come to mind...).

 

An interpreted language can hypothetically be as fast as native code, the reason they're usually not is that they pile on features that slow them down. Not that that's a bad thing but it explains the difference. There are also niches where some interpreted languages like erlang are insanely fast.

Don't ask to ask, just ask... please 🤨

sudo chmod -R 000 /*

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, Sauron said:

Windows mobile had failed long before W10M became a thing. Earlier version had massive limitations that doomed them from the start.

That's true, and it's the kind of thing I mean when I saw that Windows 10 Mobile didn't fail because Windows 10 Mobile was itself a bad OS; it failed for other reasons. For example, Windows 7 Mobile being bad mad people not want to develop for Windows 10 Mobile.

 

I think part of this is about timing. iPhoneOS 1.0 had a lot of problems. Some classics were the complete lack of a clipboard, support for only one calendar and the keyboard not supporting multi touch. But they were in the game early, and so it didn't really hurt them in the end.

 

If some manufacturer came out with their own set of AR glasses, they could get away with writing their own OS. But I don't think a laptop manufacturer could do much beyond they own Linux distro like System 76 does.

Link to comment
Share on other sites

Link to post
Share on other sites

On 1/26/2021 at 11:29 AM, Wild Penquin said:

@maplepants, I agree. Coming from a non-programmer, Java has been marketed as something it was never meant to be (or so I've been told), and it is not the only one of that kind of cases (well, it happens everywhere, in every field... reality doesn't often match with marketing - ever played a videogame which didn't live up to it's hype? Marketing is shady! 😆 ). It still has it's uses (despite misleading marketing) but the bytecode can not be as efficient as something compiled from a more efficiency-oriented language, say, C.

 

There might still be some development possible here with interpreted languages (and as a non-programmer I don't even know what is out there), but native binaries written (skillfully) in a more efficiency-oriented language will always be more efficient. Each approach has it's tradeoffs...

 

They still might be partly useful in detaching software from the OS. That is somewhat good goal to aspire for, as if it were to happen, nobody would need to put up with shenanigans put up by some corporations controlling the OS... (as we could change the OS at will, and not be forced to use one because we need software X which only works on the said OS...)

 

FOSS software is another way (it was not mentioned yet but I'm sure many were thinking about it). Not all software needs to be open, they could use layers, APIs or libraries which are. In principle, any open-sourced piece of software can be ported to any OS - if the license allows it. But it might be less straightforward if dependencies are not yet ported - if all are, it's sometimes just a matter of compiling!

The only way to, as you say, detach software from the OS is to, essentially, ship the entire OS with said software 😄  that's what Docker on Windows is doing, more or less. This is, IMHO, a complete insanity and waste of machine resources but this is the only way to avoid the extra development effort and problems with dependencies.

 

And FOSS does not solve a problem of extra development time needed to port stuff for every new platform. Notepad++ is a FOSS app, but its creator just straight up refused to port it to Linux because of required development time. You can "install" it on Ubuntu but it will ship together with Wine to make in work.

Link to comment
Share on other sites

Link to post
Share on other sites

12 hours ago, Alexeygridnev1993 said:

The only way to, as you say, detach software from the OS is to, essentially, ship the entire OS with said software 😄  that's what Docker on Windows is doing, more or less. This is, IMHO, a complete insanity and waste of machine resources but this is the only way to avoid the extra development effort and problems with dependencies.

Maybe they're not going far enough? The real big brain move might just be to distribute software via Virtual Box Disk Image 🤯.

Link to comment
Share on other sites

Link to post
Share on other sites

14 hours ago, Alexeygridnev1993 said:

The only way to, as you say, detach software from the OS is to, essentially, ship the entire OS with said software 😄  that's what Docker on Windows is doing, more or less. This is, IMHO, a complete insanity and waste of machine resources but this is the only way to avoid the extra development effort and problems with dependencies.

Well, it is not the only way - it is one way. I do agree on the insanity part.

14 hours ago, Alexeygridnev1993 said:

And FOSS does not solve a problem of extra development time needed to port stuff for every new platform. Notepad++ is a FOSS app, but its creator just straight up refused to port it to Linux because of required development time. You can "install" it on Ubuntu but it will ship together with Wine to make in work.

FOSS is not indeed a magic wand which will solve every problem, but it is one way to help facilitate this goal. Also, previously I was not referring to the end-user software (although it also does play a role - a closed source software can only be ported by the source rights holder, but with a more free license many other parties can facilitate a port).

 

To re-iterate what I was trying to say:

 

Currently, we have competing, closed source APIs and Libraries for every major OS (Windows, OS X - strictly speaking only parts of OS X are closed). A software supporting any closed API or Library tied to these OSes, needs a lot of efforts to be ported to another OS (which does not have the libraries of the other).

 

This is contrast to a goal which is something to aspire for (IMHO): If, indeed, we had open Libraries in wide use, efforts for porting are smaller, as by having open Libraries and APIs, the said APIs and Libraries could be ported (or already are ported) - which would in principle ease porting already existing open or closed software (though, only if the license allows closed-source software to use the said libraries - some may have restrictions, in which sense these licenses can be seen as restrictive).

 

This is also happening in practice - many developers choose to use APIs and Libraries which exist on many OSes, exactly because that way supporting several ports is easier (Vulkan, SDL, others, and hopefully more in the future when needed... ). Note: there already are many closed software using open APIs for example in the case of Vulkan!

 

The problem with Notepad++ is exactly the above reason - despite itself being GPL, it uses a closed Win32 API (TBH there main reason it has not been ported is probably that there already are good - many would claim better - widely adopted editors working in other OSes, often better adhering to said OSes UI paradigms and user-base conventions etc...).

Edited by Wild Penquin
minor clarifications and restructuring
Link to comment
Share on other sites

Link to post
Share on other sites

4 hours ago, maplepants said:

Maybe they're not going far enough? The real big brain move might just be to distribute software via Virtual Box Disk Image 🤯.

I'm sure that's where this containerization trend will bring us eventually 🙂

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×