Making My Own Operating System

Im Thinking On Making Making My own Operating Syetm

  • (5 Pages)
  • +
  • 1
  • 2
  • 3
  • Last »

69 Replies - 24825 Views - Last Post: 19 April 2012 - 10:52 PM Rate Topic: -----

#1 joepay  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 36
  • Joined: 22-January 09

Making My Own Operating System

Posted 23 January 2009 - 03:35 AM

[font=Comic Sans Ms][size=5]
i was wondering if anyone could help me when making my own operating suystem im quite new to making my own Programs and i was wondering if anyone had any tips im currently working my way through the sams C++ in 24 hours book
also is C++ a good language for making operating systems
thanks!
Is This A Good Question/Topic? 0
  • +

Replies To: Making My Own Operating System

#2 Gloin  Icon User is offline

  • Expert Schmexpert...
  • member icon

Reputation: 235
  • View blog
  • Posts: 4,489
  • Joined: 04-August 08

Re: Making My Own Operating System

Posted 23 January 2009 - 09:31 AM

How much programming experience do you have?
C/C++ is probably one of the better choices if you want to make your own OS.
It's not exactly a thing you create overnight though.
You should check up on things like processes and threads to begin with.
Was This Post Helpful? 0
  • +
  • -

#3 William_Wilson  Icon User is offline

  • lost in compilation
  • member icon

Reputation: 205
  • View blog
  • Posts: 4,807
  • Joined: 23-December 05

Re: Making My Own Operating System

Posted 23 January 2009 - 09:42 AM

A good first step before creating your own OS would likely be to look over the Linux kernel documentation and attempt to make some changes of your own. There are many VM programs that can help you make this easier in case you make a mistake.
(I know from experience it isn't fun to re-install your Linux OS because of a missing semi-colon)
Once you are comfortable with this, you can either begin to design your own, or build a Linux based OS, depending on your comfort level and how complex you want the end result to be.
Was This Post Helpful? 0
  • +
  • -

#4 FrozenSnake  Icon User is offline

  • En man från Sverige!

Reputation: 122
  • View blog
  • Posts: 998
  • Joined: 30-July 08

Re: Making My Own Operating System

Posted 23 January 2009 - 09:55 AM

View Postjoepay, on 23 Jan, 2009 - 02:35 AM, said:

i was wondering if anyone could help me when making my own operating suystem im quite new to making my own Programs and i was wondering if anyone had any tips im currently working my way through the sams C++ in 24 hours book also is C++ a good language for making operating systems
thanks!


If I aint totally wrong just windows 95 had 1 million lines of code. So you should learn a language FIRST before going into making a complete OS. You will probably need to learn assembly too. Very good understanding of Assembly, C and C++ is a must.
Was This Post Helpful? 0
  • +
  • -

#5 joepay  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 36
  • Joined: 22-January 09

Re: Making My Own Operating System

Posted 23 January 2009 - 10:15 AM

View PostFrozenSnake, on 23 Jan, 2009 - 08:55 AM, said:

View Postjoepay, on 23 Jan, 2009 - 02:35 AM, said:

i was wondering if anyone could help me when making my own operating suystem im quite new to making my own Programs and i was wondering if anyone had any tips im currently working my way through the sams C++ in 24 hours book also is C++ a good language for making operating systems
thanks!


If I aint totally wrong just windows 95 had 1 million lines of code. So you should learn a language FIRST before going into making a complete OS. You will probably need to learn assembly too. Very good understanding of Assembly, C and C++ is a must.


thanks i was aware that i would be unable to do it at my current standards but i will definately learn C++ as i am currently and gain an understanding of assembly
Was This Post Helpful? 0
  • +
  • -

#6 joepay  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 36
  • Joined: 22-January 09

Re: Making My Own Operating System

Posted 23 January 2009 - 10:23 AM

View PostGloin, on 23 Jan, 2009 - 08:31 AM, said:

How much programming experience do you have?
C/C++ is probably one of the better choices if you want to make your own OS.
It's not exactly a thing you create overnight though.
You should check up on things like processes and threads to begin with.

thanks for the advice i wasent really looking to make my own one today just advice on stuff to learn before i do. i have about 6 months experiance but thats only making simple programs running from compilers im reading throught the Sams learn C++ in 24 hours i find it quite useful for learning the basics.
Was This Post Helpful? 0
  • +
  • -

#7 FrozenSnake  Icon User is offline

  • En man från Sverige!

Reputation: 122
  • View blog
  • Posts: 998
  • Joined: 30-July 08

Re: Making My Own Operating System

Posted 23 January 2009 - 10:27 AM

Someone that make a OS is in a team where everyone have tons of experience = many many many years of experience. So try to make a own version of MS DOS (probably to hard) before doing something with a window handler.

You will probably need to know a lot more then just programming.

This post has been edited by FrozenSnake: 23 January 2009 - 10:30 AM

Was This Post Helpful? 0
  • +
  • -

#8 Tom9729  Icon User is offline

  • Segmentation fault
  • member icon

Reputation: 180
  • View blog
  • Posts: 2,641
  • Joined: 30-December 07

Re: Making My Own Operating System

Posted 23 January 2009 - 11:26 AM

View PostFrozenSnake, on 23 Jan, 2009 - 12:27 PM, said:

Someone that make a OS is in a team where everyone have tons of experience = many many many years of experience. So try to make a own version of MS DOS (probably to hard) before doing something with a window handler.

You will probably need to know a lot more then just programming.

Nonsense! Well, the experience part is right on, but there are plenty of one-man operating systems.

@joepay,
This site has a lot of tutorials that should (at least) get you started on writing your own bootloader and kernel.

Most operating systems are written in C. Most bootloaders are written in assembly language.

I recommend this book for learning C.

Here are some other books I can recommend.
http://www.amazon.co...s...4581&sr=8-1
http://www.amazon.co...s...4566&sr=8-1

If you're attending a college that has a computer science program, it probably has a lot of books on this subject in the library (mine does).

Occasionally some hobby OSs pop up on OSNews.

Also remember that Linux and FreeBSD are Open Source, which means you can go see how they do things if you're curious.

You can get a copy of the first released version of the Linux kernel here. It's pretty basic, but it still runs in a VM. It's 9180 lines long (including the Makefile).

Most hobby OSs don't get very far, and are done more for learning than anything else. :)
Was This Post Helpful? 0
  • +
  • -

#9 Plus  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 41
  • View blog
  • Posts: 414
  • Joined: 24-November 08

Re: Making My Own Operating System

Posted 23 January 2009 - 11:39 AM

making your own OS .. nice idea, but

you need first to start with process, threads, and run-time

and remember .. Operating Systems are not what you see on the desktop,

they are based on the Console ...

Windows based on DOS .. Linux based on Terminal ...

starting with making a Console then developing it into Shell then developing it into OS with Graphical User Interface ...

building an OS is not an easy thing .. but start making you team ...
Was This Post Helpful? 0
  • +
  • -

#10 Hyper  Icon User is offline

  • Banned

Reputation: 108
  • View blog
  • Posts: 2,129
  • Joined: 15-October 08

Re: Making My Own Operating System

Posted 23 January 2009 - 12:16 PM

View PostFrozenSnake, on 23 Jan, 2009 - 08:55 AM, said:

View Postjoepay, on 23 Jan, 2009 - 02:35 AM, said:

i was wondering if anyone could help me when making my own operating suystem im quite new to making my own Programs and i was wondering if anyone had any tips im currently working my way through the sams C++ in 24 hours book also is C++ a good language for making operating systems
thanks!


If I aint totally wrong just windows 95 had 1 million lines of code. So you should learn a language FIRST before going into making a complete OS. You will probably need to learn assembly too. Very good understanding of Assembly, C and C++ is a must.


That's not alot of coding at all. Think about how short MS-DOS is, if converted to C/C++.
Experience is very helpful but is not needed, nor is a "team." Operating Systems can be written in under a day by a single programmer.

It all depends on what you want. I assume all the above posters are under the assumption you want to duplicate M$'s design methodology and such, which isn't neccessarly a bad thing, but M$ OS is a "General purpose OS" it is not meant for anything specific (security, data, server for a thousand computers, etc).

You can very easily create your own super basic OS. You can have a "mouse" sort of like MS-DOS. You'll be stuck with the typical MS-DOS like setup unless you know what you're doing. Assembly is not required, but highly recommended. I'm not personally trying to discourage you, but reading a single book won't tell you everything you'll need to know, it how will-ever open a "gate" to learning more about C++.

Books like "Sams Teach Yourself in 24 Hours" will teach you the language syntax, and alot of the commands of it. Via "control structures," "data structures," and other generically named stuff.

Good luck on writting it!
If you do, make sure you have a very good idea of what you want long before you sit down and code.

EDIT: Oh, and before you even try writting an Operating System of your own, here's something to make you think of how much "work" it may or may not take: Write a super basic set of games for MS-DOS (16-bit) in C++, or even Assembly if you find it to be easier (MASM, TASM, A89, anything works, even actual pure x86 Assembly).

If you can accomplish that all on your own, without any help or advice, and actually improve it every bit by bit and add functionality to each game (eg: a basic standard menu system for each), you'll know how simple it is to do stuff. :)

This post has been edited by Hyper: 23 January 2009 - 12:21 PM

Was This Post Helpful? 0
  • +
  • -

#11 joepay  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 36
  • Joined: 22-January 09

Re: Making My Own Operating System

Posted 23 January 2009 - 12:24 PM

View PostHyper, on 23 Jan, 2009 - 11:16 AM, said:

View PostFrozenSnake, on 23 Jan, 2009 - 08:55 AM, said:

View Postjoepay, on 23 Jan, 2009 - 02:35 AM, said:

i was wondering if anyone could help me when making my own operating suystem im quite new to making my own Programs and i was wondering if anyone had any tips im currently working my way through the sams C++ in 24 hours book also is C++ a good language for making operating systems
thanks!


If I aint totally wrong just windows 95 had 1 million lines of code. So you should learn a language FIRST before going into making a complete OS. You will probably need to learn assembly too. Very good understanding of Assembly, C and C++ is a must.


That's not alot of coding at all. Think about how short MS-DOS is, if converted to C/C++.
Experience is very helpful but is not needed, nor is a "team." Operating Systems can be written in under a day by a single programmer.

It all depends on what you want. I assume all the above posters are under the assumption you want to duplicate M$'s design methodology and such, which isn't neccessarly a bad thing, but M$ OS is a "General purpose OS" it is not meant for anything specific (security, data, server for a thousand computers, etc).

You can very easily create your own super basic OS. You can have a "mouse" sort of like MS-DOS. You'll be stuck with the typical MS-DOS like setup unless you know what you're doing. Assembly is not required, but highly recommended. I'm not personally trying to discourage you, but reading a single book won't tell you everything you'll need to know, it how will-ever open a "gate" to learning more about C++.

Books like "Sams Teach Yourself in 24 Hours" will teach you the language syntax, and alot of the commands of it. Via "control structures," "data structures," and other generically named stuff.

Good luck on writting it! If you do, make sure you have a very good idea of what you want long before you sit down and code.

thanks for the comment and i didnt expect te book to tell me everything i was simply explaining how im not that compitent with C++ and if anyone had any advice im goin to invest in several books and a university and what not to explain to me how i would accomplish a task... thanks for outlining that not all OS's are like Windows and Mac i found it to be very helpful as i was not aware of OS's such as these. I found that making these sorts of programs could only help me in getting know the ins and outs of C++ and various other programing languages
Was This Post Helpful? 0
  • +
  • -

#12 Hyper  Icon User is offline

  • Banned

Reputation: 108
  • View blog
  • Posts: 2,129
  • Joined: 15-October 08

Re: Making My Own Operating System

Posted 23 January 2009 - 12:25 PM

You're very welcome.

If you think about what an "Operating System" is, you'll understand alot more about stuff. Operating Systems aren't all GUIs, and don't all have the same outline.

The Playstation, Nintendo, Nintendo 64, Atari, etc. All have operating systems, although those are "game specific platforms" and their operating systems don't let the user interact with alot of stuff, other than the games you "plug in."
Was This Post Helpful? 0
  • +
  • -

#13 joepay  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 36
  • Joined: 22-January 09

Re: Making My Own Operating System

Posted 23 January 2009 - 12:33 PM

View PostTom9729, on 23 Jan, 2009 - 10:26 AM, said:

View PostFrozenSnake, on 23 Jan, 2009 - 12:27 PM, said:

Someone that make a OS is in a team where everyone have tons of experience = many many many years of experience. So try to make a own version of MS DOS (probably to hard) before doing something with a window handler.

You will probably need to know a lot more then just programming.

Nonsense! Well, the experience part is right on, but there are plenty of one-man operating systems.

@joepay,
This site has a lot of tutorials that should (at least) get you started on writing your own bootloader and kernel.

Most operating systems are written in C. Most bootloaders are written in assembly language.

I recommend this book for learning C.

Here are some other books I can recommend.
http://www.amazon.co...s...4581&sr=8-1
http://www.amazon.co...s...4566&sr=8-1

If you're attending a college that has a computer science program, it probably has a lot of books on this subject in the library (mine does).

Occasionally some hobby OSs pop up on OSNews.

Also remember that Linux and FreeBSD are Open Source, which means you can go see how they do things if you're curious.

You can get a copy of the first released version of the Linux kernel here. It's pretty basic, but it still runs in a VM. It's 9180 lines long (including the Makefile).

Most hobby OSs don't get very far, and are done more for learning than anything else. :)

yh i was only really going to do it so i have a compitent knowledge of computer languages before i start my university in a couple of years i found that my current school in england is not that fond of computer science and programing i mean with my current knowledge i know more than anyone else in the school and i dont really know that much im hoping when i get to unviersity things will be different... thanks for the advice

View PostHyper, on 23 Jan, 2009 - 11:25 AM, said:

You're very welcome.

If you think about what an "Operating System" is, you'll understand alot more about stuff. Operating Systems aren't all GUIs, and don't all have the same outline.

The Playstation, Nintendo, Nintendo 64, Atari, etc. All have operating systems, although those are "game specific platforms" and their operating systems don't let the user interact with alot of stuff, other than the games you "plug in."

yh i mean before i started learning C++ i started Hexa decimals doing rom hacks and stuff and before that it was hardware but i found both of these very bland once all the tricks had been learnt and the limitations were great so i found that computer programing and stuff is very useful and fulfilling and the variety is great and i can make my career out of it once i start my university degrees any advice on what degrees to take baring in mind im from england just a general area will do fine
thanks!
Was This Post Helpful? 0
  • +
  • -

#14 Hyper  Icon User is offline

  • Banned

Reputation: 108
  • View blog
  • Posts: 2,129
  • Joined: 15-October 08

Re: Making My Own Operating System

Posted 23 January 2009 - 02:18 PM

ROM editing (through hexidemical) is beyond simple. Anybody can hex edit a game (ROM emulators as well as non-ROMs). If you want real creativity with hacking of games, write a program and give it a GUI, that way you can say "hex edit" Jazz Jack Rabbit. Learn what bytes are tiles, how they're drawn, etc. Then make your own "map editor" with a GUI.

You can do that with a variety of old games (DOS games I'd say are the most fun to do it to).
Was This Post Helpful? 0
  • +
  • -

#15 joepay  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 36
  • Joined: 22-January 09

Re: Making My Own Operating System

Posted 23 January 2009 - 02:21 PM

View PostHyper, on 23 Jan, 2009 - 01:18 PM, said:

ROM editing (through hexidemical) is beyond simple. Anybody can hex edit a game (ROM emulators as well as non-ROMs).

Thus why Joe Started Computer Programing put my mind to good use
thanks for the advice btw
Was This Post Helpful? 0
  • +
  • -

  • (5 Pages)
  • +
  • 1
  • 2
  • 3
  • Last »