Software is hierarchically organized as well. At the lowest level is the operating system. The main function of the operating system is to provide the basic linkage to the hardware, such as access the hard disks, the memory, the CPUs and external devices. However, more and more functions that are typically needed by higher-level software have been added to the common operating systems.
In order to distinguish the core functionality of an operating from higher level functions, such as processing of file contents and user interface provisions, operating systems are typically organized in a hierarchical fashion as well and are build on top of a "kernel" that implements the software-hardware connectivity.
On top of the operating system run the so-called application programs. However, these often arranged hierarchically as well. For example, databases systems and web servers can be considered layers between the operating system and application software that uses the functionality of databases and web servers. Application software with graphical user interfaces, such as web browsers, word processors, presentation programs are what most users interact with.
The two most widely used operating system classes are Unix/Linux and Microsoft Windows. Apple uses a Linux-like operating called Mac OS X. Linux is free and open source, while Microsoft Windows and Apple operating systems are proprietary.



