The Systems group at ETH Zürich where I studied had their own operating system, called Barrelfish because apparently making an OS is as easy as shooting fish in a barrel to these crazy people (this is meant positively, I hold them in high esteem). Side note they also made their own computer called Enzian. The combination of both is intended to allow them to do research off the beaten path with some different core design choices.
And we built our own student versions of barrelfish-like OSes during a course, if I recall correctly we only used their boot code to get the ARM cores on the Pandaboards up and running, then everything else was individual per group of four. We all had a lot of fun with our very individual memory management bugs, filesystem bugs, shell bugs, capability bugs and so on :-)
PS: There is also Redox OS where some people wrote an OS completely in Rust.
And those OSs you made in class are legitimate OSs. But they would need a lot of work to even have a chance of competing with Linux, Windows, or MacOS. Which is why it’s unlikely we’ll see a new consumer-level OS anytime soon.
Yeah if we narrow the question down to specifically consumer level OSes, then the best chance would be if some really big conglomerate decided they needed their own independent thing. Like Google did with Fuchsia, next time Samsung or the Chinese State perhaps. But even then a scenario like Android or Tizen would be the more likely outcome, a different userland implemented on Linux.
They do exist, they just aren’t popular because an OS is basically useless without a preexisting userbase
Redox OS suffers from this, despite promising fewer BSODs.
They are. But you’ve never heard of most of them, and OSes aren’t popular because of their merits.
They likely were making the operating systems while balancing their job to cover expenses like rent and food.
I think for anybody that wants to make a new OS would simply make a Linux distro. Additionally all of these large operating systems have been actively developed by hundreds, if not thousands of people for 30 years. That’s a lot of work for a small team, even if dedicated.
People are creating new operating systems, but the reason they don’t catch on is hardware and software compatibility. It was hard enough to make an actual performant operating system that could work on a wide variety of hardware back in the 90s. Trying to do it for every possible hardware combination available now is just crazy. It can also be an incredibly difficult task to get even open source software working properly on a new OS. Anything else is just completely out of the question.
Even Google and Microsoft ran into this problem. Microsoft dropped Singularity ages ago, and while Google’s Fuschia made it to literally a couple of devices its future is uncertain since Google laid off a significant part of the team working on it.
There are plenty of desktop os other than of linux, windows and mac. You can even try them right in your browser here:
- ReactOS, an os specifically made to be compatible with windows apps: https://copy.sh/v86/?profile=reactos
- SerenityOS, an os written with focus on 90s UI: https://copy.sh/v86/?profile=serenity
- KolibriOS, an os written in assembly: https://copy.sh/v86/?profile=kolibrios
- 9Front, a fork of Plan9 os originally made by Bell Labs: https://copy.sh/v86/?profile=9front
- HaikuOS: a fork of BeOS, which was supposed to be the classic mac os successor: https://copy.sh/v86/?profile=haiku
- SolarOS, a real time hobby os: https://copy.sh/v86/?profile=solos
Yeah exactly. Toy OSs have only increased in scope, scale, and number. And the public is still completely unaware, because these toy OSs don’t solve day to day problems the way that Windows, Mac, and Linux did when they first came to market.
That’s a little disingenuous. Linux was a university project. But if a new Linux was made today? Why would you use that with the other mature options available?
Disingenuous how? You don’t think Linux solved a real day to day need of it’s first users?
Sure, from Torvald’s perspective, it was a project specifically to solve a small problem he had. He wanted to develop for a nix platform, but Minix wouldn’t work on his hardware, and the other *Nixs were out of reach.
And this was generally true in the market as well. Linux arrived just in time and was “good enough” to address a real gap, where Minix was limited in scope to basically just education, Hurd was in political development hell, and the other Nixs were targeted at massive servers and mainframes. Linux filled the “*Nix for the rest of us, inexpensively” niche, eventually growing in scope to displace its predecessors, despite their decades of additional professionalism and maturity.
That niche is now filled, the gap no longer exists. A “New Linux” wouldn’t displace Linux, because the original already suits the needs we have well enough. This is precisely why the BSDs and Solaris were “too little, too late”. They were in many ways better than Linux, but the problems they solve compared to Linux are tiny and highly debatable. Linux addressed a huge, day to day need of people who were motivated to help.
I think we’re talking past each other. I suspect Linux wasn’t much better than some of the “toy” OSs produced today, but there was a niche to be filled, which it did. So, if something that was as full-featured as Linux was when it took off was to be made today, it would languish because the niche has been filled. They aren’t ignored because they aren’t as good as Linux was back then, but because they aren’t as good as Linux is today.
these toy OSs don’t solve day to day problems the way that Windows, Mac, and Linux did when they first came to market.
Yes, this is the exact point I made in my first post. And in depth in my response.
Momentum, support and compatibility.
There are also other OS’es like FreeBSD and openBSD that are relatively widely used and a whole host of vendor OSes like IBM’s IAX or Z/OS or the open solaris derivative illumos (all unix based), not to mention the embedded real time OSes that you find in a lot of cameras and such.
The common thing among most still in use is that they are old, well tested, stable, have a lot of software developed for them + they are in most cases compatible with a lot of different hardware, these things need time and money to achieve and people aren’t going to develop software for an OS that isn’t going to be used because it lacks those features.
That’s not to say people aren’t still writing new operating systems, they definitely are, it’s just that they’ll never get as generally used or well known as the mentioned 3.
Play a minecraft server running Open Computers and every base will be running a different self-made OS.
It’s probably getting more rare as hardware gets more complicated.
You can barely get modern computers to boot without some proprietary blob. MINIX was a great stepping stone back in the day, and ran on plenty of hardware.
I have a sweet spot for MorphOS in my computer collection.
I do love bare-metal programming, but it just isn’t feasible for wide targets like modern machines. I guess the next best thing is writing virtual machines for my own needs.
There are two major operating systems that are newish and ubiquitous: android and iOS. Android uses the Linux kernel but it is very different then a standard desktop installation of any other Linux based os. And both macos and iOS use the xnu kernel, but, again, iOS is very much a different os then macos.
Adding to some of the other comments - I think this is a hard area for a new OS to take hold currently. It’s taken almost 35 years for Linux to get to where it is today - which is STILL a niche on the desktop, despite server dominance. (I say this as someone who has been Linux-only since 2023 at home)
With that in mind, if I were contemplating a choice between making a new OS or devoting my efforts to improving one of the others (to be clear I don’t have the skills for this to be an actual choice), I don’t know what might drive me to create a new one.
We’ve got:
- windows for the enterprise crowd and gaming
- macOS for engineers working in an enterprise context and refuse to put up with windows
- linux for servers
- BSD for stuff where limiting attack surface is truly critical
What other broad use-cases would need to be covered?
Or: engineers don’t like reinventing the wheel.
engineers don’t like reinventing the wheel.
Engineers aren’t the ones to decide whether to reinvent the wheel or not.
Define “operating system”. It’s important to know that Linux is only the kernel and…
Oookkaaaayyy, you need to get back to your corner!
I’d like to interject for a moment…
What you’re referring to as Linux, is in fact, GNU/Linux, or as I’ve recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.
Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called “Linux”, and many of its users are not aware that it is basically the GNU system, developed by the GNU Project.
There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine’s resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called “Linux” distributions are really distributions of GNU/Linux.
When this copypasta was first put together, this may have been more true. GNU was a big project, Linux was just starting out. But Linux has grown to be much larger than GNU. 30+ million SLOC from one estimate. GNU can’t get naming rights with some shell utilities and libraries that can be replaced. Why not add Systemd in the name? That seems pretty important. Or we can just stick to calling it Linux, because that’s not a mouthful and sounds nice.
I like ‘Glinux d’, the g is mostly silent, the d is not.
There also, to be honest, been a concerted effort to GNU because they represt libre software as a movement for liberty for users as compared to the open source software movement which gets coopted by corporations WAY more.
It depends on what the meaning of the word ‘is’ is
Unless you have an original implementation with big benefits it’s more efficient to improve existing ones instead.
Jonathan Blow said he might try his hand at creating an operating system (maybe after finishing his programming language Jai, and his gargantuan Sokoban game :)) Sadly it’s unrealistic another operating system will be created for the general public without massive funds.