Computerworld - Binary compatibility is an old idea that involves both hardware and software. Two computers can be considered binary compatible if they can run the same software without requiring that the application be recompiled. The computers can be different generations of machines from the same manufacturer, or they can be competing products from different vendors.
For example, an IBM ThinkPad laptop and a Hewlett-Packard Vectra desktop computer are binary compatible, even though the machines may use completely different components throughoutbrands of processors, motherboards, types of memory chips, graphics hardware, disk drives and support chips.
The truth is, the iMac can't run Windows applications in native mode, just as the NetVista can't run Macintosh applications.
Thunking
Perhaps the most telling examples of binary compatibility (and incompatibility) have been shown by Microsoft Corp., with its DOS and Windows operating systems and its Office applications suite.
As Intel changed its microchip architecture over the years, Microsoft transitioned MS-DOS from 8-bit to 16-bit machines with little loss of compatibility. Intel's subsequent switch to 32-bit processors was harder to manage, but Microsoft did get Windows to juggle 16-bit and 32-bit applications and device drivers (both DOS- and Windows-based) in a way that didn't leave behind a lot of customers and their 16-bit hardware and applications.
Now, with Intel's new Itanium 64-bit microprocessors, the chip manufacturer and Microsoft are suggesting that software be recompiled for performance, not compatibility issues.
Over the years, as many successive generations of Intel processors have lacked backward compatibility with their predecessors, Microsoft has stepped in at the operating-system level with a translation process called thunking. Thanks to thunking, many applications could run without recompilation, but they would take a performance hit, as with any real-time translation process.
Unix Flavors
While binary compatibility has been around for a while, it's taken on special importance within the Unix and Java worlds.
Unix was originally developed to simplify moving applications from one type of computer to another, but once it went commercial it almost immediately diverged into many competing products, including Solaris, Irix, HP-UX, AIX, SCO Unix and BSD Unix. These products were just different enough from one another to create major headaches for developers and IT departments.
As the biggest player in the Unix world for some time, Sun Microsystems Inc. has been trumpeting binary compatibility for most of its existence. Sun CEO Scott McNealy frequently notes that software written 20 years ago to run on the Solaris/SPARC combination will run on any current SPARC-based system without recompilation.
Of course, while it's theoretically possible for binaries running on a multimillion-dollar system to run on a server that costs less than $1,000, it's also true that the more expensive system has the resources needed to run software that would overload the small system.
In the mid '90s, Sun began to realize that Solaris' main competition wasn't the other Unixes, but Microsoft Windowsespecially Windows NT and what's now called .Net. So Sun introduced Java as a platform-independent language whose programs would run on different architectures without change to the code. The company achieved this by having Java compile into an intermediate form of binary code, called byte code .
For each type of machine, all that was needed was an on-the-spot translator called a Java virtual machine. But how does this differ from emulation? The distinction is subtle but real: Because a Windows binary was designed to run natively on a particular architecture and instruction set, it's therefore optimized for that platform (and thus against others) in thousands of ways, large and small. But Java was never tied to a single platform and architecture, so it doesn't need to incorporate their quirks.
One final thought: Binary compatibility also implies interoperability with all the original's bugs and quirksthat all the shortcuts and work-arounds that people have been creating for years to accommodate those bugs will run correctly on the compatible machine.
Kay is a contributing writer and consultant in Worcester, Mass. You can reach him at russkay@charter.net.
|
See additional Computerworld QuickStudies
- IT Hardware: The Shape of Things to Come
- The Story So Far: Hardware
- Future of the Notebook
- The Almanac: Research and Resources on IT Hardware
- Blade Servers: Wait 'Til Next Year
- Handling E-Waste: The Challenges of Computer Disposal
- Tech Check: Unix Takes on the Mainframe
- Binary Compatibility
- How Your Career Can Thrive in the Data Center Market
- The Next Chapter: The Future of Hardware
- Andreessen Predicts 'Disposable Servers'
- Sun CTO Posits New Computing Era
- CIOs Turn to 'Safe' Hardware Vendors
Read more about Hardware in Computerworld's Hardware Topic Center.


- Excel 2010 Cheat Sheet
- Register for this Computerworld Insider Cheat Sheet and gain access to hundreds of premium content articles, guides, product reviews and more.
- Gary Watson, CTO, Nexsan: 6 Tips for Selecting Hard Drives
- What type of drives should be used for what types of data? Selecting a drive and interface can seem complex with considerations of...
- 10 Reasons to Modernize the Desktop
- Learn how to enhance your business through VMware View
- The Laptop Dilemma: How to Maximize Productivity and Lower the Burden on IT
- Download Now
- Practice Management: Double Billing Rate and Improve Patient Services
- Would you like to double your billing rate and achieve faster payment for services?
Download this customer success story to see how One Health... - Mission Critical Data Explosion and Customer Case Study
- Would you like to double your tier 1 storage capacity while simultaneously reducing your storage footprint?
Download this customer success story to see how...
All Hardware White Papers
- Distributed Database Security with Real-time Monitoring
- View this demo and learn how IBM InfoSphere Guardium database activity monitoring can help protect your sensitive data in distributed DBMS environments with...
- InfoSphere Warehouse Packs Demo
- These flash modules make warehousing more tangible and relevant to business users through detailed explanations of the InfoSphere Warehouse Packs.
- Delivery Management -- Extending Lifecycle Management
- Date: Wednesday, June 20, 2012, 1:00 PM EDT
Siloed organizations continue doing the wrong things and doing things wrong, leading to increased costs,... - Leverage automation today to reduce IT complexity
- Date: Tuesday, June 5, 2012, 2:00 PM EDT
Whether your B2B complexity is caused by multiple technologies due to M&A, business or application specific... - Redefine Expectations in the Data Center
- Need to do more with less? Watch this video to learn how HP ProLiant Gen8 servers can help your business deploy servers three... All Hardware Webcasts
