Click here to Skip to main content
15,880,543 members
Please Sign up or sign in to vote.
2.03/5 (7 votes)
Can someone tell me how to build my own OS....like those in iron man movies...which language is used for such OS.I want to learn those languages give me a preferable link or a book name for learningit.

Can it be created using c++ ..,,if yes then how...?????
Posted
Comments
[no name] 1-Jul-13 15:17pm    
I think that you are in for a huge disappointment....

In fact it is not that daunting a task. Really, an operating system is the code that takes over from the boot loader. As others here have hinted at, you won't get much success on conventional machines that you buy in a computer store. On the other hand, that is pretty much what you do with embedded systems. Look at Arduino or Raspberry Pi and research ARM architectures. Google is your friend and will help you with this.

Here is a link[^] where some students wrote an operating system for a Raspberry Pi that is a 2 player chess game. They wrote an ARM7 assembler in C, then wrote the chess program/operating system in ARM7 assembly. The code is 15000 lines and they did it in 2 weeks.
 
Share this answer
 
v2
Comments
enhzflep 1-Jul-13 16:52pm    
Absolutely nailed it. My +5
JackDingler 1-Jul-13 16:56pm    
Exactly.

Look at CP/M or DOS. Both are valid examples of operating systems, and they are teensy tiny compared to today's mainstream OS's.
Zoltán Zörgő 1-Jul-13 17:03pm    
True. Still, I don't think that even a DOS level OS is a task for OP.
nv3 1-Jul-13 17:53pm    
I like your answer, Harvey. Writing a tiny operating system, or at least the core parts of it, can be done by a single programmer. But it takes quite some insight into the architecture of a processor and into programming concepts to do it. This is definitely no good start for a beginner - and in that regard I can subscribe to what Zoltán said. Hence my 5 to both of you.
H.Brydon 1-Jul-13 18:18pm    
It depends what you want to do with it. I wrote my own OS for a PDP-11/05 which had 8K memory. It accepted keyboard input, had printer/console output, did some mathematical computations and flashed different console lights when events triggered. I learned a lot from it and it was not complicated. I was not a beginner at the time but did not use too much in the way of advanced concepts. All unassisted.

It depends on what you want to do. Also look at the Arduino platform. I would claim that nobody in that genre are expert programmers (ummm okay, maybe 3 or 4 of them).

Most of us are used to highly complex OSs with many features, but the basic functionality is not that hard. I re-read OP's question and I think he/she could have some reasonable success.

P.S. don't hack off somebody who wants to be in an Iron Man movie. :-)
To get started it might be useful to have a look at a fairly simple OS, like: FreeDos[^]

Best regards
Espen Harlinn
 
Share this answer
 
Sorry, but if you ask such questions you are far-far away from being prepared for such a task. Making an operating system is really-really-really complicated. Just download any operating system source code, and see for yourself:
Android: https://source.android.com/source/[^]
FreeBSD: http://www.freebsd.org/developers/cvs.html[^]
ReactOS: http://www.reactos.org/download[^]
...and so on...

And read this too: http://www.wikihow.com/Make-a-Computer-Operating-System[^]!
 
Share this answer
 
v3
Comments
Maciej Los 1-Jul-13 15:38pm    
Reasonable answer +5!
Sergey Alexandrovich Kryukov 1-Jul-13 19:32pm    
Agree, my 5, too.
—SA
Espen Harlinn 2-Jul-13 10:49am    
Nice links :-D
Are you talking about creating/making a new Operating System, or simply a "nice" Graphical Interface (GUI) that will live on top of an existing Operating System ?

Graphics: Have a look at DirectX (or whatever it is called now) and OpenGL;
Voice recognition: MS Speech Recognition[^]

One is very difficult (the OS); the other one simply difficult.
 
Share this answer
 
Here at CodeProject we have even this: article series by 0x3c0[^].
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900