System Object Model (file format)

System Object Model (file format)

In computing, the System Object Model (SOM) is a proprietary executable file format developed by Hewlett-Packard for its HP-UX and MPE/ix operating systems.In particular, SOM is the native format used for 32-bit application executables, object code, and shared libraries running under the PA-RISC family of processors.

With the introduction of 64-bit processors, Hewlett Packard adopted the Executable and Linkable Format (ELF) format to represent the wider 64-bit program code, while still using SOM for applications running in 32-bit mode. Later, with the introduction of the Itanium processor family, HP-UX has abandoned the SOM format in favor of ELF for both 32-bit and 64-bit application code.

In HP-UX the SOM file format is sometimes called the a.out format and is described by C programming language structures in the header file "/usr/include/a.out.h". However the SOM format is technically not the same as the standard a.out format used by many other Unix operating systems.

Overview of the SOM file format

A SOM file consists of a fixed-size header record followed by a number of sections, some of which are optional. The header always appears at the beginning of the file and contains the byte offsets and sizes of where the other sections are located within the file. Except for the header the other sections may appear anywhere in the file, although the typical layout of a SOM file (assuming all sections are present) is as follows:

* Header Record
* Auxiliary Header Record
* Space Records
* Subspace Records
* Loader Fixup Records
* Space Strings
* Symbol Records
* Fixup Records
* Symbol Strings
* Compiler Records
* Data for Loadable Spaces
* Data for Unloadable Spaces

Numeric fields are stored in big endian byte order, the native byte order of the PA-RISC, with most being 32-bit wide. Character strings are generally encoded in 8-bit ASCII and both prefixed with a 32-bit length indicator as well as being NUL-terminated (like C strings). Most records are word-aligned (start at even-byte offsets) with padding introduced as necessary.

External links

* [http://docs.hp.com/en/B2355-90696/a.out.4.html "HP-UX a.out(4) manual page"] , Hewlett-Packard
* [http://devresource.hp.com/drc/STK/docs/archive/rad_11_0_32.pdf "The 32-bit PA-RISC Run-time Architecture Document, HP-UX 11.0 Version 1.0"] , Hewlett-Packard, 1997
* [http://devresource.hp.com/drc/STK/docs/archive/rad_10_20.pdf "The 32-bit PA-RISC Run-time Architecture Document, HP-UX 10.20 version 3.0"] , Hewlett-Packard, 1997. Also available at [http://ftp.parisc-linux.org/docs/arch/pa-runtime-32-SOM.pdf parisc-linux.org]
* [http://devrsrc1.external.hp.com/STK/gloss.html#SOM "HP-UX Software Transition Kit Glossary"] , Hewlett-Packard (online)
* [http://www.parisc-linux.org/documentation/index.html#pa11 PA-RISC 1.1 Architecture Specifications]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • IBM System Object Model — For the similarly named executable file format in the HP UX operating system, see System Object Model (file format) In computing, the System Object Model (SOM) is an object oriented shared library system developed by IBM. A distributed version… …   Wikipedia

  • File format — A file format is a particular way that information is encoded for storage in a computer file. Since a disk drive, or indeed any computer storage, can store only bits, the computer must have some way of converting information to 0s and 1s and vice …   Wikipedia

  • Component Object Model — Not to be confused with COM file. Component Object Model (COM) is a binary interface standard for software componentry introduced by Microsoft in 1993. It is used to enable interprocess communication and dynamic object creation in a large range… …   Wikipedia

  • MD3 (file format) — Example of two MD3 model assets from Quake III Arena that have been linked together using tags. MD3 is a model format used by the Quake 3 engine as well as its many mods. The format is used mostly for player models and non structural geometry… …   Wikipedia

  • STL (file format) — Infobox file format name = STL icon = caption = extension = .stl mime = type code = uniform type = magic = owner = 3D Systems released = latest release version = latest release date = genre = Stereolithography container for = contained by =… …   Wikipedia

  • Project Object Model — Maven ist ein Build Management Tool der Apache Software Foundation und basiert auf Java. Mit ihm kann man insbesondere Java Programme standardisiert erstellen und verwalten. Inhaltsverzeichnis 1 Konzeptionelles 1.1 Der Standard Lebenszyklus 1.2… …   Deutsch Wikipedia

  • Object Linking and Embedding — (OLE) is a technology developed by Microsoft that allows embedding and linking to documents and other objects. For developers, it brought OLE Control eXtension (OCX), a way to develop and use custom user interface elements. On a technical level,… …   Wikipedia

  • Object Desktop — ObjectBar used with DesktopX to create a theme Developer(s) Stardock …   Wikipedia

  • File system — For library and office filing systems, see Library classification. Further information: Filing cabinet A file system (or filesystem) is a means to organize data expected to be retained after a program terminates by providing procedures to store,… …   Wikipedia

  • Common Object Request Broker Architecture — The Common Object Request Broker Architecture (CORBA) is a standard defined by the Object Management Group (OMG) that enables software components written in multiple computer languages and running on multiple computers to work together (i.e., it… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”