UWIN est un ensemble de logiciels créé par David Korn qui permet à des programmes écrits pour le système d'exploitation Unix d'être compilés et exécutés sous Windows avec peu ou pas de modifications. Une partie du développement a été sous-traitée par Wipro en Inde. Des références, correctes ou non, au logiciel en tant que U/Win et AT&T Unix for Windows peuvent être rencontrées dans certains cas, en particulier datant des débuts de son existence. Les sources et binaires de UWIN sous disponibles sous la licence Open Source Eclipse Public License 1.0.
Sur le plan technique, UWIN est une bibliothèque X/Open pour l'interface de programmation (API) 32-bit Windows, appelée Win32. UWIN contient :
La plupart des API Unix est implémentée par la bibliothèque de liens dynamiques POSIX.DLL. Les programmes liés à cette bibliothèque fonctionnent sous le sous-système Win32 au lieu du sous-système POSIX, donc des programmes peuvent librement utiliser à la fois des appels de bibliothèques Unix et Win32. Une commande cc(1) est fournie pour compiler et lier les programmes pour UWIN sous Windows en utilisant les outils traditionnels Unix tels que make(1). La commande cc(1) est un frontal au compilateur qui réalise l'actuelle compilation et l'édition de liens. Elle peut être utilisée avec les compilateurs Microsoft Visual C/C++ 5.X, Visual C/C++ 6.X, Visual C/C++ 7.X, Digital Mars C/C++, Borland C/C++ et MinGW. Le compilateur et les outils de développement GNU sont aussi disponibles en téléchargement pour UWIN.
UWIN fonctionne le mieux sous Windows NT/2000/XP/7 avec le système de fichiers NTFS, mais peut fonctionner en mode dégradé en utilisant FAT, et de façon encore plus dégradée sous Windows 95/98/ME (voir liens externes pour plus de détails). Une version beta 5.0b est sortie le pour Windows Vista et 7[1].