Top-Rated Free Essay
Preview

Memory Management

Powerful Essays
1112 Words
Grammar
Grammar
Plagiarism
Plagiarism
Writing
Writing
Score
Score
Memory Management
MEMORY MANAGEMENT
Research Paper

ABSTRACT:
To manage the contents of the processor’s memory and storage, memory management is used. To use applications and data, first, it should be brought to memory. Memory use also increases as workload on system increases. To optimize the use of processor’s memory, we hence use memory management.
INTRODUCTION:
After reading the research papers on memory management I concluded that next to CPU physical memory is one of the most important resources in a computer system. Each piece of data is to be stored on a unique physical address therefore it becomes very important for the operating system to manage the memory so that data does not get messed up. I. CONTIGOUS MEMORY ALLOCATION
Contiguous memory allocation is a technique which is used to manage memory. The basic idea of which is to provide each process with its own single contiguous section of memory. The entire physical memory is divided into two parts, the operating system resides in one part which is the lower part of the memory.

II. THE CONCEPT OF DYNAMIC MEMORY ALLOCATION
The concept of dynamic memory allocation is basically to allocate memory to a computer program at runtime of that program. Dynamically allocated memory exists until it is released by the programmer. There are three algorithms for dynamic memory allocation namely first fit in which the first block of memory which is big enough is allocated to the program second is the best fit in which the smallest memory hole which is big enough is allocated to the program and last is the worst fit in which the largest hole is allocated to the program. The efficiency of these cases depends on the programs that need to be executed. It varies from program to program. III. MEMORY MANAGEMENT MODELS:
Furthermore two memory management models have been discussed in the research paper. First one is bare machine model in which the entire address space is given to the program and the program itself is responsible for managing the memory and second is resident monitor model in which the operating system is located in a specified memory location and the remaining memory is allocated to the programs.

IV. MULTIPLE PROGRAM MANAGEMENT
Moving forward the concept of multiple program memory management is being discussed. Memory is partitioned in order to execute multiple programs. There are fixed sized partitions and variable sized partitions. V. PAGING
Another concept of memory management that was repeatedly discussed in the research paper is that of paging. The use of paging allows the physical address space to be non-contiguous. Each page is mapped to a contiguous memory location called a page frame.

If the paging scheme is not used then the entire program is to be loaded into the storage contiguously. But with the use of paging only the desired part of the program gets loaded and hence memory is saved. VI. MEMORY MANAGEMENT UNIT
For better understanding of paging the memory management unit is to be understood. This is a unit which lies between the CPU and the physical memory unit. The MMU basically translates the memory address desired by the CPU to another address before sending it to the memory unit. The address generated by the CPU is called the logical address or the virtual address and that generated by the memory management unit is the physical address. The MMU allows memory to be mapped on page frame. VII. PAGE TABLES
The MMU maintains a page table which has a valid bit for each page in the logical address space. Page tables have a collection of page table entries which keeps the mapping information between virtual addresses and physical addresses.
PTE are basically the page table entries VIII. IMPLEMENTATION OF A PAGE SYSTEM
Physical memory is divided into frames. In order to implement paging scheme and the virtual memory or the logical address space is divided into various pages. Page size is kept equal to the frame size. Whenever a part of a process is required, the needed page is loaded into the frame of the physical memory. For this process to be efficient enough the operating system needs to maintain the page table which holds the base address of each page in the physical memory. The logical address that a CPU generates consists of a page number and a page offset. The page offset is basically the offset into the page, starting at the base address.

IX. SEGMENTATION

Another way of managing memory is that of segmentation in which the logical address space is divided into a collection of segments of different lengths. These segments have a name and an offset associated with it. Segmentation uses less amount of hardware as compared to paging.

X. FRAGEMENTATION:
Another concept related to memory management is that of fragmentation. When free space in memory is spread out and there is no contiguous block of memory then such a state is called fragmentation.
There are two types of fragmentation namely

* External fragmentation:
When there are unused blocks of memory outside a process and any other process may access these chunks of memory then this is called external fragmentation. * Internal fragmentation:
This is when a block of memory of some size is allocated to a process and some memory remains unused by that process and this unused memory cannot be accessed by some other process.
CONCLUSION:
One of the main tasks of operating system is to allocate memory. Out of all the methods discussed so far for memory management, first-fit method is the most appropriate one, as it is fast and increases fragmentation. In Windows, the executed applications and system processes reference memory by utilizing the virtual memory addresses also. These are automatically translated into RAM addresses by the hardware itself. The virtual memory management feature of the Windows manages the tables for the mapping of virtual addresses into the primary memory. An insignificant size of RAM is used by such parts of the OS which cannot be paged out. Thus we see that the Virtual Memory is always being used (Sanderson). It serves as a performance as well as capacity extension for the computer and user. Virtual memory methods and techniques are not limited to Windows, rather LINUX and other modern day operating systems too effectively make use of it.
BIBLIOGRAPHY:

[1] Microsoft. "About Memory Management." Microsoft Developer Network. January 2011 <http://msdn.microsoft.com/en-us/library/aa366525%28v=vs.85%29.aspx>.
[2] Richte, Jeffrey. Advanced Windows. Microsoft Press, n.d.
[3] Sanderson, Bruce. "RAM, Virtual Memory, PageFile and all that stuff." Bruce Sanderson 's General Windows Information. January 2011 <http://members.shaw.ca/bsanders

Bibliography: [1] Microsoft. "About Memory Management." Microsoft Developer Network. January 2011 &lt;http://msdn.microsoft.com/en-us/library/aa366525%28v=vs.85%29.aspx&gt;. [2] Richte, Jeffrey. Advanced Windows. Microsoft Press, n.d. [3] Sanderson, Bruce. "RAM, Virtual Memory, PageFile and all that stuff." Bruce Sanderson 's General Windows Information. January 2011 &lt;http://members.shaw.ca/bsanders

You May Also Find These Documents Helpful

  • Good Essays

    Some OS routines directly support application programs as they run and thus must be resident. Other transient routines are stored on disk and read into memory only when needed. Fixed-length partitions can also be used to allocate the set amount of memory that a particular program needs to run. Under dynamic memory management, the transient area is treated as a pool of unstructured free space. When the system decides to load a particular program, a region of memory just sufficient to hold the program is allocated from the pool. Using segmentation, programs are divided into independently addressed segments and stored in noncontiguous memory. Paging breaks a program into fixed-length pages.…

    • 7085 Words
    • 29 Pages
    Good Essays
  • Satisfactory Essays

    SD1230 Lab 1

    • 239 Words
    • 2 Pages

    1. Why is virtual memory addresses used for applications? – So it can have its own address space on the memory.…

    • 239 Words
    • 2 Pages
    Satisfactory Essays
  • Satisfactory Essays

    RAM is the random access memory and it is volatile. It holds program instructions and data. The CPU can find…

    • 204 Words
    • 1 Page
    Satisfactory Essays
  • Satisfactory Essays

    memory changes on how it is set. It either can be added or reduced from the computer.…

    • 281 Words
    • 2 Pages
    Satisfactory Essays
  • Satisfactory Essays

    POS355 Week 1 Individual

    • 574 Words
    • 2 Pages

    While in the hardware, memory management includes elements that store data such as random access memory chips, and memory caches. In the operating system, memory management involves the distribution of precise memory blocks to programs as the user requests adjustments. While at the application and program level, memory management ensures the availability of sufficient memory for the objects and data structures at all times for each program that is running.…

    • 574 Words
    • 2 Pages
    Satisfactory Essays
  • Good Essays

    BTEC ICT Unit 2 P1

    • 944 Words
    • 4 Pages

    There are two types of memory which we need and use on our computers one of them is RAM and the other one is cache.…

    • 944 Words
    • 4 Pages
    Good Essays
  • Good Essays

    Random-access-memory (RAM) is a very important specification of the computer. By ensuring you have enough RAM, the faster your system processes, you can store more data, and allow more programs to run at the same time. As the OS allows the different task to complete for the processor, the RAM is used as temp storage, when the processor no longer needs them the OS clears it. Virtual memory is the hard drive space borrowed to use if there isn’t enough…

    • 580 Words
    • 3 Pages
    Good Essays
  • Satisfactory Essays

    Internal Memory – The interior memory of a computer is called RAM. It is mainly used to hold programmes and pages that are open or any documents and graphics that the user is viewing. This is useful for creating graphics images because once the programme or document is in the RAM then it works at a higher speed which is good because users are able to complete their work at a faster speed and don’t have to experience any problems.…

    • 732 Words
    • 3 Pages
    Satisfactory Essays
  • Good Essays

    Memory management is an important characteristic of an operating system. Main memory is divided into two parts one for resident programs, and the other for the program currently in use. The user part must be subdivided to accommodate multiple processes (Stallings, 2012). When a few processes are in the memory then much of the time all of the processes will have to wait for input /output and the processor will be idle. According to Stallings (2012),. The requirements that memory management is supposed to satisfy are Relocation, Protection, Sharing, Logical organization, and Physical…

    • 573 Words
    • 3 Pages
    Good Essays
  • Powerful Essays

    Memory – Memory is the part of the computer that temporarily stores applications, documents, and stem operating information.…

    • 2127 Words
    • 9 Pages
    Powerful Essays
  • Satisfactory Essays

    Faith Integration

    • 613 Words
    • 3 Pages

    The processor could keep track of what locations are associated with each process and limit access to locations that are outside of a program's extent. By using base and limits registers and by performing a check for every memory access, information regarding the extent of a program's memory could be maintained…

    • 613 Words
    • 3 Pages
    Satisfactory Essays
  • Better Essays

    IT 600 Module One Lecture

    • 1256 Words
    • 5 Pages

    that every process gets the memory it needs, and that no application can access memory in…

    • 1256 Words
    • 5 Pages
    Better Essays
  • Good Essays

    For any operating system to function properly, one of the vital tasks it must be able to do is manage memory. When a program runs on a computer, it first must be loaded into memory before it can execute. There are five different requirements memory management must satisfy in order to execute the program so it runs without errors or corruption. These requirements are relocation, protection, sharing, logical organization, and physical organization.…

    • 730 Words
    • 3 Pages
    Good Essays
  • Satisfactory Essays

    Assignment 1,Section I

    • 326 Words
    • 2 Pages

    Several methods have been devised that increase the effectiveness of memory management. 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 paging or swapping to secondary storage. The quality of the virtual memory manager can have an extensive effect on overall system performanc…

    • 326 Words
    • 2 Pages
    Satisfactory Essays
  • Powerful Essays

    Cis Memory Management

    • 1581 Words
    • 7 Pages

    The purpose of this paper is to show how memory is used in executing programs and its critical support for applications. C++ is a general purpose programming language that runs programs using memory management. Two operating system environments are commonly used in compiling, building and executing C++ applications. These are the windows and UNIX / Linux (or some UNIX / Linux derivative) operating system. In this paper we will explore the implementation of memory management, processes and threads.…

    • 1581 Words
    • 7 Pages
    Powerful Essays