Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

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 post
Share on other sites

Because operating systems are extremely complex and nobody's gonna use them if there are no applications written for them.

You can't make an operating system that supports existing applications because of patents and for other reasons...

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.

Sorry if my post seemed rude, that is never my intention.

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 /*

What is scaling and how does it work? Asus PB287Q unboxing! Console alternatives :D Watch Netflix with Kodi on Arch Linux Sharing folders over the internet using SSH Beginner's Guide To LTT (by iamdarkyoshi)

Sauron'stm Product Scores:

Spoiler

Just a list of my personal scores for some products, in no particular order, with brief comments. I just got the idea to do them so they aren't many for now :)

Don't take these as complete reviews or final truths - they are just my personal impressions on products I may or may not have used, summed up in a couple of sentences and a rough score. All scores take into account the unit's price and time of release, heavily so, therefore don't expect absolute performance to be reflected here.

 

-Lenovo Thinkpad X220 - [8/10]

Spoiler

A durable and reliable machine that is relatively lightweight, has all the hardware it needs to never feel sluggish and has a great IPS matte screen. Downsides are mostly due to its age, most notably the screen resolution of 1366x768 and usb 2.0 ports.

 

-Apple Macbook (2015) - [Garbage -/10]

Spoiler

From my perspective, this product has no redeeming factors given its price and the competition. It is underpowered, overpriced, impractical due to its single port and is made redundant even by Apple's own iPad pro line.

 

-OnePlus X - [7/10]

Spoiler

A good phone for the price. It does everything I (and most people) need without being sluggish and has no particularly bad flaws. The lack of recent software updates and relatively barebones feature kit (most notably the lack of 5GHz wifi, biometric sensors and backlight for the capacitive buttons) prevent it from being exceptional.

 

-Microsoft Surface Book 2 - [Garbage - -/10]

Spoiler

Overpriced and rushed, offers nothing notable compared to the competition, doesn't come with an adequate charger despite the premium price. Worse than the Macbook for not even offering the small plus sides of having macOS. Buy a Razer Blade if you want high performance in a (relatively) light package.

 

-Intel Core i7 2600/k - [9/10]

Spoiler

Quite possibly Intel's best product launch ever. It had all the bleeding edge features of the time, it came with a very significant performance improvement over its predecessor and it had a soldered heatspreader, allowing for efficient cooling and great overclocking. Even the "locked" version could be overclocked through the multiplier within (quite reasonable) limits.

 

-Apple iPad Pro - [5/10]

Spoiler

A pretty good product, sunk by its price (plus the extra cost of the physical keyboard and the pencil). Buy it if you don't mind the Apple tax and are looking for a very light office machine with an excellent digitizer. Particularly good for rich students. Bad for cheap tinkerers like myself.

 

 

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 post
Share on other sites

There are a lot of different OSes out there, but probably not what you want.
Just to name a few: BareMetal OS, Redox OS, FreeBSD, NetBSD, OpenBSD, Minix, Mach, React OS, Temple OS, Haiku, FreeRTOS, AMX, QNX, PureDarwin, etc.

 

Usable ones: BSDs.
Need a lot more work: Redox OS, React OS, Haiku, PureDarwin.

It is running in your computer and even its creator didn't knew until hackers found out: Minix (built into Intel Management Engine).

As everybody already said, there are two main problems holding these back: lack of drivers to support more hardware and lack of supported applications.


Lack of supported applications usually result in initiatives like the BSDs running Linux software, WINE to run Windows software, Darling to run Mac OS X applications on Linux, static recompilation from x86_AMD64 performed by Mac and Windows on ARM.


Driver support is probably the worst thing to deal with. You either find a way to work with Linux/BSD drivers or you're screwed and rewrite everything from scratch. Maybe that wouldn't be the case if React OS was improving a bit faster.

 

What end up happening is that most of these are stuck forever on whatever hardware they were built on (Baremetal, ...) or built to be run (FreeRTOS, AMX, QNX and other embedded OSes).

 

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 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 post
Share on other sites

Id try AmigaOs ( yes its still running ) it isnt windows, linux or mac & I believe it runs using the Risc architecture which could be interesting for the future 🙂

 

https://www.amigaos.net/

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 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 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: i7-5960X 4.4GHz, Noctua NH-D14, ASUS Rampage V, 32GB, RTX3080, 2TB NVMe SSD, 2x16TB HDD RAID0, Corsair HX1200, Thermaltake Overseer RX1, Samsung 4K curved 49" TV, 23" secondary

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

 

Dell XPS 2 in 1 2019, 32GB, 1TB, 4K

 

GPD Win 2

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 post
Share on other sites
1 hour ago, Kilrah said:

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

But in terms of "smoothness", a highly pervasive multi-theadread paradigm is way better. Haiku OS is insanely responsive due to that. 

 

56 minutes ago, Alexeygridnev1993 said:

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.

Browsers turned into basically a VM (not in terms of virtualization) on top of a meso OS (task manager, built-in debugger/performance analysis tools, and even an antivirus in Chrome)  on top of the real OS.

 

The human-readable formats that requires parsing, processing, interpretation, etc don't help.

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 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 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 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 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 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 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 post
Share on other sites

Java, C# and other virtual-machine languages are reasonably performant.

 

The problem with them is that they can't be optimized to a specific architecture before being run.

 

This is why most modern VMs include some for of JIT compilation to speed things up. .Net Core is notorious for its performance optimizations.

 

If you're not programmers, you have probably never heard of Web Assembly (WASM). They're doing the Java thing all over again, but the VM is built into the browser and the program is way more compact and optimized then javascript nonsense.

 

Wasmer is promising to let basically all languages hook into the webassembly runtime, removing the need for compiling 3rd-party libraries for each and every OS/language version.

 

There is even an OS project that wants to run WebAssembly on kernel mode for performance and isolation. This sounds crazy but it's actually good for container replacement.

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 /*

What is scaling and how does it work? Asus PB287Q unboxing! Console alternatives :D Watch Netflix with Kodi on Arch Linux Sharing folders over the internet using SSH Beginner's Guide To LTT (by iamdarkyoshi)

Sauron'stm Product Scores:

Spoiler

Just a list of my personal scores for some products, in no particular order, with brief comments. I just got the idea to do them so they aren't many for now :)

Don't take these as complete reviews or final truths - they are just my personal impressions on products I may or may not have used, summed up in a couple of sentences and a rough score. All scores take into account the unit's price and time of release, heavily so, therefore don't expect absolute performance to be reflected here.

 

-Lenovo Thinkpad X220 - [8/10]

Spoiler

A durable and reliable machine that is relatively lightweight, has all the hardware it needs to never feel sluggish and has a great IPS matte screen. Downsides are mostly due to its age, most notably the screen resolution of 1366x768 and usb 2.0 ports.

 

-Apple Macbook (2015) - [Garbage -/10]

Spoiler

From my perspective, this product has no redeeming factors given its price and the competition. It is underpowered, overpriced, impractical due to its single port and is made redundant even by Apple's own iPad pro line.

 

-OnePlus X - [7/10]

Spoiler

A good phone for the price. It does everything I (and most people) need without being sluggish and has no particularly bad flaws. The lack of recent software updates and relatively barebones feature kit (most notably the lack of 5GHz wifi, biometric sensors and backlight for the capacitive buttons) prevent it from being exceptional.

 

-Microsoft Surface Book 2 - [Garbage - -/10]

Spoiler

Overpriced and rushed, offers nothing notable compared to the competition, doesn't come with an adequate charger despite the premium price. Worse than the Macbook for not even offering the small plus sides of having macOS. Buy a Razer Blade if you want high performance in a (relatively) light package.

 

-Intel Core i7 2600/k - [9/10]

Spoiler

Quite possibly Intel's best product launch ever. It had all the bleeding edge features of the time, it came with a very significant performance improvement over its predecessor and it had a soldered heatspreader, allowing for efficient cooling and great overclocking. Even the "locked" version could be overclocked through the multiplier within (quite reasonable) limits.

 

-Apple iPad Pro - [5/10]

Spoiler

A pretty good product, sunk by its price (plus the extra cost of the physical keyboard and the pencil). Buy it if you don't mind the Apple tax and are looking for a very light office machine with an excellent digitizer. Particularly good for rich students. Bad for cheap tinkerers like myself.

 

 

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 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 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

×