Server Administration
  Home arrow Server Administration arrow Wine: Not Another Emulator
Codewalker Forums 
  Tutorials  
Database Articles  
Miscellaneous  
Navigation Usability  
PEAR Articles  
Programming Basics  
Server Administration  
XML Tutorials  
  Reviews  
Database Book Reviews  
Linux Book Reviews  
Miscellaneous Reviews  
PHP Book Reviews  
PHP Software Reviews  
Server Admin Reviews  
SQL Tool Reviews  
  Code Gallery  
Content Management Code  
Contest Code  
Counters Code  
Database Code  
Date Time Code  
Discussion Board Code  
Email Code  
File Manipulation Code  
GUI Code  
Link Farm Code  
Miscellaneous Code  
Search Code  
Site Navigation Code  
User Management Code  
Mobile Linux 
Case Studies 
iPad Development 
Download TestComplete 
Forums Sitemap 
Weekly Newsletter 
 
Developer Updates  
Free Website Content 
 RSS  Articles
 RSS  Forums
 RSS  All Feeds
Write For Us Get Paid 
Request Media Kit
Contact Us 
Site Map 
Privacy Policy 
Support 
 USERNAME
 
 PASSWORD
 
 
  >>> SIGN UP!  
  Lost Password? 
SERVER ADMINISTRATION

Wine: Not Another Emulator
By: Gabor Bernat
  • Search For More Articles!
  • Disclaimer
  • Author Terms
  • Rating: 5 stars5 stars5 stars5 stars5 stars / 2
    2009-11-04

    Table of Contents:
  • Wine: Not Another Emulator
  • Wine: a history lesson
  • Features and potential issues
  • Setting it up

  • Rate this Article: Poor Best 
      ADD THIS ARTICLE TO:
      Del.ici.ous Digg
      Blink Simpy
      Google Spurl
      Y! MyWeb Furl
    Email Me Similar Content When Posted
    Add Developer Shed Article Feed To Your Site
    Email Article To Friend
    Print Version Of Article
    PDF Version Of Article
     
     
    ADVERTISEMENT


    Wine: Not Another Emulator


    (Page 1 of 4 )

    "Wine Is Not another Emulator." This is the recursive acronym hidden in the name of an application to which someone might direct you if you wanted to know how to run your Windows applications under a Linux distribution. However, what is hidden under the hood of this small kit you downloaded to make it happen? Keep reading and we shall find out.

    Windows is the dominant operating system on the market. This is a fact no one can question. The market has grown addicted to it. More and more applications are built for this platform only. In fact, there is an abundance of all kinds of applications for Windows. You name it -- whatever you want -- and there is a very strong chance that there are a wide variety of programs that struggle to achieve that task, most of them on Windows.

    This can be a good thing. However, this also leads to a monopoly situation controlled by the giant from Redmond. Any other operating system is destined to fail right from the start if it fails to provide the ability to do as many different things and use as many different kinds of software as Windows. As software developers tend to move away from portability, the only solution remaining for other operating system creators is to make their products capable of running applications designed for the Windows OS.

    This is easier said than done, because every OS has a different approach to solving the same problem. Sometimes these approaches can be reconciled to work in a similar fashion. Then again, some features are just so different that it's close to impossible. 

    Regardless, the problem exists, and for that reason other operating systems must deal with it. There are two approaches to solving the issue. The first is to emulate a new operating system over the current one via a Virtual Machine. If you do this, there will be some performance penalties because you are effectively running two machines (operating systems) at the same time.

    The alternative way is to put down a compatibility layer. Every programmer should already know that applications just call a bunch of system commands to complete different tasks. The role of the application is to interpret the result and put it all together to solve the user's problem. This approach tries to offer a collection of functions for applications requesting items from the operating system.

    Wine bypasses the penalties of an emulator by implementing a compatibility layer, providing alternative implementations of DLLs to which applications under Windows link, and also offering services/processes that, under Microsoft's operating system, were provided by the NT kernel. Wine is a translation layer or a program loader.

    Now that we have an of what we're observing here today, let me elaborate on our battle plan. First we are going to enter a little into the history of the application in order for you to understand the difficulties faced by Wine. We'll follow that with a presentation of its capabilities and a short guide to installing and using it. 

    There will be a second article shortly after this one in which I will try to answer the question of just how capable Wine is at the current time. In that piece I will try out applications like KMPlayer, Office 2007, uTorrent, notepad++, Winamp, FastStone Screen Capture and so on. For today, let's see what we have and how we got it.

    More Server Administration Articles
    More By Gabor Bernat


     

    SERVER ADMINISTRATION ARTICLES

    - Server Responses to Client Communication
    - Authentication in Client/Server Communication
    - Client/Server Communication
    - Understanding Awk in the UNIX Shell
    - Stream Editor in the UNIX Shell
    - Processes in the UNIX Shell
    - Migrating from Windows to Wine
    - Wine: Not Another Emulator
    - Preventive Measures to Block SSH Attacks
    - Monitoring Temperatures with Cacti
    - Cacti: RRDTool-based Graphing Solution
    - Network Magic 5.0 Review
    - Netfilter and Iptables Overview
    - Installing and Configuring Squid
    - Clickfree PC Backup Systems Compared





    © 2003-2010 by Developer Shed. All rights reserved. DS Cluster 9 Hosted by Hostway
    For more Enterprise Application Development news, visit eWeek