1. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Apr 2011
    Rep Power

    Creating an Operating System?

    Hello, I was wondering earlier today as I became frustrated with Windows Vista for the umpteenth time how to create my own operating system. While I know it probably won't happen it can't kill me to know how it's done... so I guess my real question is has the process been documented before? I couldn't think of anywhere else to post this seeing as any attempts to create a unique operating system was probably with UNIX...
  2. #2
  3. Contributing User
    Devshed Frequenter (2500 - 2999 posts)

    Join Date
    Mar 2006
    Rep Power
    'Quite simple' really - all you need do is write a set of low-level functions that handle input-output to all possible devices (various disks, including read-only types; graphics devices, printer devices, network devices, file system devices, which, of course means defining and controlling a file system, pointers, keyboards, etc.,) the correct way of being 'invoked' by the Master Boot Record, including interacting correctly with multi-boot environments (grub, LILO, etc.,), a security mechanism (which would interact with the file system, etc.,). Then glue all that together seamlessly with a front-end interface that is friendly, intuitive and useful!
    Of course things get a bit more complex if you want to permit multi-tasking or multi-threading ...
    The moon on the one hand, the dawn on the other:
    The moon is my sister, the dawn is my brother.
    The moon on my left and the dawn on my right.
    My brother, good morning: my sister, good night.
    -- Hilaire Belloc
  4. #3
  5. Banned ;)
    Devshed Supreme Being (6500+ posts)

    Join Date
    Nov 2001
    Woodland Hills, Los Angeles County, California, USA
    Rep Power
    There are quite a few books written on the subject. I own the following:
    1. Developing Your Own 32-Bit Operating System - Learned a lot about writing a boot loader from this one. Concepts are a little glossed over, but the included CD ROM has the full source code.
    2. ]Operating Systems - Design and Implementation <-- I learned a lot from this. This contains the source code of Minix OS and a good explanation of the design choices and algorithms used. Incidentally, this was one of the only decent books on OSs available in the early 90s, as the Lions book (see below) was illegal to own then. Also, since the professor who wrote this book stopped accepting patches (because he needed to give his students homework to do and couldn't do it if external people kept implementing the features he'd left out), Linus Torvalds was inspired to create his own OS, Linux.
    3. Design of the UNIX operating system - I don't own this one personally, but I've heard it is a very good book.
    4. Lions Commentary on UNIX - The infamous Lions book, once the most banned book in Computer Science history . Now, it is possible to buy a legal copy of the book. Very good reading.
    5. Programming Embedded Systems - If anything, this book has a very basic OS coded in C++. It doesn't have many features associated with larger OSs and the OS and application code are patched within the same binary, but it is easy to understand and extend.
    Up the Irons
    What Would Jimi Do? Smash amps. Burn guitar. Take the groupies home.
    "Death Before Dishonour, my Friends!!" - Bruce D ickinson, Iron Maiden Aug 20, 2005 @ OzzFest
    Down with Sharon Osbourne

    "I wouldn't hire a butcher to fix my car. I also wouldn't hire a marketing firm to build my website." - Nilpo

IMN logo majestic logo threadwatch logo seochat tools logo