Penguin

A POSIX API implementation for MicrosoftWindows.

Provides libc, and all the neato unix programs you've come to love and expect (such as bash, cat, dd, ls, vi, gcc etc)

A large DLL maps standard unix functions to the Windows win32api/C run time dlls, and implements the other functions that can't be mapped. Also does things like path translation (eg changing the directory separator from "/" to "\\") so that many unix programs can be ported to windows (using a ported gcc) without requiring code changes.