시스템 개체 모델(파일 형식)

System Object Model (file format)
시스템 객체 모델
개발자휴렛패커드

컴퓨팅에서 시스템 객체 모델(SOM)은 HP-UXMPE/ix 운영 체제를 위해 Hewlett-Packard가 개발한 독점 실행 파일 형식이다.특히 SOM은 PA-RISC 프로세서 제품군에서 실행되는 32비트 응용 프로그램 실행 파일, 개체 코드, 공유 라이브러리에 사용되는 네이티브 포맷이다.

64비트 프로세서의 도입으로, Hewlett Packard는 더 넓은 64비트 프로그램 코드를 나타내기 위해 실행 가능 및 연결 가능 포맷(ELF) 형식을 채택했고, 32비트 모드에서 실행되는 애플리케이션에는 여전히 SOM을 사용한다.이후 Itanium 프로세서 제품군의 도입으로 HP-UX는 32비트 및 64비트 애플리케이션 코드 모두에 대해 ELF의 손을 들어 SOM 포맷을 포기했다.

HP-UX에서 SOM 파일 형식은 a.out 형식이라고도 하며 헤더 파일 "/usr/include/a.out에서 C 프로그래밍 언어 구조에 의해 설명된다.h" 그러나 SOM 형식은 기술적으로 많은 다른 유닉스 운영 체제에서 사용되는 표준 a.out 형식과 같지 않다.

SOM 파일 형식 개요

SOM 파일은 고정 크기 헤더 레코드와 그 다음에 여러 섹션으로 구성되며, 그 중 일부는 선택 사항이다.헤더는 항상 파일의 시작 부분에 나타나며, 파일 내에 다른 섹션이 위치한 바이트 오프셋과 크기를 포함한다.SOM 파일의 일반적인 레이아웃(모든 섹션이 존재한다고 가정)은 다음과 같으나 헤더를 제외하고 다른 섹션은 파일의 어느 곳에나 나타날 수 있다.

  • 헤더 레코드
  • 보조 헤더 레코드
  • 스페이스 레코드
  • 서브 스페이스 레코드
  • 로더 픽스업 레코드
  • 스페이스 스트링
  • 기호 레코드
  • 오류 복구 레코드
  • 기호 문자열
  • 컴파일러 레코드
  • 적재 가능한 공간에 대한 데이터
  • 언로드할 수 있는 공간에 대한 데이터

숫자 필드는 PA-RISC의 기본 바이트 순서인 빅 엔디안 바이트 순서로 저장되며, 대부분은 32비트 폭이다.문자열은 일반적으로 8비트 ASCII로 인코딩되며, 둘 다 32비트 길이 표시기로 접두사(C 문자열처럼 null-terminal)가 붙는다.대부분의 레코드는 필요에 따라 패딩이 도입된 워드 정렬(이븐바이트 오프셋에서 시작)이다.

참고 항목

외부 링크