Tuesday, May 25, 2010

Software architectural layers


Computer software is designed to operate through a series of architectural layers. Quite simply, the lowest or inner layer interfaces directly with the computer hardware and provides a set of services to the next layer above. This layer interfaces with the layer below and provides a set of services to the layer above, and so forth. The highest layer interfaces with the layer below and provides a set of services to the computer operator or end user, but cannot interface directly with the computer hardware.

There are multiple architectural layers within the major layers described above, and layers that communicate as messengers between various levels.

The diagram below illustrates the two most basic layers of computer software, namely operating systems and applications software.