请输入您要查询的百科知识:

 

词条 System Object Model (file format)
释义

  1. Overview of the SOM file format

  2. See also

  3. External links

{{in-text citations|date=September 2011}}{{Infobox file format
| name = System Object Model
| logo =
| icon =
| iconcaption =
| screenshot =
| caption =
| extension =
| mime =
| type code =
| uniform type =
| conforms to =
| magic =
| owner = Hewlett-Packard
| released =
| latest release version =
| latest release date =
| genre =
| container for =
| contained by =
| extended from =
| extended to =
| standard =
| free =
| url =
}}

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 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

External links

  • HP-UX a.out(4) manual page, Hewlett-Packard
  • [https://web.archive.org/web/20050502101134/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
  • [https://web.archive.org/web/20050502102352/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 parisc-linux.org
  • [https://web.archive.org/web/20070722155126/http://devrsrc1.external.hp.com/STK/gloss.html#SOM HP-UX Software Transition Kit Glossary], Hewlett-Packard (online)
  • PA-RISC 1.1 Architecture Specifications
{{Executables}}

2 : Executable file formats|HP software

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/9/25 0:30:15