UNIX System Services allows UNIX applications from other platforms to run on IBM mainframes. In many cases only a recompile is necessary, although additional effort may be advisable for z/OS integration (such as SMP/E installation support). Binary programs using hardcoded ASCII numerical values may need adjustment — z/OS users often prefer or require EBCDIC support. Programs running under USS have full, secure access to the internal functions of z/OS. Database access (DB2 via Call Attach) is one example of how USS can access services found elsewhere in z/OS. Naturally such programs cannot be ported to non-mainframe platforms without rewriting if they use these z/OS-specific services. Conversely, if a program adheres to standards such as POSIX and ANSI C, it will be easier to port to the USS environment.
The file systems for USS (the older HFS and the now preferred zFS), which support UNIX-style long filenames, appear as special datasets to the rest of z/OS. Numerous core System z subsystems and applications rely on UNIX System Services, including Java.
USS also provides a shell environment, OMVS.
USS's predecessor was an operating system component called OpenEdition MVS, first implemented in MVS/ESA 4.3 and enhanced in MVS/ESA 5.1. OpenEdition MVS only supported the POSIX standards. IBM continues to enhance UNIX System Services. In 2007, IBM announced z/OS 1.9 which includes several new USS features, including partial alignment with the newer Single UNIX Specification Version 3 (UNIX 03).