virtual memory কি ?
Virtual memory , operating system (OS) এর memory management capability বৈশিষ্ট্য। Virtual Memory হল একটি storage allocation scheme যার মধ্যে secondary memory কে main memory এর অংশ হেসেবে ধরা হয়। অর্থাৎ Virtual Memory, Physical Memory (Hard Disk) কে একটি Logical Memory (random access memory (RAM))হিসেবে গণ্য করে। এর ফলে virtual Memory সাহায্যে কম্পিউটার Hard Disk এর সম্পূর্ণ Space টিকে RAM হিসেবে ব্যবহার করা যেতে পারে।
অনেক সময় কম্পিউটার এর কাজ করার জন্য RAM এর তুলনায় অনেক বেশি Memory দরকার হয়ে পরে, বিশেষ করে যখন কম্পিউটার একই সময়ে multiple program run করে। তখন কম্পিউটার এর operating system , hard drive এর কিছু অংশ কে RAM হিসেবে ব্যবহার করতে শুরু করে।
এই প্রক্রিয়া তে hardware এবং software দুটিই সমান ভাবে ব্যবহার হয়। এই প্রক্রিয়া তে program দ্বারা memory address কে map করা হয় যা program এ ব্যবহার হয়।
Types of virtual memory
Computer এর memory management unit (MMU) এই memory operation কে সম্পন্ন করে। সাধারনত CPU তে memory management unit , integrate করা থাকে। মূলত দুটি প্রক্রিয়া র মাধ্যমে virtual memory , handle করা হয় : paged এবং segmented.
Paging, memory কে বিভিন্ন section বা paging file এ বিভক্ত করে, যার size সাধারনত 4 KB হয়ে থাকে। যখন computer এর RAM এ জায়গার ঘাটতি দেখা দেয় তখন যে সমস্ত page সেই মুহূর্তে use হচ্ছেনা সে গুলিকে, hard drive এর যে অংশ টি swap file ব্যবহার এর জন্য বরাদ্ধ হয়েছে সেখানে পাঠান হয়। swap file হল hard drive এর মধ্যে একটি যা virtual memory, RAM এর extension হিসেবে বরাদ্ধ করেছে।
এই paging process এ page table একটি গুরুত্ব পূর্ণ ভুমিকা পালন করে। page table , OS এবং application এর virtual address কে MMU এর physical address এ translate করে।
Segmentation হল অপর একটি পধতি যার মাধ্যমে virtual memory manage করা হয়। এই পদ্ধতি তে virtual memory কে বিভিন্ন length এর segment এ বিভক্ত করা হয়। memory এর যে সমস্ত Segment সেই মুহূর্তে ব্যবহার হচ্ছে না সে গুলি কে hard drive এর virtual memory space এ সরিয়ে দেওয়া হয়। এই Segment গুলির information বা process কে segment table এর সাহায্যে track করা হয়।
Virtual memory system হল segmentation এবং paging এর combination।
Benefits of Virtual Memory
1) Unused Address space: Unused Address Space এর মাধ্যমে user অনেক program এক সঙ্গে execute করতে পারে।
3) Decrease Number of I/O Operations: Process Swapping এর ফলে অনেক কম Operations perform হয় । কারন দরকার অনুযায়ী Programs , automatically Memory তে load হয়ে যায়।