Ow much memory has the program used when reaching the point


On the Internet, you can find many memory defragmentation programs by Googling "RAM defragmentation" or "RAM defrag" etc. Some claim to be able to do RAM level memory defragmentation, and they all claim to increase system efficiency and stability. Assume that all these programs are running as applications. Based on the principles of paging memory management systems, answer the following questions.

M.1 Briefly explain how a paging memory management system works. Please include the following in your explanation:
- What logical memory addresses are, what physical memory addresses are, and also the relation between them?
- What level of memory, logical or physical, does the process image of an application occupy?
- What type of memory addresses, logical or physical, does the physical processor (or CPU) operate on?

M.2 Does a paging memory management system have the fragmentation problem at the physical memory (RAM) level? Why or why not. Does a paging memory management system have the fragmentation problem at process image level? Why or why not.

M.3 Can an application running on an operating system, which uses a paging memory management system, directly access the physical memory and also change the physical memory allocation to processes? Why or why not.

M.4 Write down your conclusion about the effectiveness and usefulness of memory defragmentation applications. Your conclusion should logically follow the argument line of the answers to the previous questions.

For the following tasks, you should write a proper report to explain the logic of your programs and also answer the questions from the tasks. Your report should read like a textbook on programming. You can use figures and pieces of program code in the report to help your explanation. The full programs and the program outputs should be included at the end of the report as an appendix. A submission with only the programs and without the report will not attract any mark; neither will a report without the programs.

Write a program with the programming language of your choice and on the platform of your choice. The program does nothing but just has the memory leak problem.
If you write the program on a platform which has in-built garbage collection mechanism, special care has to be taken to introduce the memory leak problem. Please report the "special care", should you have any, to introduce the memory leak problem.

Execute the program until it cannot proceed anymore. You may have to allocate big chunks of memory to reach this point quickly. This is even more so if you are running the program on a 64-bit operating system. Based on your observation and your understanding of the principles of a paging memory management system, answer the following questions:

A.1 How much memory has the program used when reaching the point where it cannot proceed anymore? What is the physical address space size (32-bit or 64-bit) of the computer you run this application, what is the size of the logical memory space (maximum possible address size), and what is the size of the physical memory of the computer you run this application?

A.2 What type of memory, virtual or physical, is exhausted when there is the memory leak problem with a process?

A.3 When the process which has the memory leak problem cannot proceed anymore, does it prevent any other program from starting due to the lack of memory? Does it slow down the whole system? Why or why not.

A.4 On the platform which has in-built garbage collection mechanism, e.g., .NET and JVM, to a large extent, the memory leak problem can be avoided. Why?

Solution Preview :

Prepared by a verified Expert
Operating System: Ow much memory has the program used when reaching the point
Reference No:- TGS02286177

Now Priced at $25 (50% Discount)

Recommended (95%)

Rated (4.7/5)