• Forum
  • Lounge
  • Is it possible for one person to build a

 
Is it possible for one person to build an entire operating system from scratch with no help?

Pages: 12
I'm talking Android Jelly Bean here, or Ubuntu, or Windows 8.

The entire operating system consists of:

1.The entire kernel, bootloader, and hardware drivers.

2.The middleware, APIs/frameworks, and user interface(GUI).

3.Window systems, filesystem, IPC, and any other system software.

4.Must also have a daemon, networking capability, TCP/IP stack, and all other network protocols to access a network, and must have Wi-Fi capability.

All in all, it must compare to a modern OS for the most part.

Can one person do it all from absolute scratch?

Don't be close minded, please really think about it; image an extremely dedicated person who will give the time.

There is no time limit, or budget, as this must all be done without money nor assistance in any form outside of a single individual.
Last edited on
Nicenamed wrote:
I'm talking Android Jelly Bean here, or Ubuntu, or Windows 8.

The entire operating system consists of:

1.The entire kernel, bootloader, and hardware drivers.

2.The middleware, APIs/frameworks, and user interface(GUI).

3.Window systems, filesystem, IPC, and any other system software.

4.Must also have a daemon, networking capability, TCP/IP stack, and all other network protocols to access a network, and must have Wi-Fi capability.

All in all, it must compare to a modern OS for the most part.

Can one person do it all from absolute scratch?

Don't be close minded, please really think about it; image an extremely dedicated person who will give the time.

There is no time limit, or budget, as this must all be done without money nor assistance in any form outside of a single individual.


Is it possible for one person to build an entire operating system from scratch with no help? Yes. It would be very hard, though. Good luck spoonlicker ;)
Last edited on
closed account (z05DSL3A)
Nicenamed wrote:
I'm talking Android Jelly Bean here, or Ubuntu, or Windows 8.

The entire operating system consists of:

1.The entire kernel, bootloader, and hardware drivers.

2.The middleware, APIs/frameworks, and user interface(GUI).

3.Window systems, filesystem, IPC, and any other system software.

4.Must also have a daemon, networking capability, TCP/IP stack, and all other network protocols to access a network, and must have Wi-Fi capability.

All in all, it must compare to a modern OS for the most part.

Can one person do it all from absolute scratch?

Don't be close minded, please really think about it; image an extremely dedicated person who will give the time.

There is no time limit, or budget, as this must all be done without money nor assistance in any form outside of a single individual.

No, not without any assistance in any form outside of a single individual.
Yes, but it would be incredibly difficult, and take a really long time. And by the time you have made a modern OS, other OSes would have moved along even further. Basically you would be chasing an ever eluding optimum.
Well you have to have assistance, but in way of forums and others to answer questions that pop up during the development of your project. You, truthfully, can do anything by yourself, but you would have to double if not triple the time taken to make an OS because most OSes today are made by groups of programmers and other skilled people while it will just be you doing everything so you will have to learn a few skills to do so. It is better to work in groups, unless you are anti-social.
Yes if you're allowed to use documentation. It'd take you a few years but it's certainly possible.
No, it's too much work.

Why would anyone want to reproduce Windows 8?
Why would anyone want to reproduce Windows 8?


Hey, I quite like win8, what IYHO is wrong with it?
It's different so it's bad!
@LB Wait, that is the wrong answer. The internet excepted one is "Because it is Microsoft!"

@kbw Nothing is too much work. Those who consider something too much work are usually ones that think that because they don't want to do the work to begin with. :P
Sure its possible, just not practical. There are so many other things that you can make in much less time that are so much cooler than an OS that is specific to a certain set of hardware and very limited in features and functionality.
Nothing is too much work. Those who consider something too much work are usually ones that think that because they don't want to do the work to begin with. :P
@BHXSpecter What have you worked on and how long did it take? Do you think saying "Make it so", magically creates engineering tasks?
A good trolling topic, but I will bite anyway - cause I'm bored. Anyone with more than even a vague idea of about this wouldn't need to ask such a question.

So this is about 20 million LOC, say with 40 years at you disposal - that's about 10,000 LOC of working bug free code every week. Assuming you know how to do everything already.

As Script Coder said, you are then 40 years behind.

It might be worth your while to read this about Linus Torvalds:

http://en.wikipedia.org/wiki/Linus_Torvalds


Realise that Linus wrote 2% of the kernel himself along with contributions from thousands of others. And that was just the kernel, not all the others things in your list.

So your myth has been BUSTED - note that seeing as your first post was trolling, we should all keep in mind that your future posts might also fit in this category.
Last edited on
@TIM it's spoonlicker, has (s)he ever not trolled?
kbw wrote:
What have you worked on and how long did it take? Do you think saying "Make it so", magically creates engineering tasks?

I could spend the next few hours listing my list of projects (finished, wips, abandon), but it still won't erase the fact that it is possible for a single programmer to make their own OS.

Do you think it is too much work for a single programmer to code a game (say an RPG)?

I've grown tired of this. There seems to be a stigma in programming, whenever a Triple A title is named, suddenly it is impossible otherwise it is possible.

I have two examples of this... A few years ago I mentioned I was going to program an RPG at a different programming site and was told that it was easy to make an RPG by myself. As soon as I said I wanted to add a features that were in Final Fantasy, Suikoden, and Shining Force I was told it was impossible to make an RPG without a huge team (and the features were actually simple..central headquarters, switchable characters, several team members, and story where you are thrust into saving the planet). It was possible until I mentioned the 3 Triple A titles then it became impossible.

Second, in other threads on the topic, I've seen people give advice and send them to OS Development sites (like OSDev) telling them it was possible and the challenge would be writing their own kernel and such. As long as everyone thought it was going to just be a podunk beginner OS it was possible, but soon as someone compares it to a serious OS it becomes impossible again.

Seems everyone has this conception that if a person mentions a commercial OS, app, game then it means the think they are going to make an equivalent by themselves. Just with my RPG idea, everyone thought I meant I was going to have a RPG equal to those three and that wasn't even my goal. Hell for story I could have done something as dumb as "Suddenly the kid two doors down sneezed, setting events into motion. Now you have to save the planet from pending destruction."

We have seriously got to get away from this stigma. Just because he mentioned commercial OSes doesn't mean he wanted to make a commercial grade OS. For all we know he could implement God awful and ugly versions of the above as a learning experience.

Whether this is a troll thread or not, matters very little as it asked advice and got it from everyone. Let us leave it at that.
Some time ago a colleage said, "It's easy to make program work, but it's difficult to make a program work all the time". In my view, that's the difference between programming and engineering.

When you scale up that idea to a mature OS can do, you're talking about a lot of thinking, discussion, designing and coding in a system programming language.

If I were costing this for a client, all this would have to be considered.

EDIT: Weilcome back spoonlicker.
Last edited on
closed account (3qX21hU5)
@BHX So whenever someone says they want to lets say make a AAA game we should just automatically assume they meant they wanted to make a 2D Pong Clone? We should just ignore the mentioned comparison to AAA titles and assume they are aiming much lower? That doesn't make sense. You are telling us to totally ignore any comparisons the person makes. Usually someone doesn't list something as a comparison unless they are using it to compare something to it.

If he said I want to make a very lean scaled down OS that isn't anything as big as a commercial OS then yes we would say its possible.

But he specifically said he was talking about commercial grade OS"s like windows 8 and jellybean. So how is it our fault that we tell him it isn't possible? You blame people for making assumptions but yet it is you is making the assumptions that he didn't mean commercial grade OS's even though he specifically said he did.

Nothing is too much work. Those who consider something too much work are usually ones that think that because they don't want to do the work to begin with. :P


You are quite wrong on that, there are many things are just to much work for one person to do. You wouldn't expect one person to build the Eiffel Tower would you, or one person to build the international space station, it just isn't possible. The same can be said for Commercial grade OS's and your AAA games you mentioned.

Its not wrong if i tell someone that came up to me and asked if they could build the next World of Warcraft MMO title all by their self that it is impossible. Because it is impossible to do it as of right now. If you take into account that they have 100+ professional programmers working 40 hours a week for at least 1 - 2 years. And that is only the programming you still got to take into account the Artists (Which take up more man hours then programmers) and the money (Which is in the millions).

I mean look at the numbers lets say it takes 100 programmers 2 years working 40 hours a week to publish a AAA game (Which is about average I would say). That would be about 416,000 man hours for the project. That is only the programming side also so take that into consideration because programming in probably a third of the whole development. So for one person to put in that much work it would take them about 52,000 Days if they worked 8 Hours every day on it. Another way to put it would be it would take them 142 years to do that much work. I don't think that is possible last time I checked ;p.

So its not bad to tell someone that it is impossible to do something. If anything it is a good thing because it makes them aim lower towards something they can achieve, which will make them feel much better then having put years into something that will never be finished.
Last edited on
@BHX I see your frustration in the negativity of some comments, but they are just trying not to give a false hope, the question was is it possible for one person to build an entire OS for scratch and then the first line compares the OS he wants to make to commercial OSes. All people were trying to do was give him a realistic answer.

but soon as someone compares it to a serious OS it becomes impossible again.
It would be possible if everyone on this site (with a good knowledge of C/C++ and a few people with ASM skills) tried to build a commercial grade OS, then it would be perfectly possible. The difference with my scenario and this one is: in mine there is more than one "skilled" coder.

Just because he mentioned commercial OSes doesn't mean he wanted to make a commercial grade OS
I'm talking Android Jelly Bean here, or Ubuntu, or Windows 8.


Whether this is a troll thread or not, matters very little as it asked advice and got it from everyone.
It probably is a troll thread, the user has not made another post. Just wait for the report spams.

The answer is, "No." A project of that scale has higher orders of magnitude--that is, just applying more free time from an exceedingly dedicated person will still not make a difference.


1.The entire kernel, bootloader, and hardware drivers.
2.The middleware, APIs/frameworks, and user interface(GUI).
3.Window systems, filesystem, IPC, and any other system software.
4.Must also have a daemon, networking capability, TCP/IP stack, and all other network protocols to access a network, and must have Wi-Fi capability.
I think one person can only write a single part of the OS from the list above and this would still take a lot of time to make it good and bug-free.

Or you can just write unix-compliant kernel (which is still the most complicated part of the OS) and steal everything else from open source software. And even making OS compatible to other OS is very hard (example: ReactOS)
Pages: 12