Article snapshot taken from Wikipedia with creative commons attribution-sharealike license.
Give it a read and then ask your questions in the chat.
We can research this topic together.
EMX (Eberhard Mattes eXtender; also known as emx+gcc) is a programming environment for MS-DOS and OS/2. It allows creating and executing of 32-bit mode applications, presenting a POSIX API and, on OS/2, access to the OS/2 APIs.
Contents
The EMX package consists of:
The emx.exe program, a DOS extender, that allows running a 32-bit mode application in DOS and emx.dll and helper dlls in single threaded (for DOS compatibility) and multithreaded forms for running under OS/2.
A C library that provides a POSIX API, for use on both DOS and OS/2.
J. Martin and H. A. Muller, "C to Java migration experiences," Software Maintenance and Reengineering, 2002. Proceedings. Sixth European Conference on, Budapest, 2002, pp. 143-153. doi: 10.1109/CSMR.2002.995799 online
Eric S. Raymond (23 September 2003). The Art of UNIX Programming. Addison-Wesley Professional. p. 67. ISBN978-0-13-246588-5. In the early 1990s, developers in the OS/2 community began to migrate to a Unix-inspired environment called EMX that emulated POSIX interfaces.