호환성 계층

호환성 계층(互換性階層, compatibility layer)은 네이티브가 아닌 구성 요소의 지원을 허용하는 구성 요소를 일컫는 용어이다.

소프트웨어 
소프트웨어 공학에서 호환성 계층은 외래의 시스템이 호스트 시스템에서 돌아가게 하기 위해 이진을 허용한다. 외래의 시스템의 시스템 콜을 호스트 시스템의 네이티브 시스템 콜로 번역해 준다. 외래 시스템을 위한 몇몇의 라이브러리와 함께 호스트 시스템에서도 외래 이진 프로그램을 충분히 실행할 수 있다.

이를테면 다음과 같다.
 BSD 위의 리눅스 호환성 계층
 와인: 프로그램 로더와 윈도우 API를 사용하여 마이크로소프트 윈도우 이진 파일을 유닉스 계열 시스템에서 실행할 수 있음
 윈도우 XP의 호환성 계층: 윈도우 98 및 MS-DOS 응용 프로그램을 더 잘 실행할 수 있게 도와 준다.
 KernelEx: 일부 윈도우 2000/XP 프로그램을 윈도우 98/Me에서 동작시키는 소프트웨어

하드웨어 
하드웨어 호환 계층은 하드웨어 에뮬레이션을 허용하는 도구를 포함하고 있다. 또한, 이 용어는 테이프 재생기의 경우 테이프 어댑터로 일컫기도 한다. 다른 하드웨어 호환 계층들은 외부 상자(breakout box)를 포함하는데, 외부 상자는 다른 비호환 컴퓨터의 특정한 컴퓨터 버스의 호환성을 제공한다.

같이 보기 
 하이퍼바이저
 반가상화

외부 링크 
 윈도 XP 응용 프로그램 호환성 기술 (Dave Morehouse와 Todd Phillips, 마이크로소프트사, 2001년 7월 1일)