رحلة من الصفر 🚀 — مش محتاج تكون فاهم أي حاجة في الكمبيوتر قبل كده. هنمشي خطوة خطوة من أول ما تدوس Run لحد ما النتيجة تنوّر قدامك على الشاشة.
كل يوم بتفتح برامج وتطبيقات: واتساب، يوتيوب، لعبة… بتدوس على الأيقونة وفي ثواني البرنامج بيفتح.
بس عمرك سألت نفسك: إيه اللي حصل جوه الجهاز في الثواني دي؟ 🤔
في الملف ده هنفتح "كبّوت" الكمبيوتر ونشوف كل قطعة بتعمل إيه، بالتشبيهات البسيطة اللي أي حد يفهمها.
هنجاوب على أسئلة زي: • الكمبيوتر بيفهم كلامي إزاي؟ • يعني إيه RAM وليه الناس بتقول "زوّد الرامات"؟ • مين "المدير" جوه الجهاز؟ • إزاي الرقم 8 ظهر على الشاشة بعد ما حسبت 5 + 3؟
قاعدة الملف ده: مفيش مصطلح هنقوله من غير ما نشرحه بمثال من الحياة. لو لقيت كلمة إنجليزي، جنبها معناها بالبلدي 😄
التشبيه اللي هنمشي بيه 🍽️
هنتخيّل الكمبيوتر مطعم: فيه شيف بيطبخ، طاولة تجهيز قدامه، مخزن كبير، رسّام بيزيّن الأطباق، ومدير بينظّم الكل. كل واحد فيهم هيطلع قطعة في الكمبيوتر… هتعرفهم في الصفحة الجاية!
?
طيب قبل أي حاجة… يعني إيه "كمبيوتر" أصلاً؟
1/25→
☰
الفهرس
الكتاب بيتابع رحلة سطر كود واحد من لحظة ما تدوس Run لحد ما النتيجة تنوّر على الشاشة. كل صفحة = خطوة في الرحلة بتشبيه من الحياة.
يعني إيه كمبيوتر أصلاً؟ وإيه الفرق بينه وبين الآلة الحاسبة؟
الكمبيوتر ببساطة: آلة بتاخد مدخلات، تعمل عليها حسابات، وتطلّع نتيجة. الفرق عن الآلة الحاسبة؟ إنه بيعرف ينفّذ أي سلسلة أوامر تديهاله — مش الجمع والطرح بس.
Input مدخلات
كيبورد · ماوس · ملف · كاميرا
→
Process معالجة
الحسابات جوه الجهاز
→
Output مخرجات
شاشة · سماعة · طابعة
1
Hardware = الحديد (القطع نفسها)
القطع اللي تقدر تلمسها بإيدك: الشاشة، الكيبورد، المعالج، الرامات، الهارد. لو فتحت الجهاز هتشوفها.
2
Software = البرامج
الحاجات اللي ما تقدرش تلمسها: Windows، واتساب، الألعاب، الكود اللي بتكتبه. دي "تعليمات" بتقول للعتاد يعمل إيه.
main.py
print("Hi")
تشبيه 🎹
Hardware = البيانو نفسه (خشب ومفاتيح). Software = النوتة الموسيقية اللي بتقول تدوس على أنهي مفتاح وإمتى. البيانو من غير نوتة ساكت، والنوتة من غير بيانو مجرد ورقة!
يعني إيه "برنامج"؟ مجموعة أوامر مكتوبة بالترتيب، الكمبيوتر بينفّذها واحد ورا التاني. زي وصفة الطبخ: "اغلي المياه، حط المكرونة، استنى 10 دقايق". الكمبيوتر بيعمل بالظبط اللي مكتوب — لا أكتر ولا أقل!
مهم تعرف: الكمبيوتر غبي جدًا وسريع جدًا 😅 مش بيفهم ولا بيفكّر، بس بينفّذ ملايين الأوامر البسيطة في الثانية. الذكاء كله في الأوامر اللي البشر كتبوها.
?
طيب مين أبطال الرحلة اللي جوه الجهاز؟
3/25→
?
تعرّف على أبطال الرحلة القطع اللي جوه الكمبيوتر
5 أبطال هنقابلهم في كل صفحة جاية. خد فكرة سريعة عنهم دلوقتي، وبعدين هنتعمّق في كل واحد لوحده.
CPU — المعالج
الشيف 👨🍳 اللي بينفّذ كل الأوامر. بيحسب، يقارن، ينقل بيانات — بسرعة مليارات العمليات في الثانية. لما تسمع "Core i7" أو "Ryzen" ده هو.
RAM — الذاكرة المؤقتة
طاولة التجهيز 🍳 اللي قدام الشيف. أي حاجة الشيف شغّال عليها دلوقتي بتبقى عليها عشان يوصلها بسرعة. لما تقفل الجهاز بتتمسح خالص (8GB، 16GB…).
SSD / HDD — الهارد
المخزن الكبير 📦 اللي فيه كل الأكل والمكونات. كل ملفاتك وبرامجك وصورك ساكنة هنا بشكل دائم حتى لو قفلت الجهاز. كبير بس أبطأ من الطاولة (512GB، 1TB…).
GPU — كارت الشاشة
الرسّام 🎨 اللي بيزيّن الطبق. شغلته يرسم الصورة اللي بتشوفها على الشاشة، نقطة نقطة (Pixel). ضروري جدًا في الألعاب والفيديو.
OS — نظام التشغيل
المدير 👔 اللي بينظّم المطعم كله — Windows، macOS، Linux، Android، iOS. كلهم أنظمة تشغيل. بيدير القطع اللي فوق ويخلّي البرامج تشتغل من غير ما تتخانق.
ملحوظة: في قطع تانية (اللوحة الأم Motherboard، الباور سبلاي…) بس دول الـ 5 الأساسيين اللي بيشتركوا في رحلة البرنامج. ركّز معاهم وهتفهم 90% من اللي بيحصل.
?
طيب يعني إيه "كود"؟ وإزاي بنكلّم الكمبيوتر؟
4/25→
?
يعني إيه كود؟ وإزاي بنكلّم الكمبيوتر؟
الكود = أوامر مكتوبة بلغة الكمبيوتر بيعرف يتعامل معاها. زي ما بتكتب رسالة لصاحبك بالعربي، بتكتب للكمبيوتر بلغة برمجة زي Python.
1
أبسط برنامج في الدنيا
main.py
print("Hello World!")
السطر ده بيقول للكمبيوتر: "اطبع الجملة دي على الشاشة". خلاص! ده برنامج كامل، وأول برنامج أي مبرمج في العالم بيكتبه 😄
نفكّك السطر: • print = الأمر (اطبع / اعرض) • ( ) = القوسين بيحطّوا جوّاهم الحاجة اللي هنطبعها • "Hello World!" = النص اللي هيظهر • .py = امتداد الملف بيقول إنه ملف Python
2
ليه اسمها "لغة"؟
لأن ليها كلمات وليها قواعد (Syntax). لو غلطت في حرف واحد أو نسيت قوس، الكمبيوتر مش هيفهمك وهيقولك "Error". مش بيخمّن قصدك زي البشر!
غلط ❌
print("Hello World!"
ناقص قوس ← SyntaxError
تشبيه
الكود زي وصفة طبخ لشيف حرفي جدًا: لو كتبت "حط ملح" من غير ما تقول قد إيه، هيقف ويسألك. ولو كتبت "اغلي" قبل "حط مياه"… هيحرق الحلّة 🔥
JavaScript 🌐 لغة المواقع. أي زرار بيتحرك في صفحة ويب ورا منه JavaScript.
C / C++ ⚙️ سريعة جدًا وقريبة من القطع نفسها. بتتكتب بيها الألعاب الكبيرة وأنظمة التشغيل نفسها.
كلها بتوصل لنفس النتيجة في الآخر: أوامر الكمبيوتر ينفّذها. الفرق في السهولة والسرعة والاستخدام — زي ما في عربية للمشاوير وعربية للسباق 🏎️
?
كتبت الكود وضغطت Run… مين أول واحد بيستلم؟
5/25→
?
ضغطت Run … مين بيبدأ الشغل؟
لما تدوس Run، مش بيحصل "سحر"… ده 3 لاعيبة بيسلّموا بعض الكورة بالترتيب: الـ IDE ← المترجم ← نظام التشغيل.
1
IDE — المحرر اللي بتكتب فيه
الـ IDE (زي VS Code أو PyCharm) هو البرنامج اللي بتكتب فيه الكود. زي "Word" بس للكود: بيلوّن الكلمات، يقولك فين الغلط، وفيه زرار Run الأخضر.
المفاجأة: الـ IDE نفسه مش بيفهم Python! هو مجرد دفتر ذكي. لما تدوس Run، كل اللي بيعمله إنه بيكتب الأمر ده في الخلفية:
Terminal
$ python main.py
يعني إيه الأمر ده؟ "يا python، شغّل الملف اللي اسمه main.py". تقدر تكتبه بنفسك في الـ Terminal (الشاشة السودا) من غير IDE خالص!
main.py
1print("Hello World!") 2
يعني إيه Terminal؟ شاشة سودا بتكتب فيها أوامر للكمبيوتر بالكلام بدل الماوس. شكلها مخيف بس هي أبسط ما يكون 😄
2
Python Interpreter — المترجم
برنامج اسمه python بيفتح ملفك ويقرأه سطر سطر ويحوّل كل سطر لحاجة الكمبيوتر يقدر ينفّذها. هنتكلم عنه بالتفصيل في الصفحة الجاية.
main.py
→
Python Interpreter
→
3
OS — المدير بيدّي الأدوات
المترجم نفسه برنامج ومحتاج حد يشغّله ويديله مكان! نظام التشغيل بيفتحه، يديله ذاكرة، يديله وقت على المعالج، ويسمح له يقرأ ملفك من الهارد.
ذاكرة
وقت معالج
قراءة الملف
تشبيه
الـ IDE = الجرسون اللي كتب طلبك · المترجم = الواسطة اللي بتفهّم الشيف الطلب بلغته · الـ OS = المدير اللي أدّاهم المطبخ والأدوات عشان يشتغلوا 🍽️
?
طيب الكمبيوتر بيفهم الحروف دي إزاي؟ يعني إيه Bit و Byte؟
6/25→
?
يعني إيه Bit و Byte؟ وليه بنقول "8 جيجا رامات" و"512 جيجا هارد"؟
الكمبيوتر بيفهم حاجة واحدة بس: كهربا ماشية أو واقفة. كل حاجة تانية — الحروف والصور والأغاني — بنبنيها من الحاجتين دول.
1
الـ Bit — أصغر وحدة
كهربا ماشية = 1
كهربا واقفة = 0
الـ Bit = مفتاح كهربا واحد. يا 0 يا 1. ده كل اللي المعالج بيعرفه.
تشبيه 🧱
طوبة واحدة ملهاش لازمة. بس مليون طوبة متراصين صح = عمارة. الكمبيوتر بيرصّ مليارات في الثانية.
2
الـ Byte — 8 بتات مع بعض
8 بتات جنب بعض = Byte. وبـ 8 بتات تقدر تعمل 256 احتمال — كفاية لكل الحروف والأرقام والرموز.
الحرف
الـ Byte بتاعه
A
01000001
B
01000010
a
01100001
1
00110001
يعني كلمة "Hi" = 2 بايت. وصورة = ملايين البايتات (كل نقطة لون = 3 بايت).
3
السلّم اللي بتسمعه كل يوم
Byte حرف واحد
→
Kilobyte 1,000 بايت · رسالة
→
Megabyte مليون · صورة
→
Gigabyte مليار · فيلم
→
Terabyte تريليون · مكتبة أفلام
يعني إيه "8 جيجا رامات"؟ يعني طاولة الشغل بتشيل 8 مليار حرف في نفس اللحظة. و"512 جيجا هارد" = المخزن بيشيل 512 مليار حرف.
سؤال شهير: ليه الهارد 500 جيجا بيبان 465؟ لأن الشركات بتعدّ بـ 1000، والكمبيوتر بيعدّ بـ 1024 (لأنه بيحب أس 2). مفيش حاجة ضاعت 😄
?
طيب مين بيترجم الكود ده؟ الـ Interpreter بيشتغل إزاي؟
7/25→
?
الـ Interpreter المترجم الفوري بيشتغل إزاي؟
ملف الـ .py بتاعك هو مجرد نص عادي زي أي ملف Word. من غير المترجم، الكمبيوتر بيشوفه حروف وخلاص. المترجم هو اللي بيحوّل الحروف دي لـ"أفعال".
1
بيقرأ ويفحص
أول حاجة بيعملها: يقرأ الملف كله ويتأكد إن مفيش أخطاء في الكتابة (قوس ناقص، كلمة غلط). لو لقى غلطة بيوقف فورًا ويطبع لك Error بيقولك السطر كام.
main.py
1 name = "Ahmed" 2 age = 20 3print(name, age)
2
بينفّذ سطر سطر
بعدين يبدأ من السطر 1، ينفّذه، يروح للسطر 2، ينفّذه… وهكذا. كل سطر بيتحوّل لحظة التنفيذ لتعليمات صغيرة الكمبيوتر يفهمها.
سطر 1 ← "احجز مكان في الذاكرة اسمه name وحط فيه Ahmed"
سطر 2 ← "احجز مكان اسمه age وحط فيه 20"
سطر 3 ← "هات اللي في name و age واعرضهم على الشاشة"
تشبيه 🎧
المترجم الفوري في المؤتمرات: الرئيس بيتكلم جملة، المترجم يترجمها على طول، الرئيس يقول الجملة اللي بعدها، المترجم يترجمها… جملة جملة في نفس اللحظة. ده بالظبط الـ Interpreter. (في طريقة تانية اسمها Compiler هنعرفها بعد شوية).
3
طيب الـ Interpreter بيحوّل الكود لإيه؟
main.py
الكود بتاعك
→
Python Interpreter
→
1010 0101
Bytecode
لغة وسيطة
→
Python Virtual Machine
→
Bytecode يعني إيه؟ لغة "نص نص": مش الكود اللي كتبته ولا لغة الآلة، حاجة في النص بينهم أسهل في التنفيذ. Python بيحفظها في فولدر __pycache__ — شوفته قبل كده؟ 😉
ما تقلقش: كل ده بيحصل أوتوماتيك في أجزاء من الثانية. إنت بتدوس Run وخلاص. بس المهم تعرف إن في "وسيط" بين كودك والمعالج.
?
بس استنى… هو الكمبيوتر أصلاً بيفهم Python؟
8/25→
?
هو الكمبيوتر بيفهم Pythonأصلاً؟
لأ! الكمبيوتر ما بيفهمش Python ولا أي لغة برمجة. الحاجة الوحيدة اللي بيفهمها: لغة الآلة (Machine Code) = أصفار ووحايد 0 1 0 1
1
ليه 0 و 1 بس؟
لأن المعالج من جوه عبارة عن مليارات المفاتيح الكهربائية الصغيرة (Transistors). والمفتاح الكهربائي ليه حالتين بس:
كهرباء ماشية = 1
كهرباء واقفة = 0
عشان كده أي حاجة في الكمبيوتر — أرقام، حروف، صور، أغاني — في الآخر متخزّنة كسلسلة من 0 و 1. الـ Bit هو صفر أو واحد، و8 بتات = Byte.
2
يعني إيه "تعليمة" بلغة الآلة؟
كل مجموعة من الـ 0 و 1 = أمر بسيط جدًا جدًا للمعالج:
10110000 01100010 11001101 00010010
← حط رقم في مكان ← اجمع رقمين ← قارن ← انقل بيانات
الأوامر دي تافهة لوحدها، بس المعالج بينفّذ مليارات منها في الثانية — فبتطلع لعبة أو فيلم!
تشبيه 🧱
الـ 0 و 1 زي طوبة واحدة: لوحدها ملهاش لازمة. بس مليون طوبة متراصين صح = عمارة. والكمبيوتر بيرصّ مليارات في الثانية.
3
طيب ليه ما نكتبش بالـ 0 و 1 على طول؟
زمان كانوا بيعملوا كده فعلًا! 😱 وكان كابوس: صعب، بطيء، وأي غلطة في رقم واحد بتبوّظ كل حاجة. عشان كده اخترعوا لغات عالية المستوى (High-Level) زي Python: إنت تكتب كلام قريب من الإنجليزي، و"مترجم" يحوّله لـ 0 و 1.
طيب الترجمة دي ليها طريقتين… Compiler ولا Interpreter؟
9/25→
?
Compiler ولا Interpreter؟ طريقتين للترجمة
عندك كتاب بالإنجليزي وعايز تفهمه. يا إمّا تترجمه كله الأول وتقرأ النسخة العربية براحتك، يا إمّا تجيب حد يترجم لك جملة جملة وإنت ماشي. دول بالظبط الطريقتين.
1
Compiler = ترجمة الكتاب كله
بيترجم الكود كله مرة واحدة لملف جاهز بلغة الآلة (زي .exe على Windows). بعد كده تشغّل الملف ده على طول — وتوزّعه على أي حد من غير ما يحتاج الكود الأصلي.
.cpp
→
Compiler
→
0101 1100
.exe
لغات:C · C++ · Rust · Go ✅ سريع جدًا وقت التشغيل ✅ الملف الناتج شغّال لوحده ⏳ لازم تعمل Compile قبل كل تجربة 😅 الأخطاء بتظهر كلها قبل التشغيل
2
Interpreter = مترجم فوري
بيشغّل الكود سطر سطر في نفس لحظة التشغيل. كل مرة تدوس Run بيعيد القراءة والترجمة من أول وجديد. ومحتاج يكون Python متسطّب على الجهاز اللي هيشغّل الكود.
.py
→
Interpreter
→
لغات:Python · JavaScript · PHP · Ruby ✅ تجرّب وتعدّل بسرعة ✅ نفس الكود يشتغل على أي جهاز 🐢 أبطأ شوية وقت التشغيل 😅 الغلطة ممكن تظهر في النص وإنت شغّال
مثال من الحياة
Compiler = فيلم أجنبي مدبلج: اتترجم مرة واحدة في الاستوديو، وبعدين أي حد يتفرّج من غير مجهود. Interpreter = مترجم لغة إشارة واقف جنب المذيع بيترجم لحظة بلحظة.
طيب أنهي أحسن؟ ولا واحد! كل واحد ليه مكانه. Python اتصمّمت عشان تكون سهلة وسريعة في التجربة فاستخدمت Interpreter. والألعاب الكبيرة محتاجة أقصى سرعة فبتتكتب بـ C++ وتتعمل لها Compile.
?
طيب مين "المدير" اللي بيشغّل كل ده ويديله ذاكرة ومعالج؟
10/25→
?
مين المدير جوه الجهاز؟ نظام التشغيل (OS)
نظام التشغيل = أول برنامج بيشتغل لما تفتح الجهاز، وآخر واحد بيقفل. هو اللي بيدير كل القطع وكل البرامج، ومن غيره الجهاز مجرد حديد ساكت.
1
أمثلة إنت عارفها
💻 Windows — أشهر نظام على اللابتوب والـ PC
🍎 macOS — نظام أجهزة Apple (ماك بوك)
🐧 Linux — مجاني ومفتوح، بيشغّل أغلب السيرفرات في العالم
كلهم بيعملوا نفس الوظيفة الأساسية، بس بشكل وطريقة مختلفة. عشان كده برنامج Windows مش بيشتغل على Mac مباشرة.
2
ليه محتاجينه؟
تخيّل كل برنامج لازم يعرف يكلّم الكيبورد بنفسه، ويعرف يرسم على الشاشة بنفسه، ويحجز ذاكرة بنفسه… كان هيبقى كل برنامج حجمه جيجات ومليان أخطاء!
الـ OS بيعمل كل ده مرة واحدة للجميع. البرنامج بيقوله "عايز أطبع كلمة" والـ OS يتصرّف. زي الكاونتر في المطعم: إنت بتطلب، ومش شغلك تعرف المطبخ شغّال إزاي.
3
المدير مسؤول عن إيه بالظبط؟
إدارة العمليات
يشغّل البرامج، يوزّع عليهم وقت المعالج، ويقفل اللي بيهنج.
إدارة الذاكرة
يدّي كل برنامج مساحة في الـ RAM ويمنعهم يدوسوا على بعض.
الملفات
الفولدرات والملفات وأسماءها والصلاحيات — كله شغل الـ OS.
الأجهزة (Drivers)
يكلّم الكيبورد والماوس والشاشة والطابعة بلغة كل واحد فيهم.
🔐
الأمان
مين مسموح له يفتح إيه، كلمات السر، والمستخدمين.
🌐
الشبكة
الواي فاي والإنترنت وتبادل البيانات مع الأجهزة التانية.
?
طيب لما أشغّل برنامج… المدير بيعمل إيه بالظبط؟
11/25→
?
البرنامج اتشغّل… يعني إيه Process؟
البرنامج وهو نايم على الهارد اسمه Program (ملف). أول ما تشغّله ويبقى صاحي وشغّال في الذاكرة، اسمه Process (عملية).
1
الـ OS بيعمل Process جديدة
لما تدوس Run، نظام التشغيل بيعمل الآتي بالترتيب:
① يقرأ ملف البرنامج من الهارد (SSD)
② يحجز له مساحة في الذاكرة (RAM)
③ يديله رقم تعريف فريد اسمه PID
④ يحطه في طابور المستنيين دور على المعالج
⑤ المعالج يبدأ ينفّذ أول تعليمة فيه 🚀
main.py
Program (نايم)
→→
Process PID: 1234
Process (صاحي)
يعني إيه PID؟ Process ID = رقم البطاقة بتاع البرنامج. زي ما كل مواطن ليه رقم قومي، كل Process ليها رقم عشان الـ OS يعرف يتابعها أو يقفلها.
تشبيه 🎭
Program = نص المسرحية مكتوب على ورق في الدرج. Process = الممثلين بيمثّلوها فعلًا على المسرح دلوقتي. ونفس النص ممكن يتمثّل على 3 مسارح في نفس الوقت = 3 Processes من نفس البرنامج (زي ما تفتح Chrome 3 مرات).
2
شوفها بعينك! 👀
افتح Task Manager على Windows (اضغط Ctrl + Shift + Esc) أو Activity Monitor على Mac. هتلاقي قايمة بكل الـ Processes الشغّالة دلوقتي، وكل واحدة بتاكل قد إيه من المعالج والذاكرة.
ولما برنامج "يهنج" وتعمل End Task — إنت كده بتقول للـ OS: "اقتل الـ Process دي" 💀
Task Manager
Name PID CPU RAM chrome.exe 4821 12% 850MB python.exe 1234 3% 40MB Code.exe 7710 5% 320MB spotify.exe 2290 1% 210MB
?
طيب إزاي 50 برنامج شغّالين "مع بعض" على معالج واحد؟
12/25→
?
50 برنامج شغّالين على معالج واحد… إزاي؟
المعالج (كل نواة فيه) بيشتغل على برنامج واحد بس في اللحظة الواحدة. طيب إزاي بتسمع أغاني وتكتب كود و30 تاب مفتوحين في نفس الوقت؟ السر في حاجتين: التبديل السريع وعزل الذاكرة.
1
CPU Scheduling — جدولة المعالج
جوه الـ OS في جزء اسمه Scheduler (المنظّم). بيدّي كل Process شريحة وقت صغيرة جدًا على المعالج — حوالي جزء من ألف من الثانية — وبعدين يسحبه ويدّي اللي بعده، ويرجع للأول… وهكذا.
التبديل ده بيحصل آلاف المرات في الثانية، فعينك مش بتلحق تحس، وبتفتكر إن الكل شغّال مع بعض. اسمه Multitasking.
Chrome
Python
Spotify
Ready Queue
مستنّين دورهم
→→
Spotify
Running
شغّال دلوقتي
تشبيه 👨🍳
شيف واحد وقدامه 5 حلل: يقلّب دي ثانية، يبص على دي ثانية، يملّح دي ثانية… بسرعة لدرجة إن الـ 5 أطباق بيستووا "مع بعض". وعشان كده لما تفتح حاجات كتير أوي الجهاز بيبطّأ — الشيف مش لاحق!
2
Memory Management — عزل الذاكرة
الـ OS بيدّي كل Process مساحة ذاكرة خاصة بيها ومعزولة عن الباقي. كل برنامج "فاكر" إن الذاكرة كلها بتاعته لوحده، بس في الحقيقة الـ OS بيوزّع الـ RAM الحقيقية بينهم كلهم (اسمها Virtual Memory).
الفايدة: لو Chrome هنج أو عمل غلطة، مش هيبوّظ ملف الـ Word اللي إنت بتكتب فيه — لأن كل واحد في "أوضته" لوحده 🚪
Chrome
Python
Spotify
⇢⇢
RAM الحقيقية
تشبيه 🏨
فندق: كل نزيل (Process) ليه أوضة بمفتاح خاص. ما ينفعش يدخل أوضة غيره ولا يعرف فيها إيه. والمدير (OS) هو اللي بيوزّع الأوض وبيعرف مين فين.
?
طيب البرنامج بيتخزن فين وهو شغّال؟ في الـ RAM ولا الـ SSD؟
13/25→
?
البرنامج بيتخزن فين وهو شغّال؟
البرنامج ساكن بشكل دائم على الهارد (SSD / HDD)… لكن وقت التشغيل، الأجزاء المطلوبة منه بتتنقل للـ RAM، لأن المعالج ما بيقراش غير من الـ RAM.
1
SSD / HDD
المخزن الدائم
بيتحمّل منه الجزء المطلوب
⟶
2
RAM
طاولة الشغل
المعالج يقرأ منها
⇄
ويرجّع لها النتائج
3
CPU
الشيف
التشبيه الأهم في الملف كله 📚
تخيّل إنك بتذاكر في مكتبة عامة:
• الـ SSD = الرفوف الكبيرة اللي فيها آلاف الكتب (كل ملفاتك).
• الـ RAM = المكتب اللي قاعد عليه: بتحط عليه بس الكتب اللي بتذاكر منها دلوقتي. صغير بس كل حاجة عليه قريبة من إيدك.
• الـ CPU = إنت وإنت بتقرأ وبتحل.
مستحيل تقرأ وإنت واقف قدام الرف — لازم تجيب الكتاب على المكتب الأول. وعشان كده المعالج ما بيشتغلش من الهارد مباشرة!
ليه الناس بتقول "زوّد الرامات"؟ 🤔 لو المكتب صغير ومليان، ومحتاج كتاب جديد… هتضطر ترجّع كتاب للرف عشان تفضّي مكان، وبعدين ترجع تجيبه تاني لما تحتاجه. ده اسمه Swapping، وهو اللي بيخلّي الجهاز "يزنّ" ويبطّأ لما تفتح برامج كتير. مكتب أكبر = كتب أكتر قدامك = سرعة.
وليه الـ SSD بيخلّي الجهاز "يطير"؟ 🚀 الـ HDD القديم عبارة عن قرص بيلف وإبرة بتدور عليه (زي الأسطوانة) — بطيء. الـ SSD مفيش فيه حاجة بتتحرك، إلكتروني خالص — أسرع 10 مرات أو أكتر. فالكتب بتوصل للمكتب أسرع بكتير، وWindows بيفتح في ثواني بدل دقايق.
معلومة مهمة: مش لازم البرنامج كله يتحمّل في الـ RAM مرة واحدة! الـ OS بيقسّمه لصفحات صغيرة (Pages) ويحمّل بس اللي محتاجه دلوقتي. عشان كده لعبة حجمها 100 جيجا بتشتغل على رامات 16 جيجا 🎮
?
طيب إيه الفرق بالظبط بين RAM و SSD؟
14/25→
?
RAM و SSD الفرق بينهم في جدول واحد
الاتنين "ذاكرة" بيخزّنوا بيانات… بس لكل واحد شغلانة مختلفة تمامًا. الناس بتخلط بينهم كتير، فخلّينا نحسمها.
وجه المقارنة
RAM (الذاكرة المؤقتة)
SSD / HDD (الهارد)
الشغلانة
طاولة الشغل — اللي شغّال عليه دلوقتي
المخزن — اللي محفوظ على طول
لما تقفل الجهاز
كل حاجة بتتمسح 💨
كل حاجة بتفضل موجودة ✅
السرعة
سريعة جدًا جدًا ⚡
أبطأ بكتير (حتى الـ SSD)
الحجم المعتاد
8 – 32 جيجا
256 جيجا – عدة تيرا
السعر
أغلى لكل جيجا 💰
أرخص لكل جيجا
مين بيستخدمها
المعالج بيقرأ منها مباشرة
الـ OS بينقل منها للـ RAM
مثال
الصفحة المفتوحة في Chrome دلوقتي
صورك وأغانيك وملفات Windows
1
مثال عملي: بتفتح صورة
① الصورة نايمة على الـ SSD في فولدر Pictures
② بتدوس عليها دبل كليك ← الـ OS يفتح برنامج الصور (Process)
③ الـ OS ينسخ الصورة من الـ SSD للـ RAM
④ المعالج يفك ضغطها ويجهّزها، والـ GPU يعرضها
⑤ تقفل البرنامج ← النسخة اللي في الـ RAM تتمسح، الأصل فاضل على الـ SSD
2
طيب ليه بنحفظ (Save)؟ 💾
دلوقتي فهمت! لما تكتب في Word، الكلام بيبقى في الـ RAM بس. لو الكهربا قطعت… راح 😱
لما تدوس Ctrl + S، إنت بتقول للـ OS: "انقل النسخة دي من الـ RAM وسجّلها على الـ SSD" — عشان تفضل موجودة للأبد.
ده السبب إن البرامج الحديثة بتعمل Auto-Save كل شوية 😉
في كمان ذاكرة تالتة!
جوه المعالج نفسه في ذاكرة صغيرة جدًا وأسرع من الـ RAM اسمها Cache — زي الورقة اللي في إيدك وإنت بتحل، أقرب حتى من المكتب. هنشوفها في الصفحة الجاية.
?
طيب لما أفتح موقع على الإنترنت… الرحلة دي بتحصل فين؟
15/25→
?
والإنترنت فين في الرحلة؟ لما تفتح موقع، نفس الرحلة بتحصل… بس على جهاز تاني
كل اللي اتعلمناه بيحصل جوه جهازك. لما تفتح يوتيوب، نفس الرحلة بالظبط بتحصل جوه جهاز تاني اسمه السيرفر — والنتيجة بتتبعت لك.
1
الرحلة بتبقى كده
جهازك بتكتب youtube.com
→
الإنترنت الطلب بيسافر
→
السيرفر كمبيوتر كبير في مكان بعيد
→
نفس الرحلة! OS · RAM · CPU
→
الرد يرجع
→
شاشتك الـ GPU بيرسمه
تشبيه 🍕
طلب بيتزا بالتليفون: إنت (جهازك) بتطلب. المطعم (السيرفر) عنده نفس المطبخ اللي شرحناه: شيف وطاولة ومخزن. بيحضّرها ويبعتها لك مع الديليفري (الإنترنت). إنت ما شفتش المطبخ — شفت البيتزا بس.
2
يعني إيه سيرفر؟
مش حاجة سحرية. كمبيوتر عادي — بس أقوى، شغّال 24 ساعة، ومتوصّل بإنترنت سريع، وقاعد في مبنى مكيّف مع آلاف زيّه.
عنده CPU وRAM وSSD زي جهازك بالظبط
عليه نظام تشغيل (غالبًا Linux)
وعليه برنامج شغّال بيستقبل الطلبات ويرد
يعني: لو فهمت الكتاب ده، فهمت 80% من اللي بيحصل في أي سيرفر في العالم.
3
ليه الموقع بطيء أحيانًا؟
السبب
يعني
الإنترنت بطيء
الطلب والرد بياخدوا وقت في الطريق
السيرفر مزحوم
مليون واحد بيطلبوا من نفس الشيف
السيرفر بعيد
الطلب بيسافر لأمريكا ويرجع
جهازك بطيء
الـ GPU مش لاحق يرسم الصفحة
ولما تكبر في البرمجة: هتتعلم إزاي تخلّي السيرفر يستحمل ملايين الطلبات — وده موضوع كتاب "Backend بالعربي" 😉
?
طيب الـ CPU بيجيب التعليمات وينفّذها إزاي؟
16/25→
?
إزاي الـ CPU بيفهم وينفّذ الأوامر؟
المعالج بيكرّر 3 خطوات بس… مليارات المرات في الثانية. كل عبقرية الكمبيوتر في التكرار ده!
المعالج ما بيعرفش يعمل حاجة "كبيرة". بيعرف يعمل حاجة صغيرة جدًا بس، وبيكرّرها بسرعة خرافية. الدورة دي اسمها Fetch – Decode – Execute.
1Fetch هات التعليمة
→
2Decode افهمها
→
3Execute نفّذها
↺ وارجع للخطوة 1 مع التعليمة اللي بعدها… وهكذا لحد ما البرنامج يخلص
1
Fetch = هات
المعالج بيروح يجيب التعليمة التالية من الـ RAM. بيعرف يجيبها منين؟ عنده "إصبع" بيأشّر على السطر الجاي اسمه Program Counter (PC).
Program Counter (الإصبع)
↓
Cache
↓
زي ما بتحط إصبعك على السطر وإنت بتقرأ عشان ما تتوهش.
2
Decode = افهم
جزء اسمه Control Unit (وحدة التحكم) بيبص على الـ 0 و 1 ويفهم: "دي عملية إيه؟ جمع؟ نقل؟ مقارنة؟" و"الأرقام اللي هشتغل عليها فين؟"
10110000
↓
Control Unit
↓
"دي جمع! والأرقام في R0 و R1"
زي ما تقرأ "اجمع 5 + 3" وتفهم إن المطلوب جمع.
3
Execute = نفّذ
المعالج ينفّذ فعلًا. لو جمع، يبعته لـALU (الآلة الحاسبة). لو نقل، ينقل. والنتيجة بتتحفظ في مكان صغير اسمه Register.
R0
5
R1
3
→→
8
أمثلة: جمع · طرح · مقارنة · نقل · "اقفز لسطر تاني" (ده اللي بيعمل الـ if والـ loop!)
يعني إيه 3 GHz؟ يعني الساعة الداخلية بتدق 3 مليار مرة في الثانية ⏱️ — وكل دقة بتتم فيها خطوة من الدورة. و"4 Cores" يعني 4 شيفات بيشتغلوا مع بعض!
?
طيب إيه اللي جوه المعالج؟ ALU و Registers دول إيه؟
17/25→
?
نفتح المعالج من جوه إيه اللي فيه؟
المعالج مش قطعة واحدة… ده "مطبخ صغير" فيه 4 أجزاء رئيسية بيشتغلوا مع بعض. تعالى نتعرّف عليهم واحد واحد.
CPU
Control Unit
وحدة التحكم = المدير الصغير
بيفهم التعليمة وبيقول لباقي الأجزاء "إنت اعمل كده، وإنت هات ده". هو اللي بيعمل خطوة الـ Decode.
ALU = الآلة الحاسبة
Arithmetic Logic Unit. بتعمل الحساب (+ − × ÷) والمقارنة (أكبر؟ يساوي؟) والمنطق (و / أو / لا). أي "تفكير" في الكمبيوتر بيحصل هنا.
R0
5
R1
3
R2
8
Registers = جيوب الشيف
أماكن تخزين صغيرة جدًا (عشرات بس) وأسرع حاجة في الجهاز كله. الـ ALU ما بيحسبش غير من هنا. زي الجيوب: مش بيشيلوا كتير بس أسرع من أي دولاب.
Cache
الكاش = الرف اللي جنبك
ذاكرة صغيرة جوه المعالج، أسرع من الـ RAM وأبطأ من الـ Registers. بتحتفظ بالحاجات اللي المعالج استخدمها قريب عشان ما يروحش للـ RAM كل مرة.
سلّم السرعة: كل ما تقرّب من المعالج، أسرع وأصغر وأغلى
Registers
أسرع · بايتات
>
Cache
ميجابايتات
>
RAM
جيجابايتات
>
SSD
تيرابايتات · أبطأ
تشبيه 🧑🍳
الشيف وهو بيطبخ: الجيوب (Registers) فيها الملعقة اللي في إيده · الرف اللي جنبه (Cache) فيه الملح والفلفل · طاولة التجهيز (RAM) فيها مكونات النهارده · المخزن (SSD) فيه كل حاجة. كل ما الحاجة بعيدة، بياخد وقت أطول يجيبها.
الـ 5 والـ 3 جايين من الـ RAM. المعالج ينسخهم في Register رقم 0 ورقم 1 عشان يبقوا في إيده.
R0
5
R1
3
2
اجمع
ADD R2, R0, R1
وحدة التحكم تقول للـ ALU: "اجمع اللي في R0 على اللي في R1 وحط الناتج في R2".
5
3
→→
8
3
احفظ النتيجة
STORE [mem], R2
الناتج 8 دلوقتي في R2. المعالج يرجّعه للـ RAM في مكان البرنامج حاجزه عشان يستخدمه بعدين.
R2
8
→
4
اطلب عرضها
CALL print
البرنامج يقول للـ OS: "اعرض الرقم ده". وهنا بتبدأ رحلة تانية خالص — رحلة الـ 8 للشاشة (الصفحة الجاية).
يعني إيه الكلام ده (LOAD, ADD, STORE)؟ دي لغة اسمها Assembly: أقرب لغة للـ 0 و 1 بس بكلمات بدل أرقام عشان البشر يعرفوا يقرأوها. كل سطر فيها = تعليمة واحدة للمعالج. الـ Python بتاعك بيتحوّل لحاجة زي دي في الآخر!
الصورة الكبيرة 🖼️
سطر واحد كتبته في ثانية = عشرات التعليمات للمعالج. وبرنامج عادي = ملايين. والمعالج بينفّذ مليارات في الثانية. عشان كده بتحس إن كل حاجة "فورية" ✨
?
المعالج حسب الـ 8… إزاي ظهرت على الشاشة؟
19/25→
?
الـ CPU حسب النتيجة… إزاي وصلت للشاشة؟
الرقم 8 لسه جوه المعالج كأصفار ووحايد! عشان يوصل لعينك لازم يعدّي على 4 محطات. والمفاجأة: البرنامج بتاعك عمره ما بيكلّم الشاشة مباشرة.
1
البرنامج يحوّل الرقم لنص
main.py
print(5 + 3)
الرقم 8 في الذاكرة عبارة عن 00001000. الـ Python Runtime بيحوّله لـحرف "8" (اللي شكله رقم) ويضيف في آخره "سطر جديد" \n.
زي الفرق بين إنك تعرف إن معاك 8 جنيه وإنك تكتبها على ورقة.
2
يرميها في "صندوق البوسطة"
كل Process عندها "3 أنابيب" الـ OS بيديهالها أوتوماتيك:
stdin — المدخل القياسي (الكيبورد عادةً)
stdout — المخرج القياسي (الشاشة عادةً) ← هنا بيروح الـ 8
stderr — مخرج الأخطاء (الكلام الأحمر)
الـ print بتحط النص في stdout وخلاص. مش شغلها تعرف هيروح فين!
3
البوسطجي (OS) يوصّلها
نظام التشغيل بيستلم اللي في stdout ويوصّله للجهة اللي البرنامج متوصّل بيها — هنا نافذة الـ Terminal. وممكن يوصّلها لـملف بدل الشاشة لو طلبت!
"8\n"
→→
Terminal
جرّب: python main.py > out.txt — الـ 8 هتروح لملف بدل الشاشة. نفس الكود، وجهة مختلفة!
4
الـ Terminal يعرض النص
نافذة الـ Terminal برنامج عادي زي أي برنامج. شغلته الوحيدة: يستلم نصوص من الـ OS ويحطها تحت بعض في النافذة.
لحد هنا الـ 8 بقت "حرف في نافذة"… بس لسه مش صورة على الشاشة! الخطوة الأخيرة في الصفحة الجاية.
تشبيه 📮
البرنامج كتب جواب (الـ "8") ورماه في صندوق البوسطة (stdout). البوسطجي (OS) أخده ووصّله للعنوان المكتوب عليه (Terminal). والبرنامج ما يعرفش ولا يهمه الجواب راح فين بعد كده.
?
طيب الحرف ده بيتحوّل لصورة على الشاشة إزاي؟
20/25→
?
الخطوة الأخيرة: الـ GPU والشاشة
الشاشة ما بتفهمش "حروف" ولا "نوافذ". الشاشة بتفهم حاجة واحدة بس: نقط ملوّنة اسمها Pixels. حد لازم يحوّل كل اللي على الشاشة لنقط — ده شغل الـ GPU.
1
يعني إيه Pixel؟
شاشتك عبارة عن شبكة من ملايين النقط الصغيرة جدًا. كل نقطة ليها لون واحد. شاشة Full HD = 1920 × 1080 = حوالي 2 مليون نقطة!
الرقم "8" لو كبّرناه جدًا: مجرد نقط غامقة وفاتحة! (الحقيقي أنعم بكتير)
2
الـ GPU بيرسم
نظام الرسوميات في الـ OS بيجمع كل النوافذ المفتوحة (Terminal، Chrome، شريط المهام…) ويقول للـ GPU: "ارسم لي الصورة الكاملة دي". الـ GPU بيحسب لون كل نقطة من الـ 2 مليون ويبعت الصورة للشاشة عبر كابل HDMI.
Terminal 8
→→
Screen
3
وبيعمل كده كام مرة؟
الشاشة بتتجدّد 60 مرة في الثانية (60 Hz) — يعني الـ GPU بيرسم الصورة كاملة 60 مرة كل ثانية، حتى لو مفيش حاجة اتغيّرت! وشاشات الألعاب بتوصل 144 أو 240 مرة. عشان كده الحركة بتبان ناعمة ومش بتحس بـ"ريسم".
ليه الـ GPU مش الـ CPU؟ الـ CPU شيف شاطر بيعمل حاجة معقّدة واحدة ورا التانية. الـ GPU = آلاف العمال البسطاء كل واحد بيلوّن نقطة واحدة في نفس الوقت. لتلوين 2 مليون نقطة 60 مرة في الثانية… العمال أحسن 🎨
وصلنا! 🎉
من الكود اللي كتبته ← المترجم ← الـ OS ← الـ RAM ← المعالج حسب 8 ← stdout ← الـ Terminal ← الـ GPU رسمها نقط ← الشاشة نوّرت ← عينك شافت الـ 8. كل ده في أقل من ثانية!
?
بس المعالج أسرع من الـ RAM بكتير… بيستنّاها؟ وليه 4 أنوية؟
21/25→
?
الكاش والأنوية ليه المعالج فيه ذاكرة صغيرة جوه؟ وليه "4 أنوية"؟
1
الكاش — الرف اللي جنب الشيف
الـ RAM سريعة، بس المعالج أسرع منها بـ 100 مرة. لو كل مرة يستنّى الـ RAM هيضيّع وقته. فجوه المعالج نفسه في ذاكرة صغيرة جدًا وأسرع اسمها Cache.
Registers أسرع · بايتات
→
Cache سريع جدًا · ميجا
→
RAM سريع · جيجا
→
SSD أبطأ · تيرا
تشبيه 🧑🍳
الشيف: الملعقة في إيده (Registers) · الملح على الرف جنبه (Cache) · مكونات النهارده على الطاولة (RAM) · المخزن في الدور التاني (SSD). كل ما الحاجة أقرب، أسرع.
2
الأنوية — شيفات كتير
زمان المعالج كان شيف واحد. دلوقتي "4 أنوية" (4 Cores) = 4 شيفات في نفس المطبخ، كل واحد بينفّذ تعليمات لوحده.
الـ OS بيوزّع
→
Core 1 Chrome
Core 2 لعبة
Core 3 Spotify
Core 4 الكود بتاعك
بس خد بالك: برنامج واحد مكتوب عشان يشتغل على نواة واحدة مش هيبقى أسرع بـ 4 أنوية. الفايدة إن البرامج الكتير بتشتغل مع بعض من غير ما تبطّأ.
3
يعني إيه 3.5 GHz؟
الساعة اللي جوه المعالج بتدق 3.5 مليار مرة في الثانية. كل دقة = خطوة من دورة "هات – افهم – نفّذ". فالمعالج بينفّذ مليارات التعليمات الصغيرة كل ثانية.
تشبيه 🥁
طبّال بيدق الإيقاع، وكل الشيفات بيشتغلوا على الدقة. 3.5 GHz = الطبّال بيدق 3.5 مليار مرة في الثانية. وعشان كده المعالج بيسخن — طاقة كتير في مكان صغير.
?
طيب جهازي بطيء… المشكلة في أنهي قطعة؟
22/25→
?
ليه الجهاز بطيء؟ تشخيص عملي بكل اللي اتعلمته
دلوقتي فاهم كل قطعة بتعمل إيه. يلا نستخدم ده عشان نعرف المشكلة فين لما الجهاز "يزنّ".
1
افتح Task Manager وشوف
العرض
المشكلة في
الحل
الجهاز بطيء لما تفتح برامج كتير
الـ RAM مليانة → الـ OS بيرجّع كتب للمكتبة (Swap)
اقفل اللي مش محتاجه · زوّد الرامات
برنامج واحد بطيء و CPU 100%
الشيف مشغول — البرنامج بيعمل حسابات تقيلة
استنّى · أو معالج أقوى
Windows بياخد دقايق يفتح
الهارد HDD قديم — القرص بيلف
غيّره لـ SSD — أكبر فرق هتحسه
الألعاب بتقطّع
الـ GPU ضعيف — الرسّام مش لاحق
قلّل جودة الرسوم · كارت أقوى
الجهاز بيسخن وبيبطّأ فجأة
المعالج بيحمي نفسه من الحرارة
نضّف المراوح · حط الجهاز على سطح صلب
2
ترتيب التحديث لو معاك فلوس
① SSD بدل HDD — الفرق بيبقى زي جهاز جديد
② RAM لو أقل من 8 جيجا
③ GPU لو بتلعب أو بتعمل مونتاج
④ CPU آخر حاجة — غالبًا مش هو المشكلة
3
ربط كل حاجة
SSD المخزن
→
RAM الطاولة
→
Cache الرف
→
CPU الشيف
→
GPU الرسّام
→
الشاشة إنت
القاعدة: الجهاز بسرعة أبطأ قطعة فيه. معالج خرافي مع هارد قديم = جهاز بطيء. زي شيف عالمي في مطبخ المخزن بتاعه في آخر الشارع.
?
تحب نشوف الرحلة كلها في صفحة واحدة؟
23/25→
?
من أول ما تضغط Run لحد ما النتيجة تظهر… الرحلة كاملة
المخطط ده مبسّط — في الواقع المراحل بتتداخل وبتتكرّر آلاف المرات في الثانية.
main.py
print(5 + 3)
ده الكود اللي هنشغّله ونتابع رحلته.
طاولة الشغل: فيها التعليمات والبيانات أثناء التشغيل.
المدير بيعمل Process (برقم PID)، يحجز لها ذاكرة ووقت معالج، ويتولّى الإدخال والإخراج.
↓
4
RAM – طاولة الشغل
الأجزاء المطلوبة بتتنقل من الـ SSD (المخزن) للـ RAM (الطاولة) — لأن المعالج ما بيقراش غير من هناك.
بالصفحات (Pages) حسب الحاجة، مش كله مرة واحدة.
↓
5
CPU – الشيف بيطبخ
دورة Fetch → Decode → Execute. الـ 5 والـ 3 بيتحطّوا في Registers، الـ ALU بيجمعهم، والـ 8 بيتحفظ.
R0
5
R1
3
→→
8
↓
6
stdout – صندوق البوسطة
البرنامج يحوّل الـ 8 لنص "8" ويرميه في stdout. البوسطجي (OS) يوصّله للـ Terminal.
ممكن يروح لـ: Terminal · ملف · برنامج تاني
↓
7
الـ GPU والشاشة
الـ Terminal يحط الحرف في نافذته، والـ GPU يحوّل النافذة لنقط (Pixels) ويبعتها للشاشة. وشفت الـ 8! 🎉
المدير مسؤول عن: • العمليات • توزيع الموارد • الأجهزة • الإدخال والإخراج
المخزن: البرنامج ساكن هنا دايمًا، وبيتنقل للـ RAM وقت الشغل بس.
فكّر: كل الـ 7 خطوات دول بيحصلوا في أقل من ثانية! عشان كده بتحس إن النتيجة ظهرت "فورًا".
?
كده فهمت رحلة البرنامج كاملة… جاهز تختبر نفسك؟
24/25→
?
بعد الرحلة دي كلها… تقدر تجاوب؟
اختبار سريع 😊 الإجابات مقلوبة في آخر الصفحة.
1
مين "الشيف" اللي بينفّذ التعليمات؟
A RAM
B CPU
C SSD
2
لما تقفل الجهاز، إيه اللي بيتمسح؟
A اللي في الـ RAM
B اللي في الـ SSD
C الاتنين
3
إيه الترتيب الصحيح لدورة المعالج؟
A Execute → Fetch → Decode
B Fetch → Decode → Execute
F
→
D
→
E
4
الكمبيوتر بيفهم كود Python مباشرة؟
A أيوه طبعًا
B لأ، المترجم بيحوّله لـ 0 و 1
1011 0000 0110 0010
5
البرنامج وهو شغّال اسمه إيه؟
A Program
B Process
C Pixel
6
مين بيحوّل النوافذ لنقط ملوّنة على الشاشة؟
A GPU
B SSD
C Interpreter
خلاصة الرحلة في سطر واحد: الكود بيتكتب في الـ IDE ← بيتفهم بالـ Interpreter ← الـ OS (المدير) بيديله Process وذاكرة ← بيتحمّل في الـ RAM (الطاولة) ← الـ CPU (الشيف) بينفّذه ← النتيجة تروح stdout (البوسطة) ← الـ Terminal والـ GPU (الرسّام) يعرضوها على الشاشة.
❤️ لو استفدت احفظ الملف وشاركه مع حد لسه بيبدأ. وفكّر في السؤال ده: لو جهازك بطيء… المشكلة في الشيف ولا الطاولة ولا المخزن؟ 🤔