الوحدة 1: نظرة عامة على النظام الحاسوبي

Computer System Overview

📚 مأخوذة من الفصل الأول من كتاب: Operating Systems: Internals and Design Principles – William Stallings – الإصدار التاسع

أهداف التعلم من الوحدة

  • تحديد المكونات الأساسية لأي نظام حاسوبي.
  • فهم دورة تنفيذ التعليمات داخل وحدة المعالجة.
  • توضيح مفهوم المقاطعات وآلية التعامل معها.
  • شرح بنية وتسلسل مستويات الذاكرة في الحاسوب.
  • فهم مبادئ ذاكرة الكاش وDMA والأنظمة متعددة المعالجات.

1️⃣ العناصر الأساسية في النظام الحاسوبي

كل نظام حاسوبي يحتوي على أربع مكونات رئيسية مترابطة تعمل معًا لتنفيذ المهام ومعالجة البيانات:

العنصر الوظيفة
وحدة المعالجة المركزية (CPU) تنفيذ التعليمات والتحكم في تدفق البيانات. هي "عقل" الحاسوب.
الذاكرة الرئيسية (RAM) تخزين مؤقت للبيانات والبرمجيات قيد التنفيذ، مما يتيح للمعالج الوصول السريع إليها.
أجهزة الإدخال والإخراج (I/O Devices) التواصل مع المستخدم والبيئة المحيطة، مثل لوحة المفاتيح، الشاشة، الطابعة، ومحركات الأقراص.
الناقلات (Buses) خطوط اتصال إلكترونية لنقل البيانات، العناوين، وأوامر التحكم بين جميع المكونات الرئيسية للنظام.

2️⃣ تطور المعالجات الدقيقة

المعالج هو القلب النابض للحاسوب، وقد مرّ بتطورات هائلة أثرت بشكل مباشر على قدرات الأنظمة الحديثة:

  • من المعالجات أحادية النواة (Single-core) التي تنفذ مهمة واحدة في كل مرة، إلى المعالجات متعددة الأنوية (Multi-core) التي تحتوي على عدة وحدات معالجة مستقلة (أنوية) على شريحة واحدة، مما يسمح بتنفيذ مهام متعددة (Multitasking) بشكل متزامن.
  • دخول تقنيات مثل Hyper-Threading من Intel التي تحاكي تعدد الخيوط (Threads) على النواة الواحدة، مما يزيد من كفاءة استخدام موارد المعالج.
  • انتشار معالجات ARM في الهواتف الذكية والأجهزة اللوحية وحتى بعض أجهزة الكمبيوتر المحمولة، وذلك بسبب كفاءتها العالية في استهلاك الطاقة وأدائها المميز للمهام اليومية.

📌 مثال: معالج Intel i7 الحديث قد يحتوي على 8 أنوية حقيقية، ويدعم 16 خيط معالجة (بفضل Hyper-Threading)، مما يسمح بتشغيل العديد من البرامج والتطبيقات الثقيلة بكفاءة عالية في نفس الوقت.


3️⃣ دورة تنفيذ التعليمات

يتبع المعالج خطوات أساسية ومنظمة لتنفيذ كل تعليمات برمجية، تُعرف هذه العملية باسم "دورة التعليمات" (Instruction Execution Cycle):

  1. Fetch (الجلب): يقوم المعالج بجلب التعليمات التالية من الذاكرة الرئيسية.
  2. Decode (فك الشفرة): يتم فك شفرة التعليمات لفهم نوع العملية المطلوبة (مثل الجمع، الطرح، نقل البيانات) وما هي البيانات التي ستُستخدم.
  3. Execute (التنفيذ): يتم تنفيذ الأمر الفعلي باستخدام وحدة الحساب والمنطق (ALU - Arithmetic Logic Unit) أو وحدات أخرى متخصصة داخل المعالج.
  4. Store (التخزين): يتم حفظ نتائج العملية في الذاكرة أو في سجلات المعالج (Registers) ليتم استخدامها لاحقًا.

📌 مثال تطبيقي: عند الضغط على زر "Print" في برنامج معالجة النصوص، يتم تنفيذ سلسلة من التعليمات في المعالج. هذه التعليمات تشمل جلب أمر الطباعة، فك شفرته، معالجة الملف ليصبح جاهزًا للطباعة، وإرسال إشارة إلى الطابعة لبدء العمل، ثم حفظ حالة العملية.


4️⃣ المقاطعات (Interrupts)

ما هي المقاطعات؟

المقاطعة هي إشارة تُرسل إلى المعالج لإعلامه بوجود حدث طارئ أو هام يتطلب الانتباه فورًا. تُعتبر المقاطعات عنصرًا أساسيًا في تمكين تعدد المهام (Multitasking) والاستجابة الفورية للأحداث الخارجية أو الداخلية.

أنواع المقاطعات:

  • Hardware Interrupt (مقاطعة الأجهزة): تنشأ من أجهزة مادية، مثل الضغط على زر في لوحة المفاتيح، تحريك الماوس، اكتمال عملية قراءة من القرص الصلب، أو تلقي بيانات من الشبكة.
  • Software Interrupt (مقاطعة البرمجيات): تنشأ من برنامج يطلب خدمة معينة من نظام التشغيل (مثل طلب قراءة ملف)، أو نتيجة لخطأ في البرنامج (مثل القسمة على صفر).

📌 أهمية أمنية: تُستخدم المقاطعات في نظم الأمن لاكتشاف الأحداث المفاجئة أو الأنشطة غير العادية، مثل محاولات الوصول غير المصرح بها أو الأخطاء التي قد تشير إلى هجوم.


5️⃣ تدرّج الذاكرة – التسلسل الهرمي للذاكرة

تُرتب الذاكرة في نظام الحاسوب ضمن تسلسل هرمي (Memory Hierarchy) يعكس العلاقة بين السرعة، السعة، والتكلفة. الهدف هو تحقيق أفضل أداء بأقل تكلفة ممكنة:

المستوى المثال السرعة السعة التكلفة (لكل بت)
Register (السجلات) سجلات داخل المعالج (CPU) 🔺 عالية جدًا 🔻 منخفضة جدًا 🔺 غالية جدًا
Cache (الكاش) L1, L2, L3 Cache 🔺 عالية 🔻 متوسطة 🔺 مرتفعة
RAM (الذاكرة الرئيسية) DRAM (الذاكرة العشوائية الديناميكية) متوسطة متوسطة متوسطة
Secondary Storage (التخزين الثانوي) SSD (محرك الحالة الصلبة)، HDD (القرص الصلب) منخفضة 🔺 عالية جدًا 🔻 رخيصة جدًا

🔗 مصدر خارجي: Memory Hierarchy – GeeksForGeeks


6️⃣ ذاكرة الكاش (Cache Memory)

ذاكرة الكاش (Cache Memory) هي ذاكرة صغيرة وسريعة جدًا، تعمل كـ "منطقة تخزين مؤقتة" بين المعالج والذاكرة الرئيسية (RAM). تُخزّن فيها البيانات والتعليمات التي يُتوقع أن يستخدمها المعالج قريبًا، وذلك لتسريع الوصول وتقليل زمن الانتظار.

  • L1 Cache: الأسرع والأقرب لوحدة المعالجة المركزية، وتكون ذات سعة صغيرة جدًا.
  • L2/L3 Cache: أكبر سعة وأقل سرعة قليلاً من L1، وتعمل كطبقات وسيطة لتوفير البيانات للمعالج بكفاءة.

📌 مبدأ العمل: تعتمد ذاكرة الكاش على مبدأ "Locality of Reference"، والذي ينص على أن البيانات أو التعليمات التي تم استخدامها مؤخرًا (Temporal Locality) أو البيانات القريبة منها في الذاكرة (Spatial Locality) يُتوقع أن تُستخدم مجددًا في المستقبل القريب.


7️⃣ النقل المباشر للذاكرة (DMA)

النقل المباشر للذاكرة (Direct Memory Access - DMA) هي تقنية تتيح للأجهزة الطرفية (مثل بطاقة الشبكة، القرص الصلب، أو بطاقة الرسوميات) نقل البيانات مباشرة إلى الذاكرة الرئيسية (RAM) أو منها، دون الحاجة إلى تدخل مستمر من وحدة المعالجة المركزية (CPU).

📌 أمثلة:

  • عند نسخ ملف كبير من وحدة تخزين USB إلى القرص الصلب، تُستخدم تقنية DMA لتسريع العملية بشكل كبير، حيث لا يحتاج المعالج إلى معالجة كل بايت من البيانات.
  • في الشبكات عالية السرعة (مثل 10Gbps)، يُعتمد على DMA لضمان الأداء الأمثل وتقليل حمل المعالج أثناء نقل كميات كبيرة من البيانات.

🔗 مصدر خارجي: DMA Explained – Embedded.com


8️⃣ الأنظمة متعددة المعالجات والأنوية

تُعد الأنظمة الحديثة مصممة للاستفادة القصوى من قدرات المعالجة المتوازية:

  • Multiprocessor (متعدد المعالجات): يشير إلى نظام حاسوبي يحتوي على عدة معالجات مركزية (CPUs) حقيقية ومستقلة، كل منها لديه سجلاته ووحدات التحكم الخاصة به. هذه المعالجات تعمل بشكل متوازٍ تمامًا.
  • Multicore (متعدد الأنوية): يشير إلى معالج واحد يحتوي على أكثر من نواة (Core) معالجة على شريحة واحدة. كل نواة تعمل كوحدة معالجة مستقلة، ولكنها تشترك في بعض الموارد مثل ذاكرة الكاش L3.

📌 أهمية: هذه الأنظمة ضرورية لدعم الأداء العالي وتعدد المهام الفعال، وتُستخدم بشكل واسع في الخوادم، قواعد البيانات الكبيرة، محطات العمل المخصصة للألعاب والتصميم الجرافيكي، والتطبيقات السحابية التي تتطلب معالجة متوازية لكميات ضخمة من البيانات.


ملخص الوحدة

في هذه الوحدة، تعرّفت على بنية النظام الحاسوبي الأساسية، من وحدة المعالجة المركزية والذاكرة إلى أجهزة الإدخال/الإخراج والناقلات. استكشفت دورة تنفيذ التعليمات وكيف تُستخدم المقاطعات لإدارة الأحداث. كما فهمت التسلسل الهرمي للذاكرة، ودور ذاكرة الكاش وDMA في تحسين الأداء، بالإضافة إلى الفرق بين الأنظمة متعددة المعالجات والأنوية. هذه المفاهيم تُعدّ الأساس لفهم كيفية عمل أنظمة التشغيل، وأثرها المباشر في الأداء، الأمن، والتصميم البرمجي.