Notices
Results 1 to 8 of 8

Thread: OS dev

  1. #1 OS dev 
    New Member
    Join Date
    Apr 2007
    Posts
    4
    Hi, I know I'm not capable of developing a working operating system, but I would like to. So can anyone tell me what languages, techniques, concepts, etc. do I need to become familiar with to develop one?

    Thanks


    Reply With Quote  
     

  2.  
     

  3. #2  
    Forum Professor leohopkins's Avatar
    Join Date
    Dec 2006
    Location
    Dulwich, London, England
    Posts
    1,417
    Language = Assembly.

    Techniques ? Well if Microsoft are anything to go by, then I would set yourself a deadline as to when you want the software to be finished by. Then eveytime you go to work, clock in, then spend the rest of the day at a local coffe shope or dougnut house. One week before launch date realise you havnt done anything yet then quickly hash together the most extraordinary piece of shit you can imagine. Then you will have yourself an OS.

    Thats what microsoft do (probably).


    The hand of time rested on the half-hour mark, and all along that old front line of the English there came a whistling and a crying. The men of the first wave climbed up the parapets, in tumult, darkness, and the presence of death, and having done with all pleasant things, advanced across No Man's Land to begin the Battle of the Somme. - Poet John Masefield.

    www.leohopkins.com
    Reply With Quote  
     

  4. #3  
    New Member
    Join Date
    Apr 2007
    Posts
    4
    Where can I learn assembly? Is that the only language I will need? I have some experience with C and Objective C.
    Reply With Quote  
     

  5. #4  
    Red
    Red is offline
    Forum Freshman Red's Avatar
    Join Date
    Apr 2007
    Posts
    63
    Just wondering why are you trying to develop an OS? Sounds interesting yes but if u are a one man band it's gonna take a LONG time unless you can get some more experienced people to work with you.
    Reply With Quote  
     

  6. #5  
    New Member
    Join Date
    Apr 2007
    Posts
    4
    I'm aware that it is not at easy task at all. But what I want to do is just a bootable OS that does simple tasks, I do not intend to sell it. I just want to learn more about the subject.
    Reply With Quote  
     

  7. #6  
    Forum Professor leohopkins's Avatar
    Join Date
    Dec 2006
    Location
    Dulwich, London, England
    Posts
    1,417
    I wrote a GUI for the ZX spectrum 128k once. A bit pointless I know. but it looked nice even though it did take about an hour to load. lol

    Erm....yes learn assembly language, that is the language that all processors speak. (Machine code)
    Also learn hexidecimal and binary. (Binary should take you about ten minutes to learn, if you don't know the system already)
    The hand of time rested on the half-hour mark, and all along that old front line of the English there came a whistling and a crying. The men of the first wave climbed up the parapets, in tumult, darkness, and the presence of death, and having done with all pleasant things, advanced across No Man's Land to begin the Battle of the Somme. - Poet John Masefield.

    www.leohopkins.com
    Reply With Quote  
     

  8. #7  
    Forum Freshman Keith's Avatar
    Join Date
    Mar 2007
    Location
    NY
    Posts
    88
    Well, if you want something that may be a bit easier...
    http://www.linuxfromscratch.org/

    Its guide book on how to develop your own linux system.
    http://img216.imageshack.us/img216/6164/thinghl2.jpg
    "We make our world significant by the courage of our questions and by the depth of our answers." -Carl Sagan
    Reply With Quote  
     

  9. #8  
    Forum Freshman spirytus's Avatar
    Join Date
    Dec 2006
    Posts
    44
    Creating your own OS for a modular machine as complicated as the PC is definitely not an easy task. Thankfully it has gotten a little easier since the hay-days of Bill Gates and company...

    A functional OS should manage:

    Processes; so you need intimate knowledge of the CPU. Functions, architecture, etc...

    Memory; volatile, non-volatile, cpu registers, cpu-cache, ram, and disk-cache (aka virtual memory).

    Filesystems; you'll need to learn how data is stored/retrieved on a drive (be it a CD, DVD, hard-disk, floppy). Boot-sector, Partitions etc...

    Device-drivers; you'll need to learn how to access various devices through the system bus or via other means. You'll need to learn various interface standards such PCI, PCI-E, SATA, IDE...

    You can find books and online-material on all these subjects.

    Developing your own OS is definitely not an easy task and will take you years to master...

    If you're really interested, and have the programming knowledge (ie: C/C++ [by the way, knowing Assembly goes a long way, but is definitely not a requirement]), start learning from he many open-source projects such us Linux (see Keith's link), OpenDOS, FreeBSD etc...

    Good luck on your journey

    P.S. Something to get you started (ontop of Keith's link):

    http://en.wikipedia.org/wiki/Operating_system

    http://en.wikipedia.org/wiki/FreeDOS
    There are 10 types of people; those who understand binary, and those who don't.
    Reply With Quote  
     

Bookmarks
Bookmarks
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •