Programing an OS

I am KYAG

Solid State Member
Messages
12
Location
Oklahoma
Hi, me and a few friends are really into programming and we want to start on a big project. So we decided to start making an os. I checked the other post about this but no answers were given to help me. I know that we will need to know C, and I know that this will most likely take a long time. It will also most likely be a linux os.If you have any ideas on where to start any info will be greatly appreciated, and if you wanna help out send me an email.

Thank you for your time.
 
Start by getting the Linux Kernel. Then from there build off of it. No one here has built an OS from scratch. So we cant tell you what your looking for. We can tell you that it requires C#, C++, Java and every bit of coding language that is out there. Talk to the people over at Ubuntu. They built that from the ground up, they would know more about it than a generalized forum such as us.
 
i would look for college classes covering this material and buy the books they use during the class. see if you can nail it down w/o a teacher.


Linux Device Drivers: An Introduction to Kernel Programming course - UC Berkeley Extension

Prerequisites: C programming. Some experience with Linux programming and the x86 architecture is helpful.


Linux Kernel Programming in an Operating Systems Class | Rob Hess

Since Fall of 2006, I have been working with Paul Paulson to integrate Linux kernel programming into CS 411, the Senior-level Operating Systems course here at OSU. Our goals in doing so are to provide students with practical experience working with and programming in a real production operating system and, in addition, to introduce them to the type of collaborative effort that goes into working on a large, open-source project such as Linux.



edit - before getting started, i suggest setting goals before hand. this way you know exactly what you are trying to accomplish.
 
Last edited:
I've attempted building an OS from ground up in assembly. one of the best things you can do is start reading other peoples OS code. (see OS dev wiki)
first you'll need a lot of planning, but dont go to ambitious if your starting from scratch. steps like; printing to the screen, getting a user input ect ect, simple things can take months to implement. so start small and make sure your working on something and not just working to make the OS look cool.
You'll need to have an in depth knowledge of low level languages like C and Assembly. Although much of Linux's UI and other functions are writtain in higher level languages (C++ ect ) , the base of any OS is normally writtain in C or assembly because those are pretty much the only languages which dont rely on API functions and standard libarys. an OS in C++ is certainly possible (see BrokenThorn link) but C is much more suited for the job (C was designed for OS programming) so defiantly start there.
a great places to have a gander through are:
BrokenThorn Entertainment
^ with the BrokenThorn tutorials its very easy to feel like you've writtin an OS when really you've just modified the example code :p still great tutorials though
and here:
Expanded Main Page - OSDev Wiki
^ here you'll find all the info you'll ever need for writing an OS you'll also find tutorials on writing different bits and bobs in C and assembler (bootloaders from scratch, Printf() routines ect ect). the guys at OS dev wiki forums will help you out, but they wont write code for you. :)

I personally found that starting from scratch was better than starting with Linux, it felt more my own, a product of my own mind not a modified version of someone else idea.But see what suits you guys :)
Good luck on your journey!
Also, theres a PM on its way to you from me :)
 
Back
Top Bottom