Page 1 of 1

Memory and Storage.

Posted: Tue Oct 15, 2013 11:43 pm
by Anuj Dhawan
Most of the "Software Engineers" are using these terms interchangeably but it's not correct to do so. Why, let's read on...

Both terms are used to refer to internal storage space on a computer. Memory, usually referred as the place where an application loads its data during processing. in Personal Computers RAM is usually referred as 'memory'. On the other hand, a hard disk drive is usually the place where data is stored for long or short term retention and thus is known as "storage".

Computer memory needs to be quick. It is constantly feeding the CPU with data to process. Mainframes computers have fast processors and lots of quick memory.

There is a thin line between memory and Storage, when it comes to "paging" and perhaps this is where these two very different, though similar, concepts creates confusion. In the concept of 'paging' or "page swap" a portion of the DASD (hard disk in computer world) drive is turned into memory for the machine to swap out applications and data from memory to the disk & vice versa. This way, the DASD drive is made into memory, which, while slower than the "memory", can be usefully used to create larger virtual memory spaces for systems.

When time permits, I'd like to add more. Also, would like to hear from who play with these terms every second of their professional life and possibly, this thread will be an easy reference for this concept.

Re: Memory and Storage.

Posted: Wed Oct 16, 2013 11:47 am
by Ajit Shah
Thanks for this crisp explanation - this makes me understand that I was using 'memory' quite incorrectly... :oops: .

Re: Memory and Storage.

Posted: Sat Jun 25, 2016 6:35 pm
by Gerhard_Adam
Memory refers to "processor storage" while DASD refers to "disk storage". Memory is temporary while DASD is permanent [this is defined by what happens to the data in the event of a power loss]. In addition one can even refer to tape storage if necessary.

However the points about paging need to be clarified. There is no such thing as a "page swap". Formerly address space swapping would occur for idle address spaces. However, this has changed significantly over the years and the concept of physically swapping an address space to external [disk] storage no longer occurs. Instead, idle address spaces are now shown to be "logically swapped" which indicates that they have been dropped from the Multiprogramming Set [MPS].

Paging only occurs when the system must "steal" pages to replenish the Available Frame Queue [AFQ]. This occurs when the number of pages held in reserve for new work becomes too small. In this case, the system will look for the oldest unreferenced pages in the system and move those out to the Local Page Data Sets. By using this Least Recently Used [LRU] algorithm, the hope is that an unreferenced page will not likely be re-referenced and therefore not have to be brought back into memory. If it does need to be brought back, then the work incurs a performance penalty in waiting for that movement.

Contrary to popular mythology, paging data sets do NOT allow you to specify more memory than you have available on the system.

Paging only allows the system to remove older pages in an effort to free up real memory frames for new work demands. If memory is over-committed, then paging activity increases and performance suffers. If the case becomes too extreme, the system may go into a Pageable Storage Shortage, or Real Storage Shortage. If there isn't enough room on the local page data sets [60% is the threshold], then the system will go into an Auxiliary Storage Shortage and prevent new work from running.

Re: Memory and Storage.

Posted: Sat Jun 25, 2016 8:21 pm
by enrico-sorichetti
Contrary to popular mythology, paging data sets do NOT allow you to specify more memory than you have available on the system.
post the link to the reference

Re: Memory and Storage.

Posted: Sun Jun 26, 2016 7:50 am
by Gerhard_Adam
Not sure I understand what you mean about a reference link. The point is that required memory must be allocated and present in RAM to be used. The only thing that can reside on a page data set is pages that are not in use.

As a result, the working set for a job is a combination of memory resident pages and auxiliary storage slots which represent unused pages. Consequently the criteria is between used and unused pages and not the amount of memory requested.

"Only the virtual pages necessary for program execution are kept in central storage. The remainder reside on auxiliary storage."

http://publibz.boulder.ibm.com/epubs/pdf/iea3a812.pdf [Chap 15]