Cygwin is not the same as running linux. Cygwin is the same as running it under ActivePerl. There is no unix kernel or process management under cygwin, and it uses dll's and not shared libraries.
Cygwin is one of the greatest things for windows users, but if you want to test your scripts under unix, there are way better ways.
For example, buy an old box, install a unix on it and shell into it. If you are using gui's, set an X server up on your win32 box.
Then again, dual booting/vmware also work well.