Executable File FormatsThis is a featured page

Many of the key ideas and features of operating systems get embodied in the executable file format. If you want to understand an operating system, you must first understand the format(s) it uses to store executable code and later to start executing it.

  • a.out
  • COFF
  • XCOFF
  • PE
  • ELF
  • Mach-O
  • VMS image file
  • MS-DOS ".COM"
  • MS-DOS ".EXE"
  • Java .class file

This page should include some discussion of the evolution of object file formats, and note that simple (even dopey) file formats like MS-DOS ".COM" formats came after more elaborate mainframe formats. Talk about reinventing the wheel.

This page should also include some discussion about how some executable file formats implicitly require starting a single thread of execution (.COM, .EXE) while others (Mach-O) don't. Elaborate on the implicit vs explicit things like threads of execution, relocation,

Something should be made of VMS executable file formats - how TYPE.EXE actually gets relocated inside the user's VMS process, not given its own address space, the process of image rundown and how the moral equivalent of a DLL can have its own permissions.

Discussion of static linking, load-time linking, automatic dynamic linking, and explicit dynamic linking.


No user avatar
bediger
Latest page update: made by bediger , May 22 2008, 11:04 AM EDT (about this update About This Update bediger Edited by bediger

132 words added

view changes

- complete history)
Keyword tags: None (edit keyword tags)
More Info: links to this page

Anonymous  (Get credit for your thread)


There are no threads for this page.  Be the first to start a new thread.