What Is Memory
What Is Memory
well, we can enlarge this range by using unsigned int. in that case, the bit
which is now storing the sign will also store the bit value and therefore the
range will be 0 to 65,535.
ADVERTISEMENT
1. Let's consider,
2. Process Size = 4 MB
3. Main memory size = 4 MB
4. The process can only reside in the main memory at any time.
5. If the time for which the process does IO is P,
6.
7. Then,
8.
9. CPU utilization = (1-P)
10. let's say,
11. P = 70%
12. CPU utilization = 30 %
13. Now, increase the memory size, Let's say it is 8 MB.
14. Process Size = 4 MB
15. Two processes can reside in the main memory at the same time.
16. Let's say the time for which, one process does its IO is P,
17.
18. Then
19.
20. CPU utilization = (1-P^2)
21. let's say P = 70 %
22. CPU utilization = (1-0.49) =0.51 = 51 %
Therefore, we can state that the CPU utilization will be increased if the
memory size gets increased.
Fixed Partitioning
The earliest and one of the simplest technique which can be used to load
more than one processes into the main memory is Fixed partitioning or
Contiguous memory allocation.
In fixed partitioning,
PlayNext
Mute
Duration 18:10
Loaded: 4.40%
Â
Fullscreen
1. Internal Fragmentation
If the size of the process is lesser then the total size of the partition then
some size of the partition get wasted and remain unused. This is wastage
of the memory and called internal fragmentation.
2. External Fragmentation
The total unused space of various partitions cannot be used to load the
processes even though there is space available but not in the contiguous
form.
ADVERTISEMENT
If the process size is larger than the size of maximum sized partition then
that process cannot be loaded into the memory. Therefore, a limitation
can be imposed on the process size that is it cannot be larger than the
size of the largest partition.
The first partition is reserved for the operating system. The remaining
space is divided into parts. The size of each partition will be equal to the
size of the process. The partition size varies according to the need of the
process so that the internal fragmentation can be avoided.
Advantages of Dynamic Partitioning over fixed
partitioning
1. No Internal Fragmentation
Given the fact that the partitions in dynamic partitioning are created
according to the need of the process, It is clear that there will not be any
internal fragmentation because there will not be any unused remaining
space in the partition.
PauseNext
Mute
Duration 18:10
Loaded: 3.30%
Â
Fullscreen
External Fragmentation
Absence of internal fragmentation doesn't mean that there will not be
external fragmentation.
Let's consider three processes P1 (1 MB) and P2 (3 MB) and P3 (1 MB) are
being loaded in the respective partitions of the main memory.
After some time P1 and P3 got completed and their assigned space is
freed. Now there are two unused partitions (1 MB and 1 MB) available in
the main memory but they cannot be used to load a 2 MB process in the
memory since they are not contiguously located.
The rule says that the process must be contiguously present in the main
memory to get executed. We need to change this rule to avoid external
fragmentation.
Complex Memory Allocation
In Fixed partitioning, the list of partitions is made once and will never
change but in dynamic partitioning, the allocation and deallocation is very
complex since the partition size will be varied every time when it is
assigned to a new process. OS has to keep track of all the partitions.
ADVERTISEMENT
Due to the fact that the allocation and deallocation are done very
frequently in dynamic memory allocation and the partition size will be
changed at each time, it is going to be very difficult for OS to manage
everything.