Complete Newbie Interested in Writing an OS

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
User avatar
Brynet-Inc
Member
Member
Posts: 2426
Joined: Tue Oct 17, 2006 9:29 pm
Libera.chat IRC: brynet
Location: Canada
Contact:

Post by Brynet-Inc »

Microsoft produces? That doesn't sound right.. lol

Dex, I hope you meant "products".. :roll:
Image
Twitter: @canadianbryan. Award by smcerm, I stole it. Original was larger.
User avatar
dc0d32
Member
Member
Posts: 69
Joined: Thu Jun 09, 2005 11:00 pm
Location: Right here

Post by dc0d32 »

Dex wrote:Also note, that you can not write your own OS using M$ products :shock: .
Thats right theres a clause in the license, that basic says you can not use it to make OS's.
Now this is in the license for MASM, but i would be suprized if its not in the other M$ products.
Do Express editions of Visual Studio impose similar license? I mean if the kernel is going to be open source & educational and not sold, what does m$ say?
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Post by Combuster »

I just checked the VS6 Pro license - its free of Open Source Software and OS-limitation statements. (you are not allowed to license MASM code under the GPL either) If those limitations were still present in VS i think microsoft would lost a lot of people to GCC. They are not THAT stupid.

I don't have later editions of Visual Studio - They scrapped classic VB from those. :(
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
User avatar
Kevin McGuire
Member
Member
Posts: 843
Joined: Tue Nov 09, 2004 12:00 am
Location: United States
Contact:

Re: Complete Newbie Interested in Writing an OS

Post by Kevin McGuire »

drndrw wrote:Hey guys. I'm drndrw and I, well want to write an operating system. Anyways I'm fairly new to programming (I just know a tiny bit of C# and some PHP) but I want to know what I need to learn and know about to write an operating system. My plan pretty much right now is to finish learning C#, and then to learn C (since C# is a simplified version of C, I think it would be easier to learn) and Assembler after that. Maybe then to learn the basics about writing a Kernel then try writing one. I know my plan is pretty whacked out and it probably won't work, but it might be worth a shot. Anyways, I'm here to ask you guys what I should do to get ready to even consider writing an operating system. I hope you can maybe give me a sane plan to get me going. Thanks :)!
The goal sheet for learning C (or C++) is to learn:
  • the difference in a pointer and integer and how the machine code behind them work; pointers to pointers..
  • linked lists (searching, adding, removing, single linked, double linked, splitting, sorting), trees, arrays, and stacks -- model stacks in the language.
  • what sections are in a object file and how they are used.
  • the build steps; difference in compiling and linking; how linking works; what symbols are and how they are used
  • build techniques for using loops and conditional expressions. (for, while, if)
  • bit manipulations, and bit ordering; big/little endianess; byte ordering; flags; binary operators (and, or, xor, not).
  • good coding style (tabbing, indention, neatness); how to correctly use header and source files; good documentation style (tabbing, indention, neatness);
  • modular programming; breaking large complex mechanisms into smaller parts that are easier to manage and fit together better which increase readability, increase maintainability, and decrease bugs.
Just some stuff I can think of pretty quickly.
Post Reply