HOME

TheInfoList



OR:

In computing, the System Object Model (SOM) is a proprietary executable
file format A file format is a Computer standard, standard way that information is encoded for storage in a computer file. It specifies how bits are used to encode information in a digital storage medium. File formats may be either proprietary format, pr ...
developed by Hewlett-Packard for its
HP-UX HP-UX (from "Hewlett Packard Unix") is Hewlett Packard Enterprise's proprietary implementation of the Unix operating system, based on Unix System V (initially System III) and first released in 1984. Current versions support HPE Integrit ...
and
MPE/ix MPE (Multi-Programming Executive) is a discontinued business-oriented mainframe computer real-time operating system made by Hewlett-Packard. While initially a mini-mainframe, the final high-end systems supported 12 CPUs and over 2000 simultaneous ...
operating systems. In particular, SOM is the native format used for
32-bit In computer architecture, 32-bit computing refers to computer systems with a processor, memory, and other major system components that operate on data in 32- bit units. Compared to smaller bit widths, 32-bit computers can perform large calcula ...
application
executable In computing, executable code, an executable file, or an executable program, sometimes simply referred to as an executable or binary, causes a computer "to perform indicated tasks according to encoded instructions", as opposed to a data fil ...
s, object code, and
shared libraries In computer science, a library is a collection of non-volatile resources used by computer programs, often for software development. These may include configuration data, documentation, help data, message templates, pre-written code and su ...
running under the
PA-RISC PA-RISC is an instruction set architecture (ISA) developed by Hewlett-Packard. As the name implies, it is a reduced instruction set computer (RISC) architecture, where the PA stands for Precision Architecture. The design is also referred to a ...
family of processors. With the introduction of
64-bit In computer architecture, 64-bit integers, memory addresses, or other data units are those that are 64 bits wide. Also, 64-bit CPUs and ALUs are those that are based on processor registers, address buses, or data buses of that size. A comp ...
processors, Hewlett Packard adopted the
Executable and Linkable Format In computing, the Executable and Linkable FormatTool Interface Standard (TIS) Portable Formats SpecificationVersion 1.1'' (October 1993) (ELF, formerly named Extensible Linking Format), is a common standard file format for executable files, ob ...
(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 Itanium ( ) is a discontinued family of 64-bit Intel microprocessors that implement the Intel Itanium architecture (formerly called IA-64). Launched in June 2001, Intel marketed the processors for enterprise servers and high-performance comp ...
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 ''The C Programming Language'' (sometimes termed ''K&R'', after its authors' initials) is a computer programming book written by Brian Kernighan and Dennis Ritchie, the latter of whom originally designed and implemented the language, as well as ...
structures in the header file "/usr/include/a.out.h". However the SOM format is technically not the same as the standard
a.out a.out is a file format used in older versions of Unix-like computer operating systems for executables, object code, and, in later systems, shared libraries. This is an abbreviated form of "assembler output", the filename of the output of Ken Th ...
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 In computing, endianness, also known as byte sex, is the order or sequence of bytes of a word of digital data in computer memory. Endianness is primarily expressed as big-endian (BE) or little-endian (LE). A big-endian system stores the mos ...
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 ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because ...
and both prefixed with a 32-bit length indicator as well as being null-terminated, like C strings. Most records are word-aligned (start at even-byte offsets) with padding introduced as necessary.


See also

*
Comparison of executable file formats This is a comparison of binary executable file formats which, once loaded by a suitable executable loader, can be directly executed by the CPU rather than being interpreted by software. In addition to the binary application code, the executables ma ...


External links


''HP-UX a.out(4) manual page''
Hewlett-Packard
''The 32-bit PA-RISC Run-time Architecture Document, HP-UX 11.0 Version 1.0''
Hewlett-Packard, 1997
''The 32-bit PA-RISC Run-time Architecture Document, HP-UX 10.20 version 3.0''
Hewlett-Packard, 1997. Also available a
parisc-linux.org


Hewlett-Packard (online)

{{Executables Executable file formats HP software