상위 질문
타임라인
채팅
관점

심 (컴퓨팅)

위키백과, 무료 백과사전

심 (컴퓨팅)
Remove ads

컴퓨터 프로그래밍에서 (shim)은 투명하게 API 호출을 가로채고 전달된 인수를 변경하거나, 작업을 직접 처리하거나, 다른 곳으로 작업을 리디렉션하는 라이브러리이다.[1][2] 심은 최신 환경에서 이전 API를 지원하거나, 이전 환경에서 새로운 API를 지원하는 데 사용될 수 있다. 심은 또한 개발된 소프트웨어 플랫폼과 다른 소프트웨어 플랫폼에서 프로그램을 실행하는 데 사용될 수도 있다.

Thumb
TI 듀카티 반도체 IP 코어는 비디오 가속 및 가속 이미지 처리를 수행한다. 계산을 수행하는 실제 IC는 두 Cortex-M3 마이크로컨트롤러에서 실행되는 소프트웨어에 의해 제어된다. 운영 체제(호스트 CPU에서 실행)는 하위 시스템과 인터페이스하기 위한 만 필요하다.

이전 API용 심은 일반적으로 API의 동작이 변경되어 이전 기능에 여전히 의존하는 이전 응용 프로그램에 호환성 문제가 발생하는 경우에 만들어진다. 이러한 경우, 이전 API는 새로운 코드 위에 얇은 호환성 계층을 통해 계속 지원될 수 있다. 새로운 API용 심은 "이전 환경의 수단만을 사용하여 새로운 API를 이전 환경으로 가져오는 라이브러리"로 정의된다.[3]

Remove ads

예시

  • 폴리필은 주어진 웹 브라우저에서 새로운 웹 표준을 사용할 수 없는 경우, 이전 표준과 자바스크립트를 사용하여 새로운 웹 표준을 구현한다.[3]
  • 애플 컴퓨터오픈 트랜스포트 네트워킹 시스템을 지원했던 짧은 기간 동안 매킨토시 컴퓨터에서 애플토크를 지원했던 경우. 수천 개의 맥 프로그램이 애플토크 프로토콜을 기반으로 했다. 이 프로그램들을 지원하기 위해 애플토크는 오픈트랜스포트 "스택"으로 재구현되었고, 이후 이 새로운 라이브러리 위에 API 심으로 재구현되었다.
  • 마이크로소프트 윈도우 응용 프로그램 호환성 도구 키트(ACT)는 이 용어를 하위 호환 라이브러리를 의미하는 데 사용한다. 심은 잘못되거나 더 이상 사용되지 않는 기능에 의존하는 레거시 응용 프로그램에 대해 이전 버전의 윈도우 동작을 시뮬레이션하거나, 잘못 작성된 응용 프로그램이 변경되지 않은 API를 호출하는 방식을 수정하여, 예를 들어 최소 권한 사용자 계정(LUA) 버그를 수정한다.[4]
  • bind.so는 권한에 관계없이 모든 응용 프로그램이 수신 소켓에 바인딩하거나 나가는 IP 주소를 지정할 수 있게 하는 리눅스용 심 라이브러리이다.[5] 이는 심 및 기타 라이브러리가 모든 프로그램에 로드될 수 있도록 하는 LD_PRELOAD 메커니즘을 사용한다.
  • 타입 터널 패턴에서 일반 인터페이스 계층은 심의 집합을 사용하여 이질적인 타입 집합을 기본 API에서 사용되는 단일 원시 타입으로 변환한다.[6]
Remove ads

같이 보기

각주

외부 링크

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads