🔄 Swap و Page Fault
ماذا يحدث عندما لا تكون الصفحة المطلوبة في RAM؟
الفكرة الأساسية: Page Fault ليس عطلًا دائمًا؛ هو إشارة أن الصفحة المطلوبة يجب إحضارها من التخزين.
1. الفكرة ببساطة
هذا الدرس يربط المفهوم النظري بما يحدث داخل الحاسب أثناء تنفيذ البرنامج. الهدف ليس حفظ تعريف، بل أن ترى أين تذهب البيانات ولماذا يتغير الأداء عندما تمتلئ الذاكرة.
2. تمثيل بصري
CPU requests Page 8
↓
Not in RAM
↓
Page Fault
↓
Swap In
3. مثال كود
RAM Full Swap Out victim page Swap In requested page
4. أين يظهر هذا في المحاكي؟
- في تبويب المحاكاة الحية سترى أثر الكود على Stack وHeap.
- في تبويب RAM / Swap سترى الصفحات تتحرك بين RAM وSSD.
- في تبويب مقارنة الخوارزميات ستقارن عدد Page Faults.
5. سؤال سريع
س: ما الشيء الذي يجب أن تسأل عنه دائمًا عند رؤية متغير؟
ج: هل يخزن قيمة مباشرة، أم يخزن Reference لكائن في Heap؟
ج: هل يخزن قيمة مباشرة، أم يخزن Reference لكائن في Heap؟
