FACTOID # 19: Cheap sloppy joes: Looking for reduced-price lunches for schoolchildren? Head for Oklahoma!
 
 Home   Encyclopedia   Statistics   States A-Z   Flags   Maps   FAQ   About 
   
 
WHAT'S NEW
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Memory management

Memory management is the act of managing computer memory. In its simpler forms, this involves providing ways to allocate portions of memory to programs at their request, and freeing it for reuse when no longer needed. The terms storage (U.K.) or memory (U.S.) refer to the parts of a digital computer that retain physical state (data) for some interval of time, possibly even after electrical power to the computer is turned off. ...


Virtual memory systems separate the memory addresses used by a process from actual physical addresses, allowing separation of processes and increasing the effectively available amount of RAM using disk swapping. The quality of the virtual memory manager can have a big impact on overall system performance. How virtual memory maps to physical memory Virtual memory is an addressing scheme implemented in hardware and software that allows non-contiguous memory to be addressed as if it were contiguous. ... How virtual memory maps to physical memory Virtual memory is an addressing scheme implemented in hardware and software that allows non-contiguous memory to be addressed as if it were contiguous. ...


Garbage collection is the automated allocation, and deallocation of computer memory resources for a program. This is generally implemented at the programming language level and is in opposition to manual memory management, the explicit allocation and deallocation of computer memory resources. In computer science, garbage collection (GC) is a form of automatic memory management. ... Manual memory management, in computer science, refers to the usage of manual instructions by the programmer in order to identify and deallocate unused objects, or garbage. ...

Contents

Features

Memory management systems on multi-tasking operating systems usually deal with the following issues. In computing, multitasking is a method by which multiple tasks, also known as processes, share common processing resources such as a CPU. In the case of a computer with a single CPU, only one task is said to be running at any point in time, meaning that the CPU is...


Relocation

In systems with virtual memory, programs in memory must be able to reside in different parts of the memory at different times. This is because when the program is swapped back into memory after being swapped out for a while it can not always be placed in the same location. Memory management in the operating system should therefore be able to relocate programs in memory and handle memory references in the code of the program so that they always point to the right location in memory. How virtual memory maps to physical memory Virtual memory is an addressing scheme implemented in hardware and software that allows non-contiguous memory to be addressed as if it were contiguous. ...


Protection

Main article: Memory protection

Processes should not be able to reference the memory for another process without permission. This is called memory protection, and prevents malicious or malfunctioning code in one program from interfering with the operation of other running programs. Memory protection is a system that prevents one process from corrupting the memory of another process running on the same computer at the same time. ... Memory protection is a system that prevents one process from corrupting the memory of another process running on the same computer at the same time. ...


Sharing

Main article: Shared memory

Even though the memory for different processes is protected from each other different processes should be able to share information and therefore access the same part of memory. // Diagram of a typical Shared memory system. ...


Logical organization

Programs are often organized in modules. Some of these modules could be shared between different programs, some are read only and some contain data that can be modified. The memory management is responsible for handling this logical organization that is different from the physical linear address space. One way to arrange this organization is segmentation. Segmentation is one of the most common ways to achieve memory protection; another common one is paging. ...


Physical organization

Memory is usually divided into fast primary storage and slow secondary storage. Memory management in the operating system handles moving information between these two levels of memory. Primary storage, or internal memory, is computer memory that is accessible to the central processing unit of a computer without the use of computers input/output channels. ... In computer storage, secondary storage, or external memory, is computer memory that is not directly accessible to the central processing unit of a computer, requiring the use of computers input/output channels. ...


DOS memory managers

In addition to standard memory management, the 640 KB barrier of MS-DOS and compatible systems led to the development of programs known as memory managers when PC main memories started to be routinely larger than 640 KB in the late 1980s (see conventional memory). These move portions of the operating system outside their normal locations in order to increase the amount of conventional or quasi-conventional memory available to other applications. Examples are EMM386, which was part of the standard installation in DOS's later versions, and QEMM. These allowed use of memory above the 640 KB barrier, where memory was normally reserved for RAMs, and high and upper memory. Microsofts disk operating system, MS-DOS, was Microsofts implementation of DOS, which was the first popular operating system for the IBM PC, and until recently, was widely used on the PC compatible platform. ... A memory manager is a part of a computer program which accepts requests from the program to allocate and deallocate chunks of memory. ... Conventional memory is the first 640 kibibytes of an IBM PCs memory. ... EMM386 was Microsofts expanded memory manager, which created expanded memory using extended memory on Intel 80386 CPUs. ... QEMM (sometimes pronounced IPA: , though not by those who developed it), the Quarterdeck Expanded Memory Manager by Quarterdeck, was the most popular third party memory manager for the DOS operating system. ...


See also

In computer science, dynamic memory allocation is the allocation of memory storage for use in a computer program during the runtime of that program. ... In computer science, garbage collection (GC) is a form of automatic memory management. ... This article discusses a general notion of reference in computing. ... This article discusses a general notion of reference in computing. ... Relationship between pages addressed by virtual addresses and the frames in physical memory, within a simple address space scheme. ... In computer operating systems, paging memory allocation, paging refers to the process of managing program access to virtual memory pages that do not currently reside in RAM. It is implemented as a task that resides in the kernel of the operating system and gains control when a page fault takes... In computer operating systems, demand paging is an application of virtual memory. ... It has been suggested that Software pointer be merged into this article or section. ... How virtual memory maps to physical memory Virtual memory is an addressing scheme implemented in hardware and software that allows non-contiguous memory to be addressed as if it were contiguous. ... This 68451 MMU could be used with the Motorola 68010 MMU, short for memory management unit or sometimes called paged memory management unit as PMMU, is a class of computer hardware components responsible for handling memory accesses requested by the CPU. Among the functions of such devices are the translation...

External links


  Results from FactBites:
 
The Memory Management Reference (101 words)
This is a resource for programmers and computer scientists interested in memory management and garbage collection.
Articles giving a beginner's overview of memory management and explaining specific areas of it.
Ravenbrook are happy to provide advanced memory management solutions to language and application developers through our consulting service.
Memory management - Wikipedia, the free encyclopedia (221 words)
Virtual memory systems increase the effectively available amount of RAM using disk swapping.
This is generally implemented at the programming language level and is in opposition to manual memory management, the explicit allocation and deallocation of computer memory resources.
In addition to standard memory management, DOS led to the development of programs known as memory managers.
  More results at FactBites »

 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m