Virtual Reality (VR), sometimes called Virtual Environments (VE) has drawn much attention in the last few years. Extensive media coverage causes this interest to grow rapidly. Very few people, however, really know what VR is, what its basic principles and its open problems are. In this paper a historical overview of virtual reality is presented, basic terminology and classes of VR systems are listed, followed by applications of this technology in science, work, and entertainment areas. An insightful study of typical VR systems is done. All components of VR application and interrelations between them are thoroughly examined: input devices, output devices and software. Additionally human factors and their implication on the design issues of VE are discussed . Finally, the future of VR is considered in two aspects: technological and social. New research directions, technological frontiers and potential applications are pointed out.