하위 호환

 

1. 개요
2. 상세
3. 게임기의 하위 호환
4. 일본어 직역
5. 관련 문서


1. 개요


'''下位互換, Backward Compatibility'''
기술 및 컴퓨터 분야의 용어로, 이전 제품(=더 하위 제품)을 염두에 두고 만들어진 제품이 새 제품에서 별도의 수정 없이 그대로 쓰일 수 있는 것을 뜻한다. 반대말은 '상위 호환'. 플레이스테이션 게임 소프트웨어가 상위 기종인 플레이스테이션 2플레이스테이션 3에서 문제없이 돌아가는 것이 하위 호환의 예시다.

2. 상세


마이크로소프트의 최대 강점이기도 하다. 기업용 제품군의 비중이 크다 보니 안정성을 중시하여 새로운 규격에 대응하는 소프트웨어로의 이주에 보수적으로 대응하는 기업들의 눈치를 보게 되었고, 최신 규격에서도 이전 규격에 맞춰져 제작된 소프트웨어에 대하는 하위호환을 제공할 수밖에 없게 되었는데, 이게 오히려 엄청난 신뢰성을 확보하는 원동력이 되었다. 정반대의 사례로 애플이 유명한데, 여긴 하위호환 따위 헌신짝같이 버려버리고 새로운 규격이 나올 때마다 한정적인 하위호환을, 그것도 매우 짧은 지원 기간에만 제공해서 대응 소프트웨어를 최신 규격을 준수하도록 새로 만들 것을 강제하는 것으로 악명높다. 다만 덕분에 하위 호환으로 인한 안정성 저하가 없으며 보다 최신 기술을 적극적으로 도입할 수 있게 되었다.
또한 아래아 한글과 같은 프로그램에서 예전 도스 시절의 경우는 1.x 문서를 2.x 버전으로 읽을 수 있으나 그 반대는 안 된다. 이것이 하위 호환은 되는데 상위 호환은 안 되는 예다. 최근에는 2002 버전 이상의 경우는 간단한 내용(폰트, 여백 등)에만 상위 호환되도록 출시되고 있다.
Windows XP부터는 호환성 모드를 도입해서 하위 호환을 강화했다. Windows 7부터는 설치 프로그램이 정상적으로 작동하지 않는다고 인식하면 호환 모드를 사용해서 다시 설치할 거냐고 물어본다. 물론 일부 하드웨어 장비나 소프트웨어 등은 특수한 드라이버가 필요하거나 호환성 모드로 대응할 수 없는 API 변경 등의 문제로 돌지 않는 경우도 있다. 또한 64비트 운영체제의 경우 호환성 모드와 관계 없이 16비트 하위호환이 불가능해서 일부 MS-DOS용, 혹은 Windows 95 시대의 소프트웨어를 실행하지 못할 수도 있다. 32비트 버전은 16비트 소프트웨어를 실행할 수 있기 때문에 이런 경우는 32비트 멀티부팅을 사용하거나 VirtualBox 같은 가상머신을 써서 32비트 운영체제를 사용해야 한다.[1] [2]
게임 업계에서는 구 16비트 OS에서 돌아가던 게임을 신형 64비트 OS에서도 돌아가게 하기 위해 게임 플랫폼을 만들었다. Steam, EAOrigin에서 많은 고전 게임 구매와 설치, 구동이 가능하다. 구버전용 게임도 판매하기 위함이다. 물론 출시 당시 가격만큼 받을 수는 없지만, 아예 못 파는 것보다는 대폭 할인해서라도 파는 게 낫기 때문. 소비자도 예전 게임을 즐길수 있다는 데서 만족하니 서로 윈윈이다.[3][4]

3. 게임기의 하위 호환


게임기 제조사들이 호환성이 없는 신규 기종을 새로이 발매하게 되면 기본적으로 앞 세대 기종의 모든 타이틀 라인업이 백지화되고 차세대 기종을 위하는 새로운 소프트웨어들을 새롭게 쌓아 나가야 한다. 이미 수년간 누적된 수많은 소프트웨어들을 버리고 새 출발을 하는 것은 제조사 입장에서는 리스크이자, 소비자 입장에서는 부담감이다. 이 때문에 게임기 제조사들은 시장에 새로 들어선 최신 콘솔이 자사의 전세대기 타이틀로부터 지원을 받을 수 있도록 하위 호환 기능을 탑재하기도 한다.
윈도우 등의 PC 플랫폼과는 달리 게임기는 세대가 넘어가면 일반적으로 하드웨어의 종류가 완전히 달라져 기계어 코드 수준부터 호환 불능이 된다. 따라서 앞 세대 기기의 코드를 차세대기로 실행시킬 수단이 필요한데, 제조사들은 이를 위해 저마다의 해결책을 내놓는다.
  • (하위 호환을 지원하는 기종) - (하위 호환되는 소프트웨어)

3.1. 닌텐도


닌텐도는 언제나 하드웨어로 기본 하위 호환을 지원해 왔다. 휴대용 게임기 계열은 직전 세대의 프로세서를 별도로 탑재해 왔다.[5] 게임큐브에서 Wii U로 이어진 가정용 게임기 3기종은 전부 동일한 아키텍처의 CPU를 사용하고 호환되는 GPU를 탑재했다. Wii의 CPU는 게임큐브보다 클럭이 높으며, Wii U는 클럭을 높이고 코어 수를 3개로 늘었다. Wii는 게임큐브와 같은 아키텍처의 GPU를 사용했다. 그 반면에 Wii U는 새로운 아키텍처의 GPU를 사용하면서 하위 호환용으로 Wii의 GPU를 별도로 탑재했다. 다시 말해, Wii U는 게임큐브와 호환되는 CPU와 GPU를 모두 달고 있는 것이다. 즉, Wii U - 게임큐브 하위호환은 이론상 충분히 할 수 있다. 다만 Wii U의 ODD는 Wii U용 블루레이 디스크와 Wii용 DVD가 아니면 읽어들이지 않도록 설계했기에 게임큐브용 미니 DVD를 Wii U에서 사용할 수는 없어서 실제로는 불가능하다. 이 때문에 해커들이 Wii U를 해킹하여 홈브류로써 게임큐브 게임을 실행하는 수단이 만들어지기도 했다.[6]
슈퍼 패미컴은 원래 패미컴 게임을 지원할 계획이었다고 추측된다. 그 근거로, 메가 드라이브보다 성능이 낮고 개발 난이도가 높아 슈퍼 패미컴의 최대 약점으로 작용하는 CPU는 다름 아닌 패미컴의 CPU와 같은 계열의 칩이다.# 하위 호환을 염두에 두고 기기를 설계했지만 하위 호환은 엎어지고 기기 성능에 타격을 입었다는 설인데, 만약 사실이면 나중에 나온 플레이스테이션 3이 정확히 이 전철을 밟은 셈이다.
참고로 Wii부터 도입한 버추얼 콘솔은 클래식 게임을 다운로드하고 에뮬레이터를 사용해 구동하는 방식이지만, 게임에 에뮬레이터가 종속되어 있고 하드웨어로 직접 하위 호환되는 기종은 서비스하지 않으며, 결정적으로 메가 드라이브MSX처럼 닌텐도가 생산하지 않은 기종도 지원하기 때문에 하위 호환 기능으로 분류하지는 않는다.

3.2. 세가


마스터 시스템의 CPU를 사운드 칩으로 탑재하고 하위 호환에도 이용했다.

3.3. 소니


PS2는 PS1의 CPU 등 일부 칩은 하드웨어 내장으로, GPU 같은 일부 칩은 소프트웨어 에뮬레이션으로 PS1 게임을 실행하며, 완성도가 높아 극소수의 게임을 제외하면 호환성에 이상이 없다. 가령 PS1의 CPU는 PS2에서 I/O 칩으로 쓰인다. 나중에 나온 70000번대 '슬림' 버전에서는 일부 칩이 삭제되고 해당 기능을 PS2의 CPU인 Emotion Engine이 에뮬레이션으로 대체하게 되었는데, 이로 인해 일부 게임에서 호환성에 문제가 생겼다. PS2로 실행하는 때에 문제가 생기는 PS1 게임들의 목록
PS3는 처음에는 PS2의 CPU와 GPU를 내장한 채로 발매되었다. 나중에 CPU를 제거하고 PS3의 CPU를 통하는 에뮬레이션으로 때운 모델이 발매되었지만 에뮬레이션은 완벽하지 못해 호환성에 문제가 있다. 이후에는 GPU도 빠진, 하위 호환 기능이 없는 모델이 나오며 하위 호환 지원 모델은 단종되어 버렸다. 아마도 원가가 부담스러웠던 모양인데... 자세한 내용은 플레이스테이션 3 문서 참조. PS1은 PS3에서 에뮬레이션으로 실행되며 모든 모델에서 호환된다. 호환성 목록
PS4는 하위 호환성이 전무하다. 물리적으로 전세대기들과 단절되어 리마스터링 등 별도의 조치가 필요하다.
PS Vita의 경우 PSP의 칩을 내장했다. 하지만 정작 미디어 규격인 UMD 슬롯을 탑재하지 않은 관계로 물리적 카피는 아무 짝에도 쓸모가 없고 디지털 카피만 내려받아 사용할 수 있다.
이 밖에도 현재는 하위 호환에는 쓰이지 않지만[7] PSP과 PS Vita에는 PS1 게임을 실행하는 에뮬레이터가 있으며, PS3에는 PS1 밖에도 PS2, PSP 에뮬레이터가 있다. 클래식판이 디지털로 판매되도록 만들어진 기능인데, 해킹하면 임의 롬 파일을 실행할 수 있다. PS2, PSP 에뮬레이터는 호환성이 낮은데, 사람들은 이를 토대로 소니는 PS3에서 PS2 하위 호환을 소프트웨어적으로 지원하려는 계획을 추진하다가 포기했으리라고 추측한다. PS4에는 PS2 게임을 원본의 2배 해상도로 실행하는 에뮬레이터가 있다. 일부 게임만을 다운로드 서비스하고 있다. 기기가 해킹된 5.05이하버전으로만 임의 롬 파일을 변환 후 실행할 수 있으나 호환성이 높지는 않다.

3.4. 마이크로소프트


엑스박스 360 하위 호환 목록
엑스박스 원 하위 호환 목록
XB360과 XB1은 기계어 차원에서 하위 호환을 지원하는 것이 아니라, 게임 타이틀을 하나하나 이식하거나 에뮬레이션을 지원하는 방식이기 때문에 엄밀히 말하면 하위 호환이라고 말하기는 어렵다. 다만 상당수의 하위기종게임이 문제없이 실행된다.
앞 세대 게임 디스크를 삽입하면 인터넷으로 이식된 실행 코드를 다운로드해 실행하는 방식. 그 때문에 지원 게임의 목록에는 제한[8]이 있지만 지원되는 게임들은 버그 없이 잘 실행되고, 버그나 프레임 드롭 등의 문제가 있는 게임은 그 게임만 패치해서 업데이트해 주기도 한다. 이 패치에는 또한 성능 향상 또한 포함되어 있다. 단순히 프레임 드랍이 자주 일어나던 게임을 안정된 수준으로 패치해 주는 수준부터 4K HDR 지원까지. 드물게 문제가 있는 게임에 대해서는 하위호환 지원이 중단되기도 한다.[9]
엑스박스 360 게임들의 세부적인 호환 여부에는 대해서 나무위키에서 정리한 Xbox One/360 하위 호환 게임를 참고하자.

3.5. 그 밖에



4. 일본어 직역


자신의 기능을 모두 가지면서 보다 발전된 상위 제품이 있는 하위 제품을 말한다.
TCG 쪽에서 주로 사용하며, 먼저 나온 카드보다 발동비용이 늘어났거나 같은 발동비용이지만 보다 효과가 나빠진 것을 뜻한다.
매직 더 개더링의 하위 호환의 예
일본어에서 1의 의미로는 영어를 그대로 풀이한 '後方互換(후방 호환)'이라는 용어를 사용한다.[10] 1의 반댓말로는 '전방 호환' 으로 부르는 경우가 많다. 자세한 내용은 상위 호환 문서 참조.

5. 관련 문서



[1] 간단히 말하자면 CLI 시절부터 만든 Base에 점차 OS bit 가 올라가며 물리적으로 할당 가능한 라인이 없는것이다.[2] 32비트시절을 겪은 80년 중반 이하 출생자는 16비트나 8비트를 그저 에뮬로만 알고 있을것이다. 32비트버전 OS는 DOS나 일부 구형 소프트웨어나 하드웨어용 라인을 그나마 쓸수는 있다 ( XP부터 해서 7부터 급격히 호환이 떨어지며 시리얼/패러럴 포트 입력 스펙이 낮아졌다. 대표적으로 7에서 시리얼방식 조이스틱의 입력레벨이 디테일하지않다는점등) [3] 해당 플랫폼에서 유통하기 위해 수정한 본은 괜찮은데, 그래도 해외 포럼이나 레딧등을 보면 시스템이 이상해지거나 특정 서비스팩 빌드까지만 되는 복잡함이 있다. 사실.. 오늘날 윈7도 그렇지만 8, 10도 다이렉트X와 넷프레임워크 구버전을 설치하고 몇몇 설정을 비활성화해야하는 단점이 있다. 바이오하자드4 pc버전의 경우 타블렛과 터치 입력을 비활성화해야하며, AMD 그래픽카드는 구모델일 경우 해당 GPU드라이버와 충돌로 실행이 어렵다. 윈도우 10 이하 버전으로 시도해도 같은 증상이 생긴다. [4] 하위호환과는 별개로 시스템자체의 오염이나 기타 문제로 비슷한 사양에서도 OS를 재설치해야하거나 아예 튕기고 실행이 불가한 게임도 있기에 콘솔도 있는 유저라면 전용 게임머신인 콘솔버전이 피시에 비해 할인폭이 적지만 구매하기도 한다. 게임에는 최적화되있고 고전게임이 많이는 안나오지만 현역, 아직현역 콘솔에서 구동되게 포팅되었기 때문에 호환보다는 리마스터지만 이문제가 아주 간단히 해결된다. 단가는 중고품이 아니라서 싸지는 않다. 이마저도 없다면 지금은 레트로 취급받는 구엑박이나 플2, wii등에서 개조작업후 이미지파일만 넣어주면 아주 잘돌아간다. 다행히도? 피시버전과 비슷한 시기에 콘솔버전도 나온적이 있는 작품들이다. 그러나 고전게임을 비싸게 주고 사는것보다 편한방법은 아니며 고물게임기에 돈도 많이들고 공부도 많이 해야 한다 [5] 다만 단순히 하위 호환용이 아니라 보통은 사운드 프로세서 같은 보조 연산기능도 겸한다. 전용 게임을 구동할 때는 보조 연산장치로 사용하다 하위 호환을 할 때는 CPU가 되는 형식. 이런 설계 덕분에 가격상승은 막았지만, 앞 세대의 칩을 사용하는 만큼 느린 처리속도나 성능의 한계가 오기 쉬워서 제일 영향을 많이 받았던 게임의 사운드가 게임회사별로 편차가 심한 것도 전통이 되었다.[6] 당연하지만 이 방식으로 게임큐브 게임을 구동하려면 백업된 디스크 이미지가 필요하다.[7] PSN에서 PS1클래식들이 죄다 내려가버리는 바람에....[8] 엑스박스 원 이후의 하위호환 기능은 소스 코드를 건드려야하기 때문에 저작권 문제가 발생할 수 있는 관계 상 각 게임들의 제작사나 퍼블리셔의 허가 및 지원이 필요하다.[9] 물론, 인게임 요소의 저작권 문제로 인한 경우가 아니라면 웬만해서는 중단되는 일은 거의 없다.[10] 좀 더 의미가 잘 통하게 번역하면 '과거 버전 호환'이나 '과거판 호환'으로 번역할 수 있다.