Learn IT

Free learning anything to everything in Information Technology.

Memory Management On Operating Systems

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 management of main memory is critical to the computer system.


Virtual memory makes the system appear to have more memory than it actually has by sharing it between competing processes as they need it. Virtual memory does more than just make your computer's memory go further.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.

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 The principal goals of the operating system's memory management are:
to provide memory space to enable several processes to be executed at the same time to provide a satisfactory level of performance for the system users to protect each programs resources to share (if desired) memory space between processes to make the addressing of memory space as transparent as possible for the programmer.


Memory management systems on multi-tasking operating systems usually deal with the following issues.


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.


Protection


Memory protectionProcesses 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.


Sharing


Shared memoryEven 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.


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.

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.

Please follow these links for details on other tasks performed by Operating System:

Memory Management

Process Management

Disk and File Management

Networking

Security

Graphical User Interface

Device Driver Management

1 comments:

  1. anup
    Said

    gravatar

    Nice efforts!!!!!
    Keep going........
    Plz do visit on my blog & show your presence over there by leaving a comment on posts.If you want,You can also provide a link to my blog from your blog.

    my blog:- http://anup-life.blogspot.com/
    Thanx!

    April 17, 2008 at 8:11 PM