Device drivers such as computer BIOS and device firmware provide basic functionality to operate and control the hardware connected to or built into the computer. The operating system (prominent examples being z/OS, Microsoft Windows, Mac OS X and Linux), allows the parts of a computer to work together by performing tasks like transferring data between memory and disks or rendering output onto a display device. It also provides a platform to run high-level system software and application software. Windows systems are components of a graphical user interface (GUI), and more specifically of a desktop environment, which supports the implementation of window managers, and provides basic support for graphics hardware, pointing devices such as mice, and keyboards. The mouse cursor is also generally drawn by the windowing system. Utility software helps to analyze, configure, optimize and maintain the computer.
Servers are computer programs running to serve the requests of other programs, the "clients". The server performs some computational task on behalf of clients which may run on either the same computer or on other computers connected through a network.
In some publications, the term system software is also used to designate software development tools (like a compiler, linker or debugger).
In contrast to system software, software that allows users to do things like create text documents, play games, listen to music, or surf the web is called application software.