Cygwin is a Microsoft® Windows™ program that replaces the standard Windows™ shell with one that closely resembles a UNIX® machine. The program is officially designated as UNIX®-like since it is based entirely on Windows™ rather than a standard UNIX® build. Cygwin allows a user to have full access to Windows™ functions, applications and services; it simply changes the environment used to access them. This program is free and open-source.
The user interaction interface on a computer goes by many different names. In most cases, it is called a graphical user interface (GUI). This is the common name for programs like Microsoft® Windows™ or Mac OS™. These programs have pictures and images that make up the majority of the screen; in general, the only text is labels and user-inputted information.
A less common, but more technical, name is shell. A shell is a computer program that wraps itself around a process to allow users to interact with it. In the case of operating systems, a shell wraps itself around the computer’s kernel, giving access to low-level functions.
Some computer systems contain emulators. When these programs run, they create an environment that is like some other system; then, other programs run inside that environment. For example, Mac OS™ runs an emulation system that allows it to use some Windows™-based software. The emulator essentially fools the program into thinking that it is where it is supposed to be.
Cygwin shares many of the features of a GUI—a shell and an emulator—but is none of the three. Cygwin creates UNIX®-like environment on a standard Windows™ computer. It is more than an emulation, but less than a full operating system. It creates a shell that both wraps up the computer’s hardware and the majority of Window™’s functions. Lastly, it provides a UNIX®-like GUI for interacting with the machine and installed applications.
This program is primarily used as a programmer’s interface. The mix of Windows™ and UNIX® functions allows programmers access to important functions while still being able to run many Windows™ applications. While it does have uses outside of programming, they are much less common due to some speed and compatibility issues present in Cygwin.
Cygwin is an open source program supported heavily by Red Hat®. Open source programs are free for any user interested in using them. The source code for the program is available in case anyone wants to create additions or modifications to the basic code. In addition, Red Hat® offers paid incentives to programmers interested in creating large modifications or new major features to the program.