Shim (computing)

Shim (computing)

In computer programming, a shim is a small library that converts one API into another. They typically come about when the functions of one API become a part of another, larger, library. In these cases, the older API can still be supported as a thin layer on top of the newer, and more general, code.

One example was the support of AppleTalk on Macintosh computers during the brief period in which Apple Computer supported the Open Transport networking system. Thousands of Mac programs were based on the universal AppleTalk protocol; in order to support these programs, AppleTalk was re-implemented as an OpenTransport "stack", and then re-implemented as an API shim on top of this new library.

A less successful example occurred when SGI repeatedly attempted to merge Open Inventor with OpenGL Performer. The latter was an offshoot project from people involved in the former, and after a few years of parallel development it became clear there was no reason they could not be re-merged. This led to Cosmo 3D, a universal "higher-level" library over OpenGL, with Inventor and Performer re-implemented as API shims on top. However internal politics and a variety of failed industry partnerships doomed the project as it was handed first to the OpenGL++ group, and then the Fahrenheit project, before being cancelled outright in 2000. Today Inventor and Performer remain separate projects, neither one well supported.Fact|date=June 2008

The Windows Application Compatibility Toolkit (ACT) uses the term to mean backward compatibility libraries. Shims simulate the behavior of older versions of Windows for legacy applications that rely on incorrect or deprecated functionality, or correct the way in which poorly-written applications call unchanged API's, for example to fix LUA bugs. [cite web|publisher=Microsoft|url=http://www.microsoft.com/downloads/details.aspx?FamilyID=24da89e9-b581-47b0-b45e-492dd6da2971&displaylang=en|title=Microsoft Application Compatibility Toolkit 5.0|accessdate=2008-06-24|date=2007-12-11]

ee also

*Application virtualization

References


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • Shim — may refer to: *Shim (engineering), a thin and often tapered or wedged piece of material *Shim (computing), an application compatibility fix *Shim (World of Warcraft Ardent Dawn), AKA: Shimlagesh, A gnome warlock *A hill named Shim in the Book of… …   Wikipedia

  • Compatibility layer — A compatibility layer is a term that refers to components that allow for non native support of components. In software engineering, a compatibility layer allows binaries for a legacy or foreign system to run on a host system. This translates… …   Wikipedia

  • Portable application creators — allow the creation of portable applications (also called: portable apps). They usually use application virtualization. Contents 1 Creators of independent portable applications 2 Related software 3 See also …   Wikipedia

  • Quantum dot — Part of a series of articles on Nanomaterials Fullerenes …   Wikipedia

  • Protocol-based intrusion detection system — A protocol based intrusion detection system (PIDS) is an intrusion detection system which is typically installed on a web server, and is used in the monitoring and analysis of the protocol in use by the computing system. A PIDS will monitor the… …   Wikipedia

  • PalmSource — PalmSource, Inc. Saltar a navegación, búsqueda Archivo:Palmsource logo.png PalmSource, hoy conocida como ACCESS Systems Americas, Inc., es una filial de la compañía japonesa Access Co., dedicada al desarrollo del sistema operativo para PDA Palm… …   Wikipedia Español

  • Stream Control Transmission Protocol — In computer networking, the Stream Control Transmission Protocol (SCTP) is a Transport Layer protocol, serving in a similar role as the popular protocols TCP and UDP. Indeed, it provides some of the same service features of both, ensuring… …   Wikipedia

  • PalmSource — Palm OS runs on 38 million devices that have been sold since 1996 from hardware manufacturers including Palm, Inc., Samsung, IBM, Aceeca, AlphaSmart, Fossil, Inc., Garmin, Group Sense PDA (Xplore), Kyocera, PiTech, Sony, and Symbol. PalmSource… …   Wikipedia

  • Pentium 4 — Produced From 2000 to 2008 Common manufacturer(s) Intel Max. CPU clock rate 1.3 GHz to 3.8  …   Wikipedia

  • Athlon 64 — The Athlon 64 is an eighth generation, AMD64 architecture microprocessor produced by AMD, released on September 23, 2003.cite web|url=http://www.amd.com/us en/Corporate/VirtualPressRoom/0,,51 104 543 10218 74465,00.html|title=AMD Ushers in Era of …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”