OS development RRS feed

  • Question

  • hi guys i am quite interested in developing a small OS .can anyone share any such experinces?
    Tuesday, February 13, 2007 7:27 PM

All replies

  • Developing an OS, how small it may be is not an easy procedure. You need to first understand the Kernel etc. But if you are talking about building OS for mobile phones or embedded devices, check out MSDN for Windows CE 6.0 or Windows XP Embedded.

    Thanks & Regards,
    Prathul Prabhakar
    Microsoft Student Partner

    Wednesday, February 14, 2007 7:39 AM
  • hi,

    if u want to develope a new Os from scratch ,u need to understand a lot about kernel.

    The best thing u can do is take linux(which gives kernel source) and try to modify its kernel and recompile the kernel and use it as ur os.

    i suggest to use redhat linux for kernel developement..

    Wednesday, February 14, 2007 9:43 AM
  • Hey Piyush,
    If you want to develop an OS then firstly u must have a strong command on C,C++, Assembly and low level programming and Concepts to be used in Design of OS (Operating Systems Concepts and Computer Systems Architecture and Organization Concepts). Building an OS is not a Joke. It requires great dedication, effort and lots of time ( maybe months or years). If u r serious about creating an operating system then firstly try to build kernel . Mainly Kernels are of four types:-
    Follow the wikipedia links and try to understand the concept of  kernels. Actually to understand the concept of kernels you would need to understand more than just kernel. For creating a kernel u must first know the complete computer architecture of Machine for which you are programming (i.e. you have to first decide that for which processor you are creating Operating system e.g. x86 Based Processors-(Intel and AMD) have their own instruction set than Powerpc processors. So u need to know the platform design achitecture).  For system architecture mainly u need to know instruction sets. By the way Operating System Design is a Complete Subject in 6th Semester(My College) in Computer Science Engineering (B.Tech) (Maybe at different semesters at different college) and the complete information cannot be provided in this thread itself (It's too vast). You need to study the complete "Operating Systems" semester course to understand the concepts of OS (e.g. Time Scheduling, Multiprogramming, Interrupt Handling and lots and lots of more concepts) just to create kernel. U need to understand the Hardware Interrupts, Device Data Communication methods (Concept of Buses) and control mechanism of a computer system. In short if you are first to these concepts then forget about creating operating system. First read about Computer Systems Architecture ( A Self Contained Semester course in Computer Science Engg.). Then Proceed to Learn Assembly and Low Level Programming (Another Semester Course). After Than Study OS Concepts. Finally u will be able to create your own OS. But mind it it is not so simple as to say about it. So after all I have written it means that To Write even a small OS you need to have at least B.Tech degree in Computer Science Engg. as of these days or you must have complete knowledge about Computer System Architecture and OS Concepts. Following are some books for further reading:
    1.   Computer System Architecture and Organization - Designing for performance, 5th Edition ( Author:- William Stallings, Publisher:- Pearson Education).
    2. Milan Milenkovic - Operating Systems Concepts and Design (Publisher:- Tata Mc Graw Hill).
    D.M. Dhamdhere – Systems Programming and Operating Systems, Tata McGraw Hill, 2nd Revised Edition.

    If You are successfull in developing kernel then you have actually made a small OS. And if u have succeeded in creating that kindly Send it to me so that I can have a try on it.

    Any further questions are welcome...

    Best of Luck!
    Wednesday, February 14, 2007 6:06 PM