المحاضرة 01 · 22 شريحة

توصيف الأنظمة الموزعة

ما الذي يجعل مجموعة حواسيب «نظامًا واحدًا»؟ تبدأ المحاضرة بالتعريف القائم على تمرير الرسائل، ثم تبني عليه نتائج التزامن وغياب الساعة العالمية والفشل المستقل، قبل أن تشرح الموارد والخدمات وتحديات التصميم وصور الشفافية الثمانية.

30/3/2026 الفصل الأول Distributed Systems: Concepts and Design Dr. Eng. Mohssen Abboud
المصدر الأكاديمي الفصل الأول من كتاب Distributed Systems: Concepts and Design للمؤلفين G. Coulouris وJ. Dollimore وT. Kindberg وG. Blair، منشورات Addison Wesley/Pearson Education.
01

ما النظام الموزع؟ الشرائح 1–5

ليس الاتصال بالشبكة وحده كافيًا. النظام الموزع يضيف تنسيقًا برمجيًا يجعل مكوّنات مستقلة تتعاون، ويخفي تعددها عن المستخدم قدر الإمكان.

تعريف من الأدبيات: البيانات

مجموعة بيانات مترابطة منطقيًا موزعة على عقد معالجة مختلفة في شبكة حاسوبية.

تعريف من الأدبيات: الحواسيب

مجموعة حواسيب مستقلة تظهر للمستخدمين كما لو كانت حاسوبًا واحدًا.

تعريف المقرر الدقيق النظام الموزع هو نظام توجد فيه مكوّنات عتادية أو برمجية على حواسيب متصلة بالشبكة، وتتواصل وتنسّق أفعالها فقط عن طريق تمرير الرسائل. ويغطي هذا التعريف كامل طيف الأنظمة التي يمكن فيها نشر الحواسيب الشبكية بصورة مفيدة.

مهما اختلف التعريف، يبقى تقاسم الموارد الدافع الرئيس إلى بناء الأنظمة الموزعة.

شبكة حواسيب أم نظام موزع؟
البعدشبكة الحاسوبالنظام الموزع
ظهور الأجهزةالحواسيب المستقلة ظاهرة ويمكن عنونتها صراحة.وجود الحواسيب المتعددة المستقلة شفاف قدر الإمكان.
منظور المستخدمأجهزة وعناوين وخدمات منفصلة.كل واحد متكامل.
الدورتوفر الاتصال.تنسق المكوّنات وتشارك الموارد فوق الشبكة.

من عُقد مستقلة إلى خدمة واحدة

حاسوب Aمكوّن مستقل
واجهة خدمة واحدةتخفي مواضع المكوّنات
الحزمة المتحركة تمثل رسالة؛ لا توجد ذاكرة مشتركة ضمن تعريف المقرر.

أمثلة الشبكات التي قد تستضيف أنظمة موزعة

  • شبكات الهاتف والحوسبة المتنقلة.
  • شبكات المؤسسات والمصانع والجامعات والمنازل.
  • الشبكات داخل السيارات.
  • الشبكات على متن الطائرات والقطارات.
02

ثلاث نتائج لا يمكن تجاهلها الشرائح 6–8

1. التزامن Concurrency

تعمل الحواسيب المختلفة في الوقت نفسه. لذلك يجب الإجابة: ماذا يحدث إذا حاول حاسوبان الوصول إلى المورد نفسه معًا؟ ويزيد عدم ثبات تأخير الشبكة صعوبة المزامنة.

2. لا ساعة عالمية

تتعاون البرامج بالرسائل، لكن التنسيق الدقيق يحتاج تصورًا مشتركًا لوقت الأحداث. توجد حدود لدقة مزامنة الساعات، فلا توجد قيمة عالمية واحدة يمكن عدها «الوقت الصحيح» للجميع.

3. أعطال مستقلة

قد يتعطل مكوّن ويبقى غيره عاملًا. وقد يعزل خطأ الشبكة مكوّنًا من دون إيقافه؛ لذلك يظهر الغموض حين لا يصل الإقرار.

لماذا غياب ACK غامض؟

العميل ينتظر ACK الخادم قد يكون نفّذ الطلب ضاع الطلب؟ تعطل طرف؟ نُفّذ الطلب وضاع الرد؟ أم تأخر فقط؟
عدم وصول الإقرار لا يكشف وحده أين وقع الفشل ولا حتى هل نُفّذت العملية.
قاعدة تصميمية لا تعِد العملية بلا تمييز. استخدم رقم طلب أو عملية متكررة آمنة لتجنب تنفيذ الأثر مرتين إذا كان الطلب الأول وصل ونُفذ ثم ضاع الرد.
03

أمثلة الأنظمة الموزعة الشرائح 9–10

الأمثلة وما الذي يجعلها موزعة
المثالوصف المحاضرةالفكرة البارزة
الإنترنتنظام موزع ضخم جدًا يتكون من شبكات حاسوبية كثيرة مترابطة؛ وقد أنتج تطويره وخدماته حلولًا عملية لمسائل الأنظمة الموزعة.نطاق واسع وعدم تجانس كبير.
الإنترانت«إنترنت مصغر» يستخدم تقنيات الإنترنت نفسها، لكن تتحكم به مؤسسة.توزيع داخلي مع إدارة مؤسسية.
العنقود Clusterنظام معالجة متوازية أو موزعة من حواسيب مستقلة مترابطة تعمل تعاونيًا كمورد حاسوبي واحد متكامل.خدمات شديدة القابلية للتوسع، مثل محركات البحث.
الحوسبة المتنقلةقوة الحوسبة الحديثة تسمح بأجهزة صغيرة تستفيد من معلومات الشبكة، وقابليتها للحمل والاتصال من أماكن مختلفة تجعل الحوسبة المتنقلة ممكنة.الحاسوب المحمول والهاتف المحمول.
الحوسبة السحابيةتطبيقات وتخزين وحوسبة عبر الإنترنت تكفي معظم احتياجات المستخدم، فتقل أو تزول حاجته إلى التخزين المحلي وبرامج التطبيقات المحلية.كل شيء كخدمة، والدفع حسب الاستخدام، وتقليل متطلبات جهاز المستخدم.
السحابة من منظور المحاضرة تمتد فكرة «كل شيء كخدمة» من البنية الفيزيائية أو الافتراضية إلى البرمجيات. وقد تُدفع تكلفتها حسب الاستخدام بدل الشراء، وتمكّن جهازًا بسيطًا من الوصول إلى موارد وخدمات واسعة.
04

من المورد إلى الاستدعاء البعيد الشرائح 11–12

عتاد Hardware

مثل الطابعة المشتركة.

برمجيات عاملة

جزء برنامج قيد التشغيل أو كائن موزع.

بيانات Data

مثل الملفات.

يُستخدم مصطلحا الموارد والمكوّنات لوصف كيفية بناء النظام الموزع. المورد يكون مغلفًا داخل حاسوب، ولا يصل إليه حاسوب آخر إلا بالاتصال، ويديره برنامج يعرض واجهة اتصال.

سلسلة المصطلحات من المورد إلى التفاعل
المصطلحالتعريف
Resourceعنصر عتادي أو برمجي أو بيانات قابل للمشاركة.
Serviceجزء مميز من نظام حاسوبي يدير مجموعة موارد مترابطة ويعرض وظائفها للمستخدمين والتطبيقات عبر عمليات محددة جيدًا.
Serverبرنامج عامل على حاسوب شبكي يقبل رسائل طلب من برامج عملاء على حواسيب أخرى، ينفذ الخدمة، ثم يرسل الرد المناسب.
Clientبرنامج يرسل طلبًا إلى الخادم للاستفادة من الخدمة.
Remote Invocationالتفاعل الكامل بين العميل والخادم: طلب، تنفيذ، ورد.

دورة الاستدعاء البعيد

العميلينشئ رسالة الطلب
الخادميدير المورد ويعيد الرد
الواجهة تكشف العمليات المسموحة، لا تفاصيل المورد المغلف.
05

تحديات تصميم النظام الموزع الشرائح 13–18

1. عدم التجانس Heterogeneity

ينبغي أن تتشغّل المكوّنات معًا رغم اختلاف الشبكات، ومعماريات العتاد، وأنظمة التشغيل، ولغات البرمجة، والمطورين. تخفي الفروق أدوات مثل بروتوكولات الإنترنت، والبرمجيات الوسيطة CORBA وJava RMI، والشيفرة المتنقلة التي تُرسل إلى حاسوب آخر وتعمل في الوجهة.

2. الانفتاح Openness

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

3. الأمن Security

لا يصل إلى الموارد إلا المخولون، وتُستخدم بالطريقة المقصودة.

السرية

الحماية من كشف المعلومات لفرد غير مخول.

السلامة Integrity

الحماية من التغيير أو الإفساد.

التوافر

الحماية من التدخل في وسائل الوصول إلى الموارد.

4. قابلية التوسع Scalability

  • يبقى النظام فعالًا مع زيادة عدد المستخدمين.
  • ينبغي أن يزداد الأداء عند إضافة موارد.
  • يعمل بكفاءة عبر مقاييس تبدأ من إنترانت صغيرة وتصل إلى الإنترنت.
  • التخزين المؤقت Caching والنسخ المتماثل Replication في الويب مثالان لدعم التوسع.

5. معالجة الفشل Failure Handling

الفشل في النظام الموزع جزئي: تفشل مكوّنات فيما تواصل أخرى العمل. لذلك لا ينبغي لفشل مكوّن واحد أن يسقط النظام كله.

تقنيات التعامل مع الفشل المذكورة في المحاضرة
التقنيةمثال الشريحةالهدف
اكتشاف الفشلChecksumsكشف تلف البيانات أو الرسالة.
إخفاء الفشلإعادة إرسال الرسائل التالفةمنع أثر التلف من الظهور.
تحمّل الفشلمعالجة الاستثناءاتمتابعة مضبوطة أو مسار بديل.
الاستردادRollbackالعودة إلى حالة سليمة سابقة.
الفائض Redundancyمكوّنات زائدةإبقاء الخدمة عند تعطل نسخة.

6. التزامن Concurrency

يتيح التزامن مشاركة الخدمات والتطبيقات، لكن على كل كائن يمثل موردًا مشتركًا أن يعمل بصورة صحيحة في البيئة المتزامنة. يجب مزامنة عملياته بحيث تبقى بياناته متسقة؛ ومن الأدوات القياسية Semaphores المستخدمة في معظم أنظمة التشغيل.

مثال سباق إذا قرأ عميلان الرصيد نفسه ثم حدّثاه، قد يكتب أحدهما فوق نتيجة الآخر. الحل جعل القراءة والتعديل جزءًا حرجًا تحميه مزامنة مناسبة، ثم اختبار ترتيبات تنفيذ متعددة.
06

الشفافية: إخفاء التوزيع الشرائح 19–22

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

صور الشفافية الثمانية
النوعما الذي يتيحه أو يخفيه؟مثال توضيحي
Accessالوصول إلى الموارد المحلية والبعيدة بالعمليات نفسها.فتح ملف بالطريقة نفسها أينما كان.
Locationالوصول دون معرفة المكان الفيزيائي أو الشبكي، كالمبنى أو عنوان IP.اسم خدمة ثابت بعد نقلها.
Concurrencyتشغيل عمليات متزامنة على موارد مشتركة دون تداخل.تحديثات قاعدة بيانات متسقة.
Replicationاستخدام نسخ متعددة لرفع الاعتمادية والأداء دون معرفة المستخدم أو المبرمج بها.نسخ خلف موازن حمل.
Failureإخفاء الأعطال وإتمام المهام رغم فشل عتاد أو برمجيات.التحول إلى خادم احتياطي.
Mobilityتحريك الموارد والعملاء دون التأثير في تشغيل المستخدمين أو البرامج.استمرار جلسة جهاز متنقل.
Performanceإعادة تهيئة النظام لتحسين الأداء عند تغير الحمل.تغيير توزيع الطلبات.
Scalingتوسيع النظام والتطبيقات دون تغيير بنية النظام أو خوارزميات التطبيق.نمو العقد دون تغيير كود العميل.
شفافية الشبكة Network Transparency أهم نوعين في المحاضرة هما شفافية الوصول وشفافية الموقع، ويُطلق عليهما معًا شفافية الشبكة.

ما الذي يراه المستخدم؟

المستخدم عملية وصول واحدة واجهة النظام تخفي التوزيع نسخة · موقع A نسخة · موقع B خادم احتياطي
المستخدم لا يحتاج إلى معرفة الموقع أو النسخة أو الخادم البديل.
07

سيناريوهات محلولة وقواعد التفكير

لا تحتوي الشرائح على مسائل رقمية، لكنها تطرح حالات تصميمية. هذه طريقة حلها اعتمادًا على قواعد المحاضرة.

سيناريو 1: أرسلت طلبًا ولم يصل الإقرار
  1. لا تستنتج أن الطلب لم يصل؛ قد يكون ضاع، أو وصل ونُفذ ثم ضاع الرد، أو تعطل طرف، أو طال التأخير.
  2. صنّف الاحتمالات: فشل شبكة أو عميل أو خادم أو مجرد تأخير.
  3. استخدم مهلة وإعادة إرسال مع رقم طلب يمنع تنفيذ الأثر مرتين.
  4. استخدم كشف التلف أو نسخة خادم أو معالجة استثناء أو Rollback وفق طبيعة العملية.
سيناريو 2: عميلان يعدلان موردًا معًا
  1. حدد المورد المشترك والحالة التي يجب أن تبقى متسقة.
  2. حدد العملية الحرجة: القراءة ثم التعديل ثم الكتابة.
  3. امنع التداخل غير الآمن بقفل أو Semaphore مناسب.
  4. اختبر ترتيبات تنفيذ مختلفة للتأكد من غياب Race Condition.
سيناريو 3: خدمة ويب لا تتحمل نمو المستخدمين
  1. حدد موضع الاختناق: حوسبة أم تخزين أم اتصال.
  2. استخدم Cache للبيانات المتكررة وReplication لتوزيع الطلبات ورفع الاعتمادية.
  3. حافظ على شفافية الموقع والنسخ كي لا يتغير برنامج العميل.
  4. تحقق تجريبيًا من أن إضافة الموارد رفعت الأداء؛ فهذا شرط التوسع الوارد في الشريحة 16.
08

خريطة الشرائح الكاملة 1–22

افتح أي شريحة لمراجعة ما ورد فيها دون فقد أي نقطة من الملف الأصلي.

الشريحة 1 · العنوان والمصدر

Characterization of Distributed Systems، التاريخ 30/3/2026، الفصل الأول، المؤلفون والناشر واسم المحاضر.

الشريحة 2 · الموضوعات

التعريف، المشكلات، الأمثلة، مشاركة الموارد، وتحديات التصميم.

الشريحة 3 · تعريفات الأدبيات

بيانات مترابطة منطقيًا موزعة على عقد، أو حواسيب مستقلة تبدو حاسوبًا واحدًا؛ ومشاركة الموارد هي الدافع الرئيس.

الشريحة 4 · تعريف المقرر

مكوّنات عتادية أو برمجية على حواسيب شبكية تتواصل وتنسق فقط بتمرير الرسائل؛ والتعريف يغطي الطيف الكامل للنشر المفيد.

الشريحة 5 · أمثلة الشبكات والتمييز

متنقلة، مؤسسة، مصنع، جامعة، منزل، سيارة، طائرة وقطار؛ الأجهزة ظاهرة في الشبكة وشفافة في النظام الموزع.

الشريحة 6 · التزامن

الحواسيب تعمل معًا؛ وصول متزامن إلى مورد؛ تأخيرات الشبكة غير ثابتة فتُصعّب المزامنة.

الشريحة 7 · لا ساعة عالمية

تنسيق البرامج بالرسائل يعتمد أحيانًا على وقت مشترك، لكن دقة مزامنة الساعات محدودة ولا يوجد وقت صحيح عالمي.

الشريحة 8 · الأعطال المستقلة

أعطال جديدة وجزئية، عزل مكوّن دون إيقافه، غموض ACK ووصول الرسالة، وفشل كل مكوّن مستقلًا.

الشريحة 9 · الإنترنت والإنترانت والعنقود

تعريف الأمثلة الثلاثة، ودور العنقود في خدمات قابلة للتوسع مثل محرك البحث.

الشريحة 10 · المتنقلة والسحابة

الأجهزة المحمولة والاتصال من أماكن مختلفة؛ خدمات وتطبيقات وتخزين سحابي، كل شيء كخدمة، الدفع حسب الاستخدام وتقليل متطلبات الجهاز.

الشريحة 11 · المورد

عتاد أو برمجيات عاملة/كائن موزع أو بيانات؛ مغلف في حاسوب، لا يُوصل إليه إلا بالاتصال، ويديره برنامج بواجهة.

الشريحة 12 · الخدمة والخادم والعميل

تعريف الخدمة والخادم والعميل، وتسمي دورة الطلب والرد الكاملة Remote Invocation.

الشريحة 13 · عدم التجانس

اختلاف الشبكات والعتاد وأنظمة التشغيل واللغات والمطورين؛ بروتوكولات الإنترنت وCORBA وJava RMI وMobile Code.

الشريحة 14 · الانفتاح

إضافة واستبدال المكوّنات، التوسيع وإعادة التنفيذ، إضافة خدمات مشاركة موارد، ونشر توثيق الواجهات.

الشريحة 15 · الأمن

الوصول المخول والاستخدام المقصود، والسرية والسلامة والتوافر.

الشريحة 16 · قابلية التوسع

الكفاءة مع زيادة المستخدمين، تحسن الأداء بإضافة الموارد، المقاييس المختلفة، وCaching وReplication.

الشريحة 17 · معالجة الفشل

الفشل الجزئي؛ الكشف بـChecksum، الإخفاء بإعادة الإرسال، التحمل بالاستثناء، الاسترداد بـRollback، والفائض.

الشريحة 18 · التزامن الآمن

مشاركة الخدمات، مسؤولية الكائن المشترك، مزامنة العمليات لحفظ الاتساق، وSemaphores.

الشريحة 19 · تعريف الشفافية

إخفاء انفصال المكوّنات عن المستخدم والمبرمج ورؤية النظام كلًا واحدًا.

الشريحة 20 · Access وLocation وConcurrency

عمليات متطابقة للمحلي والبعيد، غياب معرفة الموقع، ومشاركة متزامنة بلا تداخل.

الشريحة 21 · Replication وFailure وMobility

إخفاء النسخ، وإتمام المهمة رغم الأعطال، وتحريك الموارد والعملاء دون أثر تشغيلي.

الشريحة 22 · Performance وScaling

إعادة التهيئة مع تغير الحمل، والتوسع دون تغيير البنية أو الخوارزميات؛ Access + Location = Network Transparency.