8. Future Work
Standards conformance is becoming a more important focus.
In the last release, all POSIX.1/90 calls are implemented except for
mkfifo and setuid. X/Open Release 4
conformance may be a desirable goal, but we have not pursued this yet.
While the current version of the library passes most of the NIST POSIX
test suite with flying colors, it
performs poorly with respect to mimicking the UNIX security model, so
there is still room for improvement. When we consider how to
implement the setuid functionality, we will also look into a secure
alternative to the library's usage of the shared memory
areas.
Cygwin does not yet support applications that use
multiple Windows threads, even though the library itself is
multi-threaded. We expect to address this shortcoming through the use
of locks at strategic points in the DLL. It would also be desirable
to implement support for POSIX threads.
Although Cygwin allows
the GNU development tools that depend heavily on UNIX semantics to
successfully run on Win32 hosts, it is not always desirable to use it.
A program using a perfect implementation of the library would still
incur a noticeable amount of overhead. As a result, an important
future direction involves modifying the compiler so that it can
optionally link against the Microsoft DLLs that ship with both Win32
operating systems, instead of Cygwin. This will give developers the
ability to choose whether or not to use Cygwin on a per-program
basis.
|