There a only a handful of viable operating systems out there (Linux, Windows, and (?). What makes it so difficult to make a fresh operating system?

664 views

There a only a handful of viable operating systems out there (Linux, Windows, and (?). What makes it so difficult to make a fresh operating system?

In: Technology

7 Answers

Anonymous 0 Comments

There are actually other OS’s that have come and gone and there is usually one big reason. No application adoption.

OS/2 was a great OS, had a lot of great features, but Windows OS won because no enough application support for OS/2. Users want to use applications. If you can’t get the applications you want for your computer, you get a different OS.

There have been others also, like BEOS and such. All suffered the same problem, no application support.

In the mobile market we have the same problem. Apple and Google have the apps. Microsoft tried to make a new mobile OS and couldn’t get application developers to develop apps for it. SO it died.

It’s all about the applications.

Windows is the most popular desktop OS partly because of the huge amount of applications for it. Linux is not popular as a desktop app because there are not a lot of apps for it.

Anonymous 0 Comments

It’s not. Writing your own basic OS is a fairly common computer science/engineering undergraduate assignment. But that’s a purely academic OS that doesn’t really do anything interesting and has zero applications.

Writing a full-featured modern OS is the evolutionary tasks of hundreds of engineers working for years (potentially much more). It’s not trivial so you need to have a really good reason to do it. The major consumer OS’s (Apple, Linux, Windows) do almost everything that anybody wants for most applications. Specialized industrial OSs are absolutely a thing but you rarely see them outside their niche.

It’s like asking “Why is it so difficult to make a new optical disk format?” It’s not, but there’s a giant install base of Bluray players and they do almost everything anybody needs so you need a really compelling reason to get all those people to switch. It’s a lot easier, most of the time, to just figure out how to do whatever you want to do on an OS that already exists.

OS’s also have many of the same core functions…once you figure out how to do that really well, where’s the benefit in writing new code to do the same function over again?

Anonymous 0 Comments

It’s basically just a LOT of programming. Above all, you have to invent your own structure and language for the system to use. It also has to have compatibility with preexisting software and hardware peripherals to be viable. It’d be like creating your own galaxy star for star. Linux offers the most freedom in this way as it’s open source, and anyone can access and modify the code. So if you don’t mind using some borrowed elements, you can essentially create your own OS however you want.

Anonymous 0 Comments

Its complicated and very time consuming and unless someone has a reason to do it or too much money. What’s the point?

Anonymous 0 Comments

If it’s not broken don’t fix it?
Also that’s these systems keep being updated to keep up with new and improving tech.

Anonymous 0 Comments

It’s not particularly hard to make one. It’s not a think a hobbyist would usually do, but a skilled programmer can do it with some time and effort.

But most programs have to interact with the operating system pretty frequently, either directly or through some sort of underlying framework (more commonly the latter). So to use the unique features of an OS, you need programmers to be using those features at a program level, which takes a lot of work. So most programs are written for the major operating systems and not for niche ones.

Anonymous 0 Comments

I’m assuming you mean PC operating systems.

– Driver support. PC’s have lots of different hardware. Good luck either (a) writing hundreds of device drivers, or (b) getting wide adoption if you require a specific brand of motherboard, HDD, NIC, GPU, etc.

– QA and optimization of core features. For core OS functions like memory management, process scheduling, mutliprocessor, I/O handling, filesystems, etc., it’s easy enough for a smart undergrad working alone to write a simple implementation that does the bare minimum to get up and running. It’s a whole lot harder to write a production-quality implementation that has high speed and low memory usage, works well for a wide variety of usage patterns, and is rock-solid bug-free when running on millions of machines with years of uptime.

– Non-OS components. A popular OS is really an entire ecosystem, not just a kernel. You need support, marketing, package management, a GUI system, and applications.

Most of all, you need a compelling reason for users to use your OS. The top dogs all have a rock-solid reason for people to use them:

– Windows is pre-installed on most PC’s.
– Mac has unique branding and marketing, it’s a premium option with high quality (spoiler: it’s not the best OS, only the most expensive).
– Linux is free and open-source and UNIX compatible.