Thunk

(v.) In PCs, to convert a 16-bit memory address to a 32-bit address, and vice versa. Thunking is necessary because Intel’s older 16-bit microprocessors used an addressing scheme called segmented memory, whereas their 32-bit microprocessors use a flat address space . Windows 95 supports a thunk mechanism to enable 32-bit programs to call 16-bit DLLs. This is called a flat thunk.

On the other hand, 16-bit applications running under Windows 3.x and Windows for Workgroups cannot use 32-bit DLLs unless the 32-bit addresses are converted to 16-bit addresses. This is the function of Win32s, and is called a universal thunk.

According to folklore, the term thunk was coined by the developers of the Algol-60 programming language, who realized late one night that the data type of parameters could be known with a little forethought by the compiler. That is, by the time the compiler processed the parameters, it had already thought of (thunked) the data types. The meaning of the term has changed considerably in recent years.

(n.) The operation of converting between a segmented memory address space and a flat address space.

Webopedia Staff
Webopedia Staff
Since 1995, more than 100 tech experts and researchers have kept Webopedia’s definitions, articles, and study guides up to date. For more information on current editorial staff, please visit our About page.
Get the Free Newsletter
Subscribe to Daily Tech Insider for top news, trends & analysis
This email address is invalid.
Get the Free Newsletter
Subscribe to Daily Tech Insider for top news, trends & analysis
This email address is invalid.

Related Articles

Embedded Analytics

Embedded analytics brings self-service business intelligence to everyday application users.

HRIS

Human resources information system (HRIS) solutions help businesses manage multiple facets of their workforce operations. They provide a central platform for human resources professionals...

Complete List of Cybersecurity Acronyms

Cybersecurity news and best practices are full of acronyms and abbreviations. Without understanding what each one means, it's difficult to comprehend the significance of...

Human Resources Management System

A Human Resources Management System (HRMS) is a software application that supports many functions of a company's Human Resources department, including benefits administration, payroll,...

ScalaHosting

ScalaHosting is a leading managed hosting provider that offers secure, scalable, and affordable...

HRIS

Human resources information system (HRIS) solutions help businesses manage multiple facets of their...

Best Managed Service Providers...

In today's business world, managed services are more critical than ever. They can...