Page fault হলো virtual memory management-এর একটি গুরুত্বপূর্ণ ধারণা, যা তখন ঘটে যখন কোনো প্রক্রিয়া এমন একটি page-এ প্রবেশ করতে চায় যা বর্তমানে RAM-এ উপস্থিত নয়। এই অবস্থায় অপারেটিং সিস্টেম সেই page-টি secondary storage (যেমন হার্ডডিস্ক) থেকে এনে main memory-তে লোড করে, যাতে প্রক্রিয়াটি কাজ চালিয়ে যেতে পারে।
বিস্তারিতভাবে:
-
Page: এটি একটি নির্দিষ্ট আকারের মেমরি ব্লক, যা paging প্রক্রিয়ায় ব্যবহৃত হয়।
-
যখন কোনো process একটি page অ্যাক্সেস করতে চায়, তখন—
-
যদি page RAM-এ থাকে, তবে স্বাভাবিকভাবে কাজ চলতে থাকে (কোনো সমস্যা হয় না)।
-
যদি page RAM-এ না থাকে, তখন page fault ঘটে এবং OS secondary storage থেকে সেই page আনে।
-
-
এই প্রক্রিয়ায় কিছুটা সময় লাগে, কারণ disk access RAM-এর তুলনায় অনেক ধীর।
-
একবার পৃষ্ঠা লোড হলে, প্রোগ্রামটি যেখানে থেমেছিল সেখান থেকেই পুনরায় কাজ শুরু করে।
ভুল বিকল্পগুলো:
-
(ক) Deadlock ঘটে → এটি process synchronization সম্পর্কিত, page fault নয়।
-
(খ) Segmentation শুরু হয় → এটি অন্য ধরনের memory management technique, paging নয়।
-
(গ) Page মেমরিতে পাওয়া যায় → এ ক্ষেত্রে কোনো page fault ঘটে না।
অতএব, page fault ঘটে তখনই, যখন প্রয়োজনীয় page RAM-এ উপস্থিত থাকে না।