📚 مأخوذة من الفصل الأول من كتاب: Operating Systems: Internals and Design Principles – William Stallings – الإصدار التاسع
كل نظام حاسوبي يحتوي على أربع مكونات رئيسية مترابطة تعمل معًا لتنفيذ المهام ومعالجة البيانات:
| العنصر | الوظيفة |
|---|---|
| وحدة المعالجة المركزية (CPU) | تنفيذ التعليمات والتحكم في تدفق البيانات. هي "عقل" الحاسوب. |
| الذاكرة الرئيسية (RAM) | تخزين مؤقت للبيانات والبرمجيات قيد التنفيذ، مما يتيح للمعالج الوصول السريع إليها. |
| أجهزة الإدخال والإخراج (I/O Devices) | التواصل مع المستخدم والبيئة المحيطة، مثل لوحة المفاتيح، الشاشة، الطابعة، ومحركات الأقراص. |
| الناقلات (Buses) | خطوط اتصال إلكترونية لنقل البيانات، العناوين، وأوامر التحكم بين جميع المكونات الرئيسية للنظام. |
🔗 مصدر خارجي: Computer System Architecture – TutorialsPoint
المعالج هو القلب النابض للحاسوب، وقد مرّ بتطورات هائلة أثرت بشكل مباشر على قدرات الأنظمة الحديثة:
📌 مثال: معالج Intel i7 الحديث قد يحتوي على 8 أنوية حقيقية، ويدعم 16 خيط معالجة (بفضل Hyper-Threading)، مما يسمح بتشغيل العديد من البرامج والتطبيقات الثقيلة بكفاءة عالية في نفس الوقت.
يتبع المعالج خطوات أساسية ومنظمة لتنفيذ كل تعليمات برمجية، تُعرف هذه العملية باسم "دورة التعليمات" (Instruction Execution Cycle):
📌 مثال تطبيقي: عند الضغط على زر "Print" في برنامج معالجة النصوص، يتم تنفيذ سلسلة من التعليمات في المعالج. هذه التعليمات تشمل جلب أمر الطباعة، فك شفرته، معالجة الملف ليصبح جاهزًا للطباعة، وإرسال إشارة إلى الطابعة لبدء العمل، ثم حفظ حالة العملية.
🔗 مصدر خارجي: Instruction Cycle – Computer Science Wiki
المقاطعة هي إشارة تُرسل إلى المعالج لإعلامه بوجود حدث طارئ أو هام يتطلب الانتباه فورًا. تُعتبر المقاطعات عنصرًا أساسيًا في تمكين تعدد المهام (Multitasking) والاستجابة الفورية للأحداث الخارجية أو الداخلية.
📌 أهمية أمنية: تُستخدم المقاطعات في نظم الأمن لاكتشاف الأحداث المفاجئة أو الأنشطة غير العادية، مثل محاولات الوصول غير المصرح بها أو الأخطاء التي قد تشير إلى هجوم.
🔗 مصدر مرئي: 🔹 Interrupts in Operating Systems – YouTube
تُرتب الذاكرة في نظام الحاسوب ضمن تسلسل هرمي (Memory Hierarchy) يعكس العلاقة بين السرعة، السعة، والتكلفة. الهدف هو تحقيق أفضل أداء بأقل تكلفة ممكنة:
| المستوى | المثال | السرعة | السعة | التكلفة (لكل بت) |
|---|---|---|---|---|
| Register (السجلات) | سجلات داخل المعالج (CPU) | 🔺 عالية جدًا | 🔻 منخفضة جدًا | 🔺 غالية جدًا |
| Cache (الكاش) | L1, L2, L3 Cache | 🔺 عالية | 🔻 متوسطة | 🔺 مرتفعة |
| RAM (الذاكرة الرئيسية) | DRAM (الذاكرة العشوائية الديناميكية) | متوسطة | متوسطة | متوسطة |
| Secondary Storage (التخزين الثانوي) | SSD (محرك الحالة الصلبة)، HDD (القرص الصلب) | منخفضة | 🔺 عالية جدًا | 🔻 رخيصة جدًا |
🔗 مصدر خارجي: Memory Hierarchy – GeeksForGeeks
ذاكرة الكاش (Cache Memory) هي ذاكرة صغيرة وسريعة جدًا، تعمل كـ "منطقة تخزين مؤقتة" بين المعالج والذاكرة الرئيسية (RAM). تُخزّن فيها البيانات والتعليمات التي يُتوقع أن يستخدمها المعالج قريبًا، وذلك لتسريع الوصول وتقليل زمن الانتظار.
📌 مبدأ العمل: تعتمد ذاكرة الكاش على مبدأ "Locality of Reference"، والذي ينص على أن البيانات أو التعليمات التي تم استخدامها مؤخرًا (Temporal Locality) أو البيانات القريبة منها في الذاكرة (Spatial Locality) يُتوقع أن تُستخدم مجددًا في المستقبل القريب.
النقل المباشر للذاكرة (Direct Memory Access - DMA) هي تقنية تتيح للأجهزة الطرفية (مثل بطاقة الشبكة، القرص الصلب، أو بطاقة الرسوميات) نقل البيانات مباشرة إلى الذاكرة الرئيسية (RAM) أو منها، دون الحاجة إلى تدخل مستمر من وحدة المعالجة المركزية (CPU).
📌 أمثلة:
🔗 مصدر خارجي: DMA Explained – Embedded.com
تُعد الأنظمة الحديثة مصممة للاستفادة القصوى من قدرات المعالجة المتوازية:
📌 أهمية: هذه الأنظمة ضرورية لدعم الأداء العالي وتعدد المهام الفعال، وتُستخدم بشكل واسع في الخوادم، قواعد البيانات الكبيرة، محطات العمل المخصصة للألعاب والتصميم الجرافيكي، والتطبيقات السحابية التي تتطلب معالجة متوازية لكميات ضخمة من البيانات.
🔗 مقال مفيد: Multicore vs Multiprocessor – Tech Differences
في هذه الوحدة، تعرّفت على بنية النظام الحاسوبي الأساسية، من وحدة المعالجة المركزية والذاكرة إلى أجهزة الإدخال/الإخراج والناقلات. استكشفت دورة تنفيذ التعليمات وكيف تُستخدم المقاطعات لإدارة الأحداث. كما فهمت التسلسل الهرمي للذاكرة، ودور ذاكرة الكاش وDMA في تحسين الأداء، بالإضافة إلى الفرق بين الأنظمة متعددة المعالجات والأنوية. هذه المفاهيم تُعدّ الأساس لفهم كيفية عمل أنظمة التشغيل، وأثرها المباشر في الأداء، الأمن، والتصميم البرمجي.