The term Operating System (OS) is often misused. It is common, for example, for people to speak of an OS when they are in fact referring to an OS and to a set of additional applications (e.g. on Windows, Notepad, Windows Explorer, etc). The traditional view of the area, however, de?nes an OS in a different way. The OS can be seen as the layer and interface that stands between the user-level applications and the hardware. Its main goal is to hide the complexity of the hardware from the applications. The important concept here is abstraction: an OS abstracts architectural details, giving programs the illusion of existing in a "homogeneous" environment. The OS effectively makes programs believe that they live in a reliable machine with large amounts of memory, a dedicated processor, and so on. It is also the OS's function to manage the computer's resources (e.g. the OS decides which process to runs when, for how long, etc).