Memory Management

Memory Management:

It is the procedure of controlling and coordinating computer memory, assigning portions called blocks to several running programs to optimize performance of total system. Memory management exists in hardware, in the OS (operating system), and in programs and applications.

In hardware, memory management includes components that physically store data, such like memory caches, RAM (random access memory) chips, and flash-based SSDs (solid-state drives). In the Operating System, memory management involves the allocation (and constant reallocation) of particular memory blocks to specific programs as user demands for modify. At the application level, memory management makes sure the availability of sufficient memory for the objects and data structures of each running program at all times. Application memory management joins two associated tasks, called as recycling and allocation.

While the program requests a block of memory, a portion of the memory manager called the allocator assigns that block to the program.

While a program no longer needs the data in earlier allocated memory blocks, those blocks become obtainable for reassignment. This task can be manually done (by the programmer) or automatically (by the memory manager).

Memory Management Requirements:

Relocation:

  • Programmer does not know whereby the program will be put in memory when it is executed.
  • Whereas the program is executing, it can be swapped to disk and returned to main memory at a different location (relocated).
  • Memory references ought to be translated in the code to actual physical memory address.

Protection:

  • Processes should not be capable to reference memory locations in another procedure without permission.
  • It is not possible to check absolute addresses at compile time.
  • Must be checked at rum time.
  • Memory protection requirement ought to be satisfied by the processor (hardware) instead of the operating system (software).
  • OS can’t anticipate all memory references a program will make.

Sharing:

  • Let several processes to access the same portion of memory.
  • Better to let each process access to the similar copy of the program instead of have their own separate copy.

Logical Organization:

  • Programs are written in modules
  • Modules can be independently written and compiled
  • Different degrees of protection given to modules (read-only, execute-only)
  • Share modules among processes

Physical Organization:

  • Memory obtainable for a program plus its data may be inadequate.
  • Overlaying let various modules to be assigned the similar region of memory.
  • Programmer does not know about space which will be accessible.

Purpose of memory management:

The reason of the memory management system is to load programs into memory in such a manner as to give each program loaded the memory that it needs for execution.

In multiprogramming operating system there are various programs residing in the memory simultaneously in the memory.  The memory management system has three primary tasks. It attempts to carry out these tasks in a way that is fair and capable to the programs that must be loaded and executed.

1. It keeps track of which parts of the memory are being used currently and by which process into memory together with the space being utilized and also keeps track of available space.

2. It maintains one or more queues of programs waiting to be loaded into memory as space becomes accessible, based on such program criteria as priority and memory requirements.

3. While space is available, it allocates memory to the programs that are next to be loaded. It also de-allocates a program's memory space while it completes execution.

The de-allocated space is made available for other programs. 

Latest technology based Computer Science Online Tutoring Assistance

Tutors, at the www.tutorsglobe.com, take pledge to provide full satisfaction and assurance in Memory Management homework help via online tutoring. Students are getting 100% satisfaction by online tutors across the globe. Here you can get homework help for Memory Management, project ideas and tutorials. We provide email based Memory Management homework help. You can join us to ask queries 24x7 with live, experienced and qualified online tutors specialized in Memory Management. Through Online Tutoring, you would be able to complete your homework or assignments at your home. Tutors at the TutorsGlobe are committed to provide the best quality online tutoring assistance for Computer Science homework help and assignment help services. They use their experience, as they have solved thousands of the Computer assignments, which may help you to solve your complex issues of Memory Management. TutorsGlobe assure for the best quality compliance to your homework. Compromise with quality is not in our dictionary. If we feel that we are not able to provide the homework help as per the deadline or given instruction by the student, we refund the money of the student without any delay.