심(컴퓨팅)
Shim (computing)
TI DucatiSIP코어는 비디오 액셀러레이션과 고속 이미지 처리를 합니다.계산을 하는 실제 IC는 두 개의 Cortex-M3 마이크로 컨트롤러에서 실행되는 소프트웨어에 의해 제어됩니다.운영 체제(호스트 CPU에서 실행됨)는 하위 시스템과 인터페이스하기 위해 심만 필요합니다.
컴퓨터 프로그래밍에서 shim은 API 호출을 투명하게 대행 수신하고 전달된 인수를 변경하거나 작업 자체를 처리하거나 작업을 다른 [1][2]곳으로 리디렉션하는 라이브러리입니다.Shims를 사용하면 새로운 환경에서 오래된 API를 지원하거나 오래된 환경에서 새로운 API를 지원할 수 있습니다.또한 심은 개발된 것과는 다른 소프트웨어 플랫폼에서 프로그램을 실행하는 데 사용할 수 있습니다.
오래된 API용 심은 일반적으로 API의 동작이 변경되었을 때 발생하며, 이로 인해 오래된 기능에 의존하는 오래된 어플리케이션의 호환성 문제가 발생합니다.이 경우 오래된 API는 새로운 코드 위에 있는 얇은 호환성 레이어에서 계속 지원됩니다.새로운 API용 Shims는 "새로운 API를 오래된 환경에 도입하는 라이브러리"[3]로 정의됩니다.
예
- 웹 폴리필은 특정 웹 [3]브라우저에서 새로운 표준을 사용할 수 없는 경우 오래된 표준과 JavaScript를 사용하여 새로운 웹 표준을 구현합니다.
- Apple Computer가 Open Transport 네트워킹 시스템을 지원했던 짧은 기간 동안 Macintosh 컴퓨터에서 AppleTalk 지원.수천 개의 Mac 프로그램이 AppleTalk 프로토콜을 기반으로 했습니다. 이러한 프로그램을 지원하기 위해 AppleTalk는 OpenTransport "스택"으로 다시 구현되었고, 이 새로운 라이브러리 위에 API 심으로 다시 구현되었습니다.
- Microsoft Windows Application Compatibility Toolkit(ACT)에서는 하위 호환 라이브러리를 의미합니다.Shims는 잘못된 기능 또는 사용되지 않는 기능에 의존하는 레거시 응용 프로그램에 대해 이전 버전의 Windows 동작을 시뮬레이션하거나 LEA([4]최소 권한 사용자 계정) 버그를 수정하는 등 제대로 작성되지 않은 응용 프로그램이 변경되지 않은 API를 호출하는 방법을 수정합니다.
- bind.so은 권한에 관계없이 모든 애플리케이션을 리스닝 소켓에 바인딩하거나 발신 [5]IP 주소를 지정할 수 있는 Linux용 심 라이브러리입니다.LD_PRELOAD 메커니즘을 사용하여 심 및 기타 라이브러리를 임의의 프로그램에 로드할 수 있습니다.
「 」를 참조해 주세요.
- 어댑터 패턴
- 응용 프로그램 가상화
- 드라이버 래퍼
- 글라이드 래퍼
- 글루코드
- 스터브(컴퓨터 과학)
- Thunk(호환성 매핑)
- Windows on Windows (WW)
- 래퍼 라이브러리
레퍼런스
- ^ "Your company's apps incompatible with Windows 7? Shim them, says Microsoft". Computerworld. 2009-03-21. Retrieved 2014-04-05.
- ^ "Demystifying Shims - or - Using the App Compat Toolkit to make your old stuff work with your new stuff". Microsoft TechNet. 2011-06-17. Retrieved 2014-04-05.
- ^ a b Axel Rauschmayer (2014). Speaking JavaScript. Shims Versus Polyfills.
- ^ "Microsoft Application Compatibility Toolkit 5.0". Microsoft. 2007-12-11. Retrieved 2008-06-24.
- ^ "Source code of bind.so". Daniel Ryde. 2010-01-09. Retrieved 2014-04-05.