Jump to content

How to Create an Operating System?

TheSprinkle

Hello,

 

I recently bought a Raspberry Pi B+ with an idea to build my own OS from scratch but have no idea where to start.

 

I'm completely clueless when it comes to the very basics of computer programs, so my question is how do I go about making an OS? What programs do use, how do I even tell a computer what to do with no software?

 

As you can probably see I am completely lost and any reply telling me where to start would be appreciated.

 

Thanks, 

TheSprinkle  :)

Link to comment
Share on other sites

Link to post
Share on other sites

1. Learn Assembly

2, Create a bootloader

3. make a basic file system and os protocols

4. make a user interface

"Instinct or Rationality; Which will you choose? Enchanted by a superiority complex"

"what you do in spite of internet speed is inspiring. :3" From Cae - 2015

Link to comment
Share on other sites

Link to post
Share on other sites

Step 1:

Don't

Step 2:

Don't

Step 3:

Don't

Step 4:

Don't

Step 5:

Don't

Step 6:

Don't

Step 7:

Don't

Step 8:

Don't

Step 9:

If you're still reading this start by first learing assembly using it a lot for a couple of months.. Then think again about making a os.

Build log "Whiplash" : http://linustechtips.com/main/topic/158477-the-hero/

Whiplash: 4790k@4,4Ghz|Maximus VII Hero|4x4Gb Red/Black HyperX fury 1866Mhz|R9 290 Tri-X|Modded 450D|Sleeved cables on a M12II evo 850W|M500 480Gb| BenQ XL2411T@144Hz

Laptop: 4700MQ|16Gb@1600Mhz|Quadro 1100M|1080P|128Gb SSD|500Gb 7200RPM hdd

Link to comment
Share on other sites

Link to post
Share on other sites

why? I don't mean to be rude, but you don't seem to know the amount of work that entails.

Link to comment
Share on other sites

Link to post
Share on other sites

I hope that your not making everything from scratch. Unless you have a lot of time and patience to spare. But, a good place to start is creating a costume linux kernel. You should know C and helpful to know assembly but it's not necessary. Also, test your kernel in a VM, because if you screw up and cause a kernel panic, then you're going to be in trouble. There is some setup and you are going to need to learn how to create a patch. It can be challenging, but if you have the imagination and skill, you can practically do anything by using kernel programming.

Link to comment
Share on other sites

Link to post
Share on other sites

I've been programming for years and the idea of making an OS from scratch still makes me cringe. We're talking writing your own drivers for graphics, sound, etc. Not easy for even the most advanced programmers. DO NOT even try to do this as your first programming project because you're going to get absolutely nowhere.

 

Long story short: There's a reason so many companies use Linux and don't make their own OS from scratch.

Link to comment
Share on other sites

Link to post
Share on other sites

Thanks so much to all the reply's, I guess it was stilly of me to think I could just make an OS.

 

Right now it's not so much I want to make an OS but rather a kernel, but really before I can consider to do any thing you guys suggested to learn a programming language which I am keen on doing.

 

What language would you guys recommend? I've learnt programming languages before like HTML, CSS and PHP but nothing like C or C++.

 

Anyway thanks again to the reply's and hope to hear from all of you again.

Link to comment
Share on other sites

Link to post
Share on other sites

@TheSprinkle

 

Have a look at this (google: operating systems internals and design principles 7th edition pdf)

 

and this (google: data structures and algorithms by robert lafore pdf)

 

Don't kid yourself. You aren't going to build a kernel. There is a lot to be said though for understanding how they work and how they are built. You will need the OS book to understand how they work, and the algorithm book to understand how they are built. It wouldn't hurt to know java fairly well. With that being said, you could learn a lot of programming skills from the algorithms book.

Rig: i7 2600K @ 4.2GHz, Larkooler Watercooling System, MSI Z68a-gd80-G3, 8GB G.Skill Sniper 1600MHz CL9, Gigabyte GTX 670 Windforce 3x 2GB OC, Samsung 840 250GB, 1TB WD Caviar Blue, Auzentech X-FI Forte 7.1, XFX PRO650W, Silverstone RV02 Monitors: Asus PB278Q, LG W2243S-PF (Gaming / overclocked to 74Hz) Peripherals: Logitech G9x Laser, QPad MK-50, AudioTechnica ATH AD700

Link to comment
Share on other sites

Link to post
Share on other sites

unless you are a genius, it takes around 3 years in university to get started

Link to comment
Share on other sites

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

×