How much memory has the program used when reaching the


Task 1

Please answer the following questions briefly and precisely. The text book is your reference. You can paraphrase the sentences in the text book, but you are not allowed to literally copy sentences word by word. Please keep your answers concise, meaningful, yet self-contained. After reading your answer to a question, one should have basic understanding without referring any other sources.

Reading the textbook to build up a comprehensive understanding of the content is essential in this unit. This task attempts to encourage you to read. Therefore, there are many small questions with the answers directly obtainable from the textbook. The page numbers where to find the answer are listed after each question.

1. What are the 5 basic requirements a memory management system is intended to satisfy (just the words/phrases, no need to expand, pp 340-341, e7: p 307, e6: p. 312)?

2. What is (memory) internal fragmentation (p 344, e7: p 312, e6: p 318)? What is (memory) external fragmentation (p 349, e7: p 314, e6: p320)?

3. What is a page and what is a page frame, and do they have to be at the same size (p 355, e7: p 321, e6: p 326)?

4. What is a page table used for, and how many page tables an OS may have (p 355, e7: p 321, e6: p 326)?

5. What is thrashing (p347, e7: p 344, e6: p. 349)? Given all the best effort by an OS, thrashing sometimes may still happen. What could be the situation (hint: high memory demand, and not enough physical memory)?

6. What are the 2 common fetch policies (pp 390-391, e7: p 361, e6: p 366)?

7. What is frame locking, and why do we need it (p 392, e7: p 363, e6: p 368)?

8. List the 4 replacement algorithms in the text book (p 392, e7: p 363, e6: p 368).

9. What are the 2 paramount objectives in designing I/O facilities (pp 513-514, e7: pp 480-481, e6: p 501).

10. What is the RAID technique (pp 526-530, e7: pp 494-495, e6: p515)?

11. What are the 5 basic file organizations (p 559, e7: p 529, e6: p558)?

12. What are the 3 issues involved in file allocation? (p 574, e7: p 543, e6: p570)

Intermediate Level Tasks

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.

Advanced Level Tasks (4 marks in total):.

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.4On 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?

Request for Solution File

Ask an Expert for Answer!!
Operating System: How much memory has the program used when reaching the
Reference No:- TGS02285643

Expected delivery within 24 Hours