Memory Management
एक Multi Programming Computer में, Operating System Memory के एक Part में रहता है और बाकी का उपयोग Multiple Processes द्वारा किया जाता है। Memory को different Processes के बीच subdivide करने के कार्य को Memory Management कहा जाता है। Memory Management process execution के दौरान Main memory और disk के बीच execution को manage करने के लिए Operating System में एक Method है। Memory Management का मुख्य उद्देश्य Memory के utilization को प्राप्त करना है।
Why Memory Management is required:
- Process execution से पहले और बाद में Memory को Allocate और de-allocate करें।
- Processes द्वारा used Memory Space को Track रखने के लिए।
- Fragmentation issues को reduce करने के लिए।
- Main Memory के Proper utilization के लिए।
- Process execution के समय Data integrity Maintain रखने के लिए।
Logical and Physical Address Space:
Logical Address space:
CPU द्वारा generate Address “Logical Address” के रूप में जाना जाता है। इसे Virtual Address के रूप में भी जाना जाता है। Logical Address space को Process के size के रूप में define किया जा सकता है। एक Logical Address change किया जा सकता है।
Physical Address space:
Memory unit द्वारा seen किया गया Address (अर्थात Memory के memory address register में load किया गया) “basically ” Physical Address के रूप में जाना जाता है। Physical Addresses को real Address के रूप में भी जाना जाता है। इन logical Addresses के अनुरूप सभी Physical Address के Set को Physical address space के रूप में जाना जाता है। MMU द्वारा एक Physical Addresses की Counting की जाती है। Virtual से Physical Addresses तक run-time mapping एक hardware device Memory Management Unit(MMU) द्वारा की जाती है। Physical Address always Constant रहता है।