Layers of software that sit between the hardware and applications programs. Examples are operating systems (DOS, UNIX, VMS, etc.), GUI's (graphical user interfaces - Windows, Xwindows, etc.), Executives or Data Base Management systems, Network products, and Image processing products.