Memory is an important component of any computer. A part of the Central Processing Unit (CPU) of a computer, memory performs either of short-term or long-term storage functions. At a conceptual level, memory can either refer to the storage devices themselves (hard-drives, DVDs, etc) or to the data/information stored therein. The Random Access Memory (RAM) is the most important for the functioning of a computer, for it is essential for immediate and high-speed computing operations. But RAM has a limitation in terms of its capacity but the access time is very impressive. In contrast, secondary memory devices offer vast storage capacities for information with the trade-off being slow access time.
Computer memory devices are mostly made of semiconductor circuits such as Integrated Circuits (ICs). The basic storage unit for semiconductor memory is called a cell which can store a unit of binary information (0 or 1). Cells are in turn part of memory words of lengths such as 1,2,4,8 so on. These words are characterized by two parameters – 1. their physical address within the device and 2. the data that they contain. The main memory of a computer can either be a volatile or non-volatile memory device. RAM is always a volatile memory and so is CPU cache. Whereas more static and long-term data are normally stored in non-volatile memory. Read Only Memory (ROM) and flash memory are good examples of non-volatile memory. Other examples include hard-disks, blu-ray optical discs, etc.
In order for a computer to function properly, the efficiency with which memory is managed is the key. The Operating System that is installed in the computer has sophisticated systems and procedures at place in dealing with memory. Each operating system (Windows, Linux, Mac, etc) works in its own fashion and has its share of pros and cons. If an Operating System (OS) is inefficient in managing memory it can lead to bugs, which can slow down the overall processing time of tasks. They can also lead to frequent overloads and crashes of user sessions. An inefficient memory management system will make the computer susceptible to malware and viruses as well.
With respect to the Operating System’s handling of computer memory, Virtual Memory is part of the set-up. Various applications demand from the OS different memory requirements. The OS creates a virtual memory that dissociates the physical storage location of data from its conceptual processing. The ability of virtual memory to work across storage devices lends it flexibility and adaptability.
As technology advances, the speed and capacity of memory devices also grow incrementally. Hence, these days even Personal Computers are enabled to handle complex and simultaneous processing requirements. Far from the primitive text-only basis of computer operations, modern computers play High Definition videos, high-integrity music and are also enabled to play multi-media streams through web-browsers. These impressive features are in large part enabled by vast memory capacity that functions at a rapid pace. But it should be kept in mind that memory in exclusion is of little value. What determines the real utility of memory is the ability of the Operating System and interfacing hardware to efficiently and optimally tap into its capacity.
Arora, Ashok (2006). Foundations of Computer Science. Laxmi Publications. pp. 39–41. ISBN 8170089719