NTF Hub — محاكي الذاكرة
Stack · Heap · References · Virtual Memory · Swap
← الأدوات
🧠

محاكي الذاكرة — من الكود إلى RAM والـ Swap

اكتب كود JavaScript بسيط وشاهد أثره على Stack وHeap، ثم انتقل إلى الذاكرة الافتراضية وشاهد Page Fault وSwap وخوارزميات الاستبدال.

المحاكاة الحيةCode → Stack/Heap
الذاكرة الافتراضيةRAM ↔ SSD
المقارنةFIFO · LRU · Optimal
Stack Vars:0
Heap Objects:0
RAM:0 / 4
Swap:0
Page Faults:0
System:مستقر
من الكود إلى الذاكرة
السطر الحاليقيمةكائن بلا مرجع
⚙️

CPU

ينتظر التنفيذ
Fetch
Decode
Execute
Store

📚 Stack

Variables

🏗 Heap

Objects / Arrays

🧾 الشرح الحي

Lesson
اضغط Execute لتبدأ. القيم البسيطة تذهب إلى Stack، والمصفوفات والكائنات تذهب إلى Heap والـ Stack يحتفظ بمرجع لها.

🟢 RAM Pages

تتأثر بالكائنات الكبيرة

💽 SSD / Swap

عند الضغط
Virtual Memory
RAMSwapPage Fault
🧮

CPU

ينتظر طلب صفحة
Fetch
Decode
Execute
Store

🟢 RAM Frames

4 Frames

💽 SSD / Swap

Pages خارج RAM
نتائج المقارنة
خطوات FIFO
تحديات تعليمية

Reference

ما قيمة a بعد تنفيذ الكود؟

let a = [1,2];
let b = a;
b.push(3);
القيمة هي [1,2,3] لأن b و a يشيران إلى نفس الكائن في Heap.

Garbage Collection

متى يصبح الكائن جاهزًا للحذف؟

let x = {name:"Ali"};
x = null;
عندما لا يبقى أي متغير يشير إليه. عندها يصبح Orphan Object وجاهزًا للـ GC.

FIFO

RAM فيها A B C، ودخلت D. من يخرج؟

Frames: A B C
Request: D
Policy: FIFO
تخرج A لأنها أول صفحة دخلت RAM.