Intel’s 16-bit x86 architecture uses a segmented addressing model, and consequently so do DOS and older versions of Windows. Starting with 80386 microprocessor, however, the x86 architecture supports a flat addressing architecture. Newer versions of Windows, including Windows 95, Windows 98 and Windows NT, use a flat addressing scheme. The Mac OS has always used a flat addressing model.
In some cases, it’s necessary to convert from one addressing model to another. This is called thunking.