[Get Solution] Solving Memory Management Problems
About this Assignment In this project, you will use the what you have studied in the chapter Memory Management & Operating Systems to emulate how operating systems manage memory paging, allocation, deallocation and replacement. Upon completion of this project you will be able to: Describe how operating systems manage memory Use simple codes to emulate basic functionalities of operating systems Sources This assignment covers material presented in the chapter ‘Memory Management & Operating Systems’. You can refer particularly to the following lessons in order to help you working through your solution: Memory Allocation Schemes: Definition & Uses Paged Memory Allocation: Definition, Purpose & Structure Memory Deallocation: Definition & Purpose Page Replacement: Definition & Algorithms Memory Management (MEM) Coding: Analysis & Example Prompt Consider the below settings to begin this project and keep them in mind: Total Memory size = 20 Kbyte Page size = 1 Kbyte Run the following list of jobs given the above considerations. Job ID Start Time Job required size Execution interval Job state at the end of the interval 1 1 2 7 End 2 2 3 8 Sleep 3 3 4 6 End 4 4 3 6 Sleep 5 5 2 9 Sleep 6 6 3 6 Sleep 7 7 2 6 Sleep Using the functions you studied in the previously mentioned code that implement the different allocation, deallocation and replacement schemes, try three different scenarios in order to manage memory allocation for the following jobs Job ID Start Time Job required size Execution interval Job state at the end of the interval 8 8 3 4 Sleep 9 9 5 5 Sleep 10 10 2 8 Sleep 11 11 4 6 End 12 12 6 5 Sleep 2 13 3 6 End 4 13 3 4 Sleep 13 13 5 3 End 7 13 2 3 End 9 17 4 4 Sleep 10 19 2 11 End 6 19 3 6 End 5 20 2 10 Sleep 4 21 3 12 Sleep 12 22 6 13 End 8 22 3 9 End 9 28 5 11 End 5 33 2 3 Sleep 4 34 3 10 End 5 38 2 10 End Show the memory state for the different scenarios and analyze which choice is the best. Discuss the impact that Linux verses Windows might have on the ending memory state. Grading Rubric Your project will be graded based on the following rubric: Category Unacceptable (0-1) Needs Improvement (2-3) Good (4) Excellent (5) Total Possible Points Efficiency of solutions (x2) Solutions require long unnecessary waiting times for the processes and not using the complete memory space Solutions either require long unnecessary waiting times for the processes or not using the complete memory space Solutions are making acceptable use of memory on both temporal and spatial levels Solutions lead to an optimal temporal and spatial use of memory 10 Analysis (x2) Not able to explain choices or results Basic understanding of memory management but needs to be improved on the analysis level Adequate explanation and analysis for memory state scenario choice Clear explanation and clarification of the choices for scenarios and results 10 Trying different scenarios (x1) No Scenarios tested Only one scenario is tested Tests of only 2 different scenarios Tests of 3 different scenarios 5 Use of functions for each memory management task (x1) No use of any of the three function types (allocation, deallocation and replacement) Use of only one of the three function types (allocation, deallocation and replacement) Use of only two of the three function types (allocation, deallocation and replacement) Use of all function types for allocation, deallocation and replacement 5 Correct matching between the chosen scenario and functions (x1) Chosen methods do not match the planned scenario Some of the chosen methods match the planned scenario Majority of the chosen methods match the planned scenario All chosen methods match the planned scenario 5 Completeness and correctness of the test case (x1) Less than half the timing and memory spatial constraints of the assignment (task starting times, sizes and intervals) where implemented More than half the timing and memory spatial constraints of the assignment (task starting times, sizes and intervals) where followed Most of the timing and memory spatial constraints of the assignment (task starting times, sizes and intervals) where followed All the timing and memory spatial constraints of the assignment (task starting times, sizes and intervals) where fully followed 5