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

  • 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
  • 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
  • Better Essays

    Week 5 Pos 355

    • 2010 Words
    • 9 Pages

    Memory management is an important part of an operating. The UNIX/Linux OS use numerous intricate algorithms for memory management which will permit the system to…

    • 2010 Words
    • 9 Pages
    Better 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
  • 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
  • Satisfactory Essays

    A disadvantage to the Multi-Store Model of Memory is that it may be over simplifying the memory processes. This model of memory doesn’t take into consideration that there are different kinds of…

    • 451 Words
    • 2 Pages
    Satisfactory Essays
  • Good Essays

    According to Stallings (2012) the requirements of memory management must satisfy the relocation, protection sharing, logical organization, and physical organization.…

    • 392 Words
    • 2 Pages
    Good Essays
  • Powerful Essays

    Operating System Comparisons

    • 2694 Words
    • 11 Pages

    An important function of the OS is to manage the computer systems memory. Programs, processes, and resource do not simply float around in memory haphazardly. Memory is shared among these processes and resources. Accordingly, managed by the OS is an organized structure of locating processes in computer memory locations. The two primary types of memory controlled by an OS are main memory and virtual memory. Main memory is the location of data moved to the CPU for process execution. Virtual memory is used to swap processes too large to fit completely into main memory. Intended memory management requirements include relocation, protection, sharing, logical organization, and physical organization. Paging permits the physical address space of a process to be noncontiguous. Because paging has advantages over earlier methods it is prominent in most operating systems. Processes are swapped from main memory to virtual memory and back again as needed. The original memory location may not be available at the…

    • 2694 Words
    • 11 Pages
    Powerful Essays
  • Good Essays

    Virtual Memory

    • 566 Words
    • 3 Pages

    Virtual memory combines your computer’s RAM with temporary space on your hard disk. When RAM runs low, virtual memory moves data from RAM to a space called a paging file. Moving data to and from the paging file frees up RAM to complete its work.…

    • 566 Words
    • 3 Pages
    Good Essays
  • Powerful Essays

    Embedded Systems 2 marks

    • 760 Words
    • 4 Pages

    Three basic areas of read/write storage (RAM) need to be identified: stack, free memory, and heap.…

    • 760 Words
    • 4 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
  • 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
  • Satisfactory Essays

    memory management

    • 500 Words
    • 2 Pages

    Memory management can become very complex in modern day computers as with the requirements for the management of the memory. There are four categories that must be satisfied within memory management which are address mapping and relocation, protection and sharing, application organization, and two-level memory organization. Had one of these categories not been satisfied through memory management, then it is a failure and could cause major problems in terms of an operating system.…

    • 500 Words
    • 2 Pages
    Satisfactory Essays
  • Good Essays

    Ch01 08essay Answers

    • 7620 Words
    • 34 Pages

    Chapter 1 – 8 Essay Question Review 1. Explain why an operating system can be viewed as a resource allocator. Ans: A computer system has many resources that may be required to solve a problem: CPU time, memory space, file-storage space, I/O devices, and so on. The operating system acts as the manager of these resources.…

    • 7620 Words
    • 34 Pages
    Good Essays
  • Good Essays

    My Essay About Ur Mom

    • 580 Words
    • 3 Pages

    Research, investigate and document areas relating to memory management of any Operating System of your choice. Areas to be discussed in your research documentation to include among other areas, how memory is managed including mechanisms and strategies used, problems faced by these techniques and solutions to overcome them.…

    • 580 Words
    • 3 Pages
    Good Essays