PE Headers RRS feed

  • Question

  • Hi everyone,

    I am developing this operating system:

    It is a mix from Hybird and Monolithic kernels

    and its a 32 bit with a memory manager , floppy disk driver and keyboard driver.


    I developed it in MSVC2005 "please don't tell me that you can't because it is real"

    now the thing that i want is make this operating system execute external programs.

    I want some documents about the *.exe extensions (PE) and how to run and  execute it without kill the main Kernel process.


    Thank you in advance

    Mohamed Elghamry
    I have 14 years old  "I am not laugh"


      Download Genius Web Explorer , It's free.
      Download Genius Desktop Clock , It's free.
      Download Genius Wallpaper Changer , It's free.
    Thursday, October 28, 2010 5:13 PM


All replies

  • I found the following link to be a great reference to the PE format - http://msdn.microsoft.com/en-us/magazine/cc301805.aspx

    The article has a link to an older version written by the same author which goes into more details.

    Microsoft MVP (Visual C++)
    Thursday, October 28, 2010 5:17 PM
  • PE is not an especially difficult format to parse, or understand in terms of how it should explode into userspace memory, so may be a fine format for your purposes at this stage.  If you are writing a new OS from scratch, though, I'd suggest that you consider how you might care to extend PE or depart from it entirely.

    one such reason? EOF data:  PE files may contain an unmapped section, after the end of the declared sections in a file.  This is currently used for a few things; code signing, archive data for installers/self-extractors, etc.  This seems to be a very powerful concept, but one thing that may be worth looking into throwing some structure into this 'end of file' section, such that you can have both an archive and a signature attached to the EOF.

    Thursday, October 28, 2010 5:36 PM
  • That is a very good suggestion.

    Microsoft MVP (Visual C++)
    Thursday, October 28, 2010 5:38 PM
  • In case you didn't see it, there is this discussion that may offer some links of use.
    Thursday, October 28, 2010 5:42 PM



    I'm very interested your issue, did you solve your problem?

    If so please share the solution with us and mark the right answers.

    If not please let me know.


    Have a nice day!


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    Monday, November 1, 2010 3:31 AM