In this project, you will use 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
>Prompt
) Show the memory state for the different scenarios in the tables below and analyze which choice is the best. Discuss the impact that Linux versus Windows might have on the ending memory state. 2) With that information in mind, run the following list of jobs: Kbyte 2 End 52 Sleep 3) Run three different scenarios in order to manage memory allocation Run the program for the following scenarios: Each should be run for the following jobs: Sleep 10 Sleep 1265Sleep 36End 44Sleep 1End 210End Here are a couple tips for getting started with the assignment: You will need to use what you learned about allocation, deallocation, and replacement to build this program, and you’ll need to consider the total memory size and page size defined in the prompt. When asked to consider different scenarios, it means to consider running these jobs using the best-fit allocation scheme, the first-fit scheme, or others, and then determine which would be best. Your project will be graded based on the following rubric: 10 10 5 5 5 5
2
1
20
Job IDStart TimeJob required sizeExecution intervalJob state at the end of the interval
11
7
End
22
3
8
Sleep
33
4
6
4436Sleep
5
9
6636Sleep
7726Sleep
Job IDStart TimeJob required sizeExecution intervalJob state at the end of the interval
88
34
9955Sleep
10
28
111146End
12
2
13
41334Sleep
131353End
71323End
9
17
10
19
21
61936End
520210Sleep
421312Sleep
1222613End
82239End
928511End
53323Sleep
434310End
5
38
Prompt Tips
Grading Rubric
CategoryUnacceptable (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
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
Trying different scenarios (x1)
No Scenarios tested
Only one scenario is tested
Tests of only 2 different scenarios
Tests of 3 different scenarios
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
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
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