🎧 New: AI-Generated Podcasts Turn your study notes into engaging audio conversations. Learn more

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Full Transcript

‫الجامعة الوطنية اب‬ ‫األنظمة الموزعة‬ ‫مستوى ثالث (تقنية معلومات)‬ ‫اعداد د‪ /‬معاذ عبده الصبري‬ ‫‪Chapter 1: Introduction‬‬ ‫اعداد د‪ /‬معاذ عبده الصبري‬ ...

‫الجامعة الوطنية اب‬ ‫األنظمة الموزعة‬ ‫مستوى ثالث (تقنية معلومات)‬ ‫اعداد د‪ /‬معاذ عبده الصبري‬ ‫‪Chapter 1: Introduction‬‬ ‫اعداد د‪ /‬معاذ عبده الصبري‬ ‫جهاز الحاسوب‬ ‫جهاز الحاسوب‪:‬‬ ‫هو عبارة عن جهاز الكتروني مكون من مجموعة من الدوائر المتكاملة‪ ،‬التي يتم التحكم بها عبر مجموعة من البرمجيات لتمكنه من معالجة‬ ‫البيانات واألوامر وتخزينها وإخراجها حسب قواعد خاصة بسرعة فائقة ودقة متناهية‪.‬‬ ‫مكونات جهاز الحاسوب‪- :‬‬ ‫يتكون جهاز الحاسوب من‪:‬‬ ‫❑مكونات مادية (العتاد)‪:‬‬ ‫عبارة عن قطع الحاسوب المختلفة التي يمكن رؤيتها ولمسها وتمثل جسد جهاز الحاسوب‪.‬وتنقسم إلى‪-:‬‬ ‫ وحدات اإلدخال‬ ‫ وحدات المعالجة‬ ‫ وحدات اإلخراج‬ ‫ وحدات التخزين الثانوية‬ ‫❑مكونات برمجية (برامج النظام)‪:‬‬ ‫عبارة عن مكونات معنوية مجردة ال يمكن رؤيتها وال لمسها وتمثل روح الحاسوب‪.‬وتنقسم إلى ‪-:‬‬ ‫ نظام تشغيل‬ ‫ برامج تطبيقات وخدمات‬ ‫‪Defining Operating Systems‬‬ ‫نظام التشغيل )‪ (OS‬هو برنامج يعمل كواجهة بني أجهزة الكمبيوتر ومستخدم الكمبيوتر‪.‬‬ ‫وهو يوفر جمموعة من اخلدمات إلدارة أجهزة الكمبيوتر والتحكم فيها‪ ،‬مما يسمح للمستخدمني بتشغيل التطبيقات واالستفادة‬ ‫من موارد الكمبيوتر بكفاءة‪.‬يقوم نظام التشغيل مبهام أساسية مثل إدارة العمليات وإدارة الذاكرة وإدارة نظام امللفات وإدارة‬ ‫األجهزة‪.‬تتضمن أمثلة أنظمة التشغيل الشائعة ‪Microsoft Windows , macOS , Linux , Unix‬‬ ‫‪Operating System‬‬ ‫تعريف نظام التشغيل‪:‬‬ ‫هو عبارة عن البرمجيات المسؤولة عن تشغيل جهاز الحاسوب والتحكم بوحداته المادية وعن تنفيذ التطبيقات البرمجية‬ ‫التي يستخدمها المستخدم‪.‬‬ ‫عرف (‪ )Galvin‬نظام التشغيل بأنه‪:‬‬ ‫هو برنامج يدير أجهزة الحاسب‪.‬ويوفر أيضا أساسا للبرامج التطبيقية ويعمل كوسيط بين مستخدمي أجهزة الحاسب‬ ‫والحاسوب نفسه‪.‬‬ ‫أهداف نظام التشغيل الرئيسية هي‪:‬‬ ‫ تنفيذ تطبيقات المستخدم‪.‬‬ ‫ توفير بيئة مناسبة ومالئمة لالستخدام (‪)convenient‬‬ ‫ االستفادة القصوى من الموارد وذلك بجعلها تعمل بشكل فعال (‪)efficient‬‬ ‫يقوم نظام التشغيل بدورين رئيسيين‪:‬‬ ‫‪.1‬إدارة المكونات المادية والبرمجية للحاسب ‪ ،‬مثل ‪ :‬المعالج‪ ،‬الذاكرة‪ ،‬وحدات اإلدخال واإلخراج وكذلك الملفات‬ ‫والبرامج وصفحات الويب وغيرها‪.‬‬ ‫‪.2‬يعمل بطريقة فعالة لربط التطبيقات بالمكونات المادية بدون معرفة تفاصيلها‪.‬مما يسهل على مطوري البرامج‬ ‫كتابة تطبيقات ويجعلها تعمل على أكثر من جهاز‪.‬‬ ‫تصورات نظام التشغيل‬ ‫نظام التشغيل كمدير للموارد‪:‬‬ ‫يتولى نظام التشغيل مهمة إدارة الموارد المادية والبرمجية للحاسوب‪.‬‬ ‫المقصود بإدارة الموارد هو‪:‬‬ ‫‪ -1‬حجز المورد ( ‪ )allocate‬للبرنامج الذي يطلبه‪ ،‬ثم تحريره ( ‪ )free‬بعد االنتهاء منه وإتاحته لتستفيد منه‬ ‫برامج أخرى‪.‬‬ ‫‪ -2‬استخدام المورد بكفاءة واالستفادة منه االستفادة القصوى‪ :‬مثال إذا كان المعالج ينفذ في برنامج معين‪ ،‬وأحتاج هذا البرنامج إلى معلومة من‬ ‫لوحة المفاتيح )قد يستغرق وصول المعلومة وقتا ليس بِالقصير مقارنة مع سرعة المعالج(‪ ،‬في هذه الحالة سيقوم نظام التشغيل ِباالستفادة من‬ ‫المعالج في تنفيذ برنامج آخر ريثما تصل المعلومة من لوحة المفاتيح‪ ،‬هنا يكون نظام التشغيل قد استفاد من زمن المعالج في هذه الفترة‪.‬‬ ‫‪ -3‬العدل في استخدام الموارد‪ :‬يمنع نظام التشغيل البرامج من حجز الموارد واستخدامها لمدة طويلة‪.‬‬ ‫تصورات نظام التشغيل (يتبع‪)...‬‬ ‫نظام التشغيل كبرنامج تحكمي‪:‬‬ ‫يمكن النظر إلى نظام التشغيل كبرنامج يتحكم في تشغيل البرامج األخرى ويدير عملية تنفيذها لتفادي األخطاء وتجنب‬ ‫االستخدام غير السليم للحاسب وحماية البرامج عن بعضها البعض وعن نظام التشغيل‪.‬‬ ‫نظام التشغيل كنواة (‪:)Kernel‬‬ ‫نظام التشغيل هو ذلك الجزء الذي يتعامل ويدير المكونات المادية مباشرة‪ ،‬وهو النواة ( ‪ )kernel‬التي ال نراها وال‬ ‫نتعامل معها مباشرة‪ ،‬لكننا ال نستغني عن خدماتها التي هي سبب تشغيل جهاز الحاسوب وبقية البرامج والواجهات التي‬ ‫نتعامل معها‪.‬‬ ‫‪ Computer System Structure‬هيكلية النظام الحاسوبي‬ ‫يتكون النظام الحاسوبي من أربعة مكونات رئيسية هي‪-:‬‬ ‫ المكونات المادية (العتاد)‬ ‫ نظام التشغيل‬ ‫ التطبيقات‬ ‫ المستخدمين‬ ‫تشكل المكونات المادية للحاسوب مجتمعة نظاما معقدا في التعامل‪ ,‬مما أستوجب كتابة برامج تتحكم في إدارة جميع هذه‬ ‫المكونات وتستخدمها استخداما صحيحا‪ ,‬وتسمي هذه البرامج ببرامج النظام والتي من أهم وظائفها أدارة جميع هذه‬ ‫األجهزة ( المكونات المادية ) باإلضافة إلي تقديم واجهة بسيطة ومالئمة للمستخدم لكي يتمكن من تنفيذ أعماله والتعامل‬ ‫مع المكونات المادية واستثمارها‪.‬‬ ‫?‪What is an Operating System‬‬ ‫النواة هي الجزء األكثر أهمية في نظام التشغيل‪.‬إنها الواجهة األساسية بين األجهزة‬ ‫وعمليات الكمبيوتر‪.‬تقوم النواة بربط هذين االثنين من أجل ضبط الموارد بأكبر قدر ممكن‬ ‫من الفعالية‪.‬سميت بالنواة ألنها تعمل داخل نظام التشغيل‪ ،‬تما ًما مثل البذرة الموجودة داخل‬ ‫القشرة الصلبة‪.‬‬ ‫يوضح الشكل أدناه مكانه في نظام التشغيل‪.‬فهو يتحكم في جميع الوظائف الرئيسية‬ ‫ً‬ ‫جهازا لوحيًا أو سطح مكتب أو خاد ًما أو أي نوع آخر من‬ ‫لألجهزة‪ ،‬سواء كان‬ ‫األجهزة‪.‬‬ ‫تعد النواة أحد البرامج األولية التي يتم تحميلها على الذاكرة قبل أداة تحميل التشغيل ‪.‬‬ ‫ملفات اإلقالع مسؤولة عن ترجمة التعليمات لوحدة المعالجة المركزية ‪.‬فهي تدير الذاكرة‬ ‫وكذلك األجهزة الطرفية مثل لوحات المفاتيح والشاشات‪.‬‬ ‫‪Computer System Structure‬‬ ‫مكونات أنظمة الكمبيوتر ‪:‬‬ ‫األجهزة‬ ‫نظام التشغيل‬ ‫البرامج التطبيقية‬ ‫المستخدمين‬ ‫تصنيفات أنظمة التشغيل‬ ‫األنظمة أحادية المهام‪-:‬‬ ‫‪.1‬‬ ‫‪Operating system‬‬ ‫كان دور نظام التشغيل هو تحميل برنامج واحد وتنفيذه‪ ،‬ثم بعد إكماله‪ ،‬يتم تحميل برنامج‬ ‫آخر وتنفيذه‪ ،‬وهكذا‪.‬‬ ‫‪User program‬‬ ‫هذا النوع من نظم التشغيل ال يستفيد من الموارد استفادة كاملة (غير كفؤ)‪ ،‬ذلك ألنه يحمل‬ ‫‪memory‬‬ ‫برنامج واحد كل مرة‪ ،‬ويظل هذا البرنامج يعمل إلى أن ينتهي‪ ،‬خالل عمل هذا البرنامج قد‬ ‫تكون هنالك موارد متاحة لكن ال يُستفاد منها ألنه ال يوجد سوى برنامج واحد ِبالذاكرة‪.‬‬ ‫أيضا يستغرق تحميل البرنامج وقتا ليس ِبالقصير‪ ،‬مما يؤثر على أداء الحاسب‪.‬يسمى هذا‬ ‫النوع من نظم التشغيل أحادي المهام‪ ،‬حيث يوجد برنامج واحد بالذاكرة باإلضافة إلى نظام‬ ‫التشغيل‪،‬‬ ‫تصنيفات أنظمة التشغيل‬ ‫‪ -2‬تعدد البرامج (المهام) ) ‪:(multiprogramming‬‬ ‫هنا يتعامل نظام التشغيل مع عدد من البرامج المخزنة ِبالقرص‪ ،‬حيث يحمل جزء من هذه‬ ‫البرامج ِبالذاكرة في نفس الوقت‪.‬‬ ‫‪Operating system‬‬ ‫‪Jop1‬‬ ‫يبدأ نظام التشغيل بتنفيذ أحد هذه البرامج في المعالج‪.‬إذا توقف هذا البرنامج عن التنفيذ ألي‬ ‫‪Jop2‬‬ ‫سبب‪ ،‬يقوم نظام التشغيل بتشغيل برنامج آخر في المعالج‪.‬بهذه الطريقة نكون قد استفدنا من‬ ‫‪Jop3‬‬ ‫زمن المعالج وجعلناه مشغوال معظم الوقت‪.‬‬ ‫‪Jop4‬‬ ‫الغرض من تعدد البرمجة وجود أكثر من برنامج ِبالذاكرة لكي يجد المعالج دائما برنامج‬ ‫جاهز للتنفيذ مما يحسن ويسرع من أداء النظام‪.‬‬ ‫تصنيفات أنظمة التشغيل‬ ‫‪ -3‬المشاركة الزمنية )‪:(Time-sharing‬‬ ‫هي استمرار منطقي لتعدد البرامج‪.‬يقوم المعالج بخدمة العديد من المهام وذلك بإعطاء كل مهمة فترة زمنية قصيرة داخل المعالج‪ ،‬ويتنقل المعالج‬ ‫بين المهام بسرعة عالية جدا لدرجة أن كل مهمة تعمل وكأنها تستخدم المعالج لوحدها‪.‬‬ ‫إذا احتاجت مهمة أن تنتظر عملية دخل أو خرج‪ ،‬يمكن االنتقال لمهمة أخرى مما يكسب النظام استغالل جيد لزمن المعالج‪.‬‬ ‫أنواع الحاسبات والنظم المستخدمة ‪1‬‬ ‫‪ -1‬الحاسبات المركزية ( ‪:) Main Frame‬‬ ‫الحاسبات المركزية عبارة عن جهاز حاسوب مركزي واحد تتصل به عدة طرفيات تسمى الطرفيات‬ ‫العمياء (‪ ،)dump terminal‬هذه الطرفيات عبارة عن شاشة ولوحة مفاتيح‪ ،‬ليس بها ذاكرة أو معالج‬ ‫وإنما تستخدم معالج وذاكرة الحاسب المركزي‪.‬‬ ‫طبيعة نظام التشغيل‪-:‬‬ ‫تركز أنظمة تشغيل هذا النوع من الحاسبات على التقسيم الزمني‪ ،‬فهنالك مستخدمين كثر متصلين‬ ‫بطرفيات يريدون االستفادة القصوى من موارد حاسب مركزي واحد‪ ،‬و ِبالتالي على نظام التشغيل إدارة‬ ‫الجهاز المركزي لخدمة هذا الكم من المستخدمين بحيث يكون زمن االستجابة لكل مستخدم سريع (أقل‬ ‫من ثانية) وحتى يشعر كل مستخدم أن الجهاز المركزي يخدمه لوحده‪.‬‬ ‫أنواع الحاسبات والنظم المستخدمة ‪2‬‬ ‫‪ -2‬الحاسوب الخادم (المزود) (‪: )Server Computer‬‬ ‫هي أجهزة سريعة وقوية تستخدم لتوفير خدمات لبقية األجهزة في الشبكة وتسمح بتعدد المستخدمين‬ ‫وتعدد المهام في نفس الوقت‪.‬‬ ‫هنالك نظم تشغيل خاصة بهذه األجهزة مثل‪Windows Advanced ( )Ubuntu Server( :‬‬ ‫‪.)Server‬‬ ‫حيث تدعم هذه النظم أهم صفة تتصف بها الخوادم وهي إتاحة المشاركة بين المستخدمين وخدمة أكبر‬ ‫عدد منهم في وقت واحد‪.‬مثال خادم الويب (‪ )web server‬يسمح لعدد كبير من المتصفحين من‬ ‫االتصال في نفس الوقت وتصفح المواقع‪.‬‬ ‫أنواع الحاسبات والنظم المستخدمة ‪3‬‬ ‫‪ -3‬األجهزة متعددة المعالجات (‪:)Multiprocessors‬‬ ‫بعض البرامج تحتاج سرعة عالية بحيث ال تكفي سرعة المعالج الواحد مهما بلغت‪ ،‬الحل هو استخدام أكثر من معالج‬ ‫لتنفيذ المهام وقد تتواجد عدة معالجات في صندوق واحد فيما يسمى تعدد المعالجات‪.‬‬ ‫يتميز تعدد المعالجات بأنه‪:‬‬ ‫‪ -1‬قليل التكلفة مقارنة ِباألنظمة األخرى حيث تتشارك المعالجات في بقية موارد الجهاز ‪ ،‬فالذاكرة مشتركة واللوحة‬ ‫األم واحدة‪.‬‬ ‫‪ -2‬سريع ألن تكلفة االتصال قليلة‪ ،‬فغالبا تستخدم المعالجات النواقل الداخلية في تبادل المعلومات‪.‬‬ ‫‪ -3‬بسيط ألنه يستخدم ذاكرة مشتركة‪ ،‬فكل المعالجات تتشارك فيها‪.‬‬ ‫‪ -4‬زيَادة االعتمادية‪ :‬إمكانية االستمرارية حتى ولو تعطلت بعض المعالجات‪.‬‬ ‫أصبحت الحاسبات ذات المعالجات متعددة النواة )‪(multi-core‬منتشرة ومتوفرة وقد حلت محل الحاسبات أحادية‬ ‫المعالج‪.‬‬ ‫المعالجات المتعددة تنقسم إلى نوعين هما‪:‬‬ ‫‪ -1‬المعالجات المتماثلة ( ‪)Symmetric multiprocessing‬‬ ‫‪ -2‬المعالجات غير المتماثلة (‪)Asymmetric multiprocessor‬‬ ‫أنواع المعالجات المتعددة ‪3-1‬‬ ‫‪ -1‬المعالجات المتماثلة ) ‪:(Symmetric multiprocessing‬‬ ‫معالجات مربوطة ِبإحكام ) ‪ (tightly coupled‬وتتشارك الذاكرة ونواقل الدخل والخرج أو ممر البيانات ويديرها نظام‬ ‫تشغيل واحد يوزع األحمال على جميع المعالجات بالتساوي‪.‬‬ ‫وهي الهندسة األكثر استعماال بين معظم األنظمة متعددة المعالجات‪.‬كما تستعمل في األنظمة متعددة األنوية حيث تعتبر‬ ‫كل نواة كوحدة معالجة مستقلة‪.‬‬ ‫أنواع المعالجات المتعددة ‪3-2‬‬ ‫‪ -2‬المعالجات غير المتماثلة (‪:)Asymmetric multiprocessor‬‬ ‫يوجد معالج رئيسي واحد يتحكم في النظام ويستخدم لنظام التشغيل وينفذ مهمة رئيسية كبيرة‪ ،‬بينما بقية المعالجات‬ ‫تستخدم للتطبيقات وتنفذ ما يأمرها به هذا المعالج الرئيسي‪ ،‬فهو قد يقسم المهمة الكبيرة إلى أجزاء صغيرة يوزعها على‬ ‫بقية المعالجات ثم يجمع النتائج بعد التنفيذ‪.‬‬ ‫أنواع الحاسبات والنظم المستخدمة ‪4‬‬ ‫‪ -4‬األنظمة الموزعة (‪:)Distributed‬‬ ‫توزيع العمل عبر الشبكة على عدة حاسبات‪ ،‬هذه الحاسبات قد تكون قريبة أو بعيدة‪ ،‬وكل حاسب لديه معالجه‪ ،‬ذاكرته‪،‬‬ ‫وقرصه وأجهزته الطرفية الخاصة به‪.‬وقد تكون هذه األجهزة متباينة في المكونات المادية ونظم التشغيل التي تديرها‪.‬‬ ‫المميزات‪:‬‬ ‫‪ -1‬التشارك في الموارد‪.‬‬ ‫‪ -2‬زيَادة سرعة التنفيذ‪.‬‬ ‫‪ -3‬توزيع الحمل بين هذه الحاسبات‪.‬‬ ‫العيوب‪:‬‬ ‫‪ -1‬زمن االتصال بين أجزاء النظام قد يؤثر على أداء النظام ككل‪.‬‬ ‫أنواع الحاسبات والنظم المستخدمة ‪5‬‬ ‫‪ -5‬األنظمة المضمنة (‪:)Embedded‬‬ ‫هي حاسبات ذات أغراض معينة‪ ،‬صممت لتقوم بوظيفة واحدة‪ ،‬وغالبا ما تكون مضمنة داخل جهاز تتحكم في عمله‪ ،‬مثل‬ ‫التلفزيون‪ ،‬السيارة‪ ،‬المايكرويف‪ ،‬مشغل ‪ ،MP3‬الموجهات (‪ ،(routers‬إشارات المرور‪ ،‬مسجالت ‪ ،DVD‬وغيرها‪.‬‬ ‫بعض هذه الحاسبات تحتوي على نظام تشغيل ينفذ أعمال تحكمية‪.‬‬ ‫أنواع الحاسبات والنظم المستخدمة ‪6‬‬ ‫‪ -6‬األجهزة المتجمعة (‪:)Clustered Systems‬‬ ‫هي مجموعة من األجهزة المتواجدة في مكان واحد والمتصلة مع بعضها البعض بشبكة محلية سريعة وغالبا ما تكون‬ ‫متشابهة في المكونات المادية ونظم التشغيل التي تديرها‪.‬تتشارك في التخزين (قد يكون هنالك جهاز واحد بقرص صلب‬ ‫والبقية بدون مثال)‪.‬تستخدم لتنفيذ البرامج الضخمة والتي تحتاج وقت كبير حيث يقسم التطبيق إلى أجزاء صغيرة تنفذ في‬ ‫أجزاء التجمع‪.‬الفرق بين النظم الموزعة والحاسبات المجتمعة التباين في األجهزة والبعد الجغرافي‪.‬‬ ‫أنواع الحاسبات والنظم المستخدمة ‪7,8‬‬ ‫‪ -7‬أنظمة الحواسيب الشخصية ‪:‬‬ ‫هي حاسبات غالبا تكون بمعالج واحد وشاشة ولوحة مفاتيح وتخدم شخصا واحدا‪.‬‬ ‫طبيعة نظام التشغيل‪:‬‬ ‫تركز أنظمة تشغيل هذا النوع من الحاسبات على خدمة مستخدم واحد ودعم تعدد البرامج بحيث يستطيع المستخدم تشغيل‬ ‫أكثر من برنامج في وقت واحد‪.‬‬ ‫أيضا يهدف هذا النوع من نظم التشغيل على توفير بيئة مالئمة للمستخدم واستجابة سريعة لطلبات المستخدم‪.‬‬ ‫أمثلة لهذا النوع نظام التشغيل ويندوز‪ ،‬ماكنتوش‪ ،‬لينكس‪ ،‬هذا النوع يسمى مستخدم واحد متعدد المهام ( ‪(Single user‬‬ ‫‪Multi-task‬‬ ‫‪ -8‬أنظمة الزمن الحقيق( ‪:)Real Time System‬‬ ‫هي حواسيب موجودة في أجهزة تحكم مثل‪( :‬أجهزة تجميع السيارات‪ ،‬إطالق الصواريخ‪ ،‬النظم الطبية‪ ،‬اإلنسان اآللي )‪.‬‬ ‫طبيعة نظام التشغيل‪:‬‬ ‫تتصف نظم التشغيل التي تدير مثل هذه الحواسيب بقيد زمني )حساسة تجاه الزمن حيث البد من أن يتم التنفيذ في فترة‬ ‫زمنية محددة‪ ،‬الن التنفيذ مرتبط بعمل يجب أن ينجز في وقت معين وقد يتسبب في تلف ما إن نفذ في وقت متأخر أو متقدم‬ ‫عن الزمن المحدد له‪.‬‬ ‫الشهية نظامي ( ‪)QNX & VXworks‬‬ ‫ر‬ ‫ومن أشهر أنظمة تشغيل الزمن الحقيقي‬ ‫أنواع الحاسبات والنظم المستخدمة ‪9‬‬ ‫‪ -9‬أنظمة البطاقات الذكية‪:‬‬ ‫البطاقات الذكية هي كروت بالستيكية بحجم البطاقة اإلئتمانية مزودة برقاقة الكترونية صغيرة لها القدرة على معالجة‬ ‫المعلومات‪ ،‬وهذا يعني انها تمتلك القدرة على استقبال البيانات او المدخالت ومعالجتها من خالل البرمجيات المثبتة على‬ ‫هذه الشريحة‪.‬تمتلك هذه البطاقة ذاكرة وطاقة تحويل إلكتروني تتخذ أساليب دفع مختلفة مثل الدفع اإللكتروني كبطاقة‬ ‫إئتمانية‪ ،‬التأمين الصحي‪ ،‬التعرف على الشخصية بدل البطاقة الشخصية وغيرها من المهام‪.‬‬ ‫شريحة البطاقة الذكية تستطيع معالجة البيانات بِاإلضافة إلى تخزينها‪.‬نظام التشغيل المصمم لهذا النوع من األجهزة يعتبر‬ ‫صغير جدا‪.‬‬ ‫األنظمة الموزعة ‪Distributed systems‬‬ ‫اعداد د‪ /‬معاذ عبده الصبري‬ ‫األنظمة الموزعة ‪Distributed systems‬‬ ‫األنظمة املوزعة ‪:Distributed systems‬‬ ‫هي أنظمة حاسوبية تتكون من جمموعة من األجهزة أو العقد املتصلة ببعضها عرب شبكة اتصال‪ ،‬وتعمل هذه األجهزة معاً لتحقيق هدف مشرتك‪.‬ميكن‬ ‫لألجهزة يف النظام املوزع أن تكون متباعدة جغرافيًا وتعمل بشكل متزامن ومتوازي‪.‬‬ ‫األنظمة املوزعة تطورت بشكل كبري على مر العقود‪ ،‬حيث لعبت دوراً مهماً يف تطوير تقنيات احلوسبة احلديثة‪.‬فيما يلي حملة تارخيية عن تطور‬ ‫األنظمة املوزعة‪:‬‬ ‫الستينات والسبعينات‪:‬‬ ‫األسس النظرية‪:‬‬ ‫بدأت األفكار األساسية لألنظمة املوزعة يف الستينات مع ظهور مفاهيم مثل مشاركة الوقت ‪Time-sharing‬واحلوسبة الشبكية‪.‬‬ ‫يف السبعينات‪ ،‬بدأ الباحثون مثل جيمس جوسلينغ من تطوير أوىل نظريات األنظمة املوزعة ومشاركة الوقت‪.‬‬ ‫شبكة أربانت ‪ARPANET‬‬ ‫يف أواخر الستينات‪ ،‬مت تطوير شبكة أربانت‪ ،‬وهي أول شبكة حتويل رزم‪ ،‬واليت كانت مقدمة لإلنرتنت‪.‬هذه الشبكة مكنت العديد من األجهزة من‬ ‫التواصل مع بعضها البعض‪.‬‬ ‫لمحه تاريخية األنظمة الموزعة‬ ‫الثمانينات‪:‬‬ ‫ظهور بروتوكوالت الشبكة‪:‬‬ ‫مت تطوير بروتوكوالت ‪TCP/IP‬اليت أصبحت األساس لالتصال بني األجهزة يف الشبكات املوزعة‪.‬‬ ‫يف هذا العقد‪ ،‬بدأت الشبكات احمللية ‪ LANs‬يف االنتشار‪ ،‬مما مسح لألجهزة بالتواصل بشكل أكثر فعالية‪.‬‬ ‫أنظمة امللفات املوزعة‪:‬‬ ‫ظهور أنظمة امللفات املوزعة مثل نظام )‪Andrew File System (AFS‬الذي طورته جامعة كارنيجي‬ ‫ميلون‪.‬‬ ‫نظم التشغيل املوزعة‪:‬‬ ‫تطوير أنظمة تشغيل موزعة مثل ‪ Amoeba‬و ‪Mach‬اليت قدمت بيئات تشغيلية تدعم احلوسبة املوزعة‪.‬‬ ‫لمحه تاريخية األنظمة الموزعة‬ ‫التسعينات‪:‬‬ ‫اإلنرتنت والويب‪:‬‬ ‫انتشار اإلنرتنت وتطور الويب أدى إىل زيادة احلاجة إىل أنظمة موزعة لدعم التطبيقات الشبكية مثل الربيد اإللكرتوني‪،‬‬ ‫الويب‪ ،‬وخدمات ‪FTP.‬‬ ‫ظهور بروتوكوالت وخدمات مثل ‪HTTP‬و‪DNS.‬‬ ‫احلوسبة املوازية‪:‬‬ ‫انتشار احلواسيب متعددة املعاجلات واحلواسيب العمالقة اليت تستخدم احلوسبة املوازية ملعاجلة البيانات بشكل أسرع‪.‬‬ ‫أنظمة قواعد البيانات املوزعة‪:‬‬ ‫تطوير أنظمة قواعد البيانات املوزعة مثل ‪Oracle RAC‬و‪ ،Microsoft SQL Server‬اليت مكنت من ختزين وإدارة‬ ‫البيانات عرب عدة عقد‪.‬‬ ‫لمحه تاريخية األنظمة الموزعة‬ ‫األلفية اجلديدة‪:‬‬ ‫احلوسبة السحابية‪:‬‬ ‫ظهور مفاهيم احلوسبة السحابية مع إطالق خدمات مثل )‪Amazon Web Services (AWS‬يف ‪.2006‬‬ ‫انتشار خدمات احلوسبة السحابية من قبل شركات مثل ‪ ،Microsoft ،Google‬و‪IBM.‬‬ ‫أنظمة امللفات املوزعة احلديثة‪:‬‬ ‫تطوير أنظمة ملفات موزعة جديدة مثل )‪Hadoop Distributed File System (HDFS‬اليت أصبحت أساسًا‬ ‫ملعاجلة البيانات الكبرية‪.‬‬ ‫خوارزميات اإلمجاع‪:‬‬ ‫تطوير خوارزميات إمجاع مثل ‪Paxos‬و ‪Raft‬لضمان االتساق يف األنظمة املوزعة‪.‬‬ ‫البلوكشني والعمالت الرقمية‪:‬‬ ‫ظهور تقنيات البلوكشني والعمالت الرقمية مثل البيتكوين‪ ،‬اليت تعتمد على أنظمة موزعة لتوفري بيئة موثوقة والمركزية‪.‬‬ ‫لمحه تاريخية األنظمة الموزعة‬ ‫العقد احلالي‪:‬‬ ‫إنرتنت األشياء ‪IoT‬‬ ‫توسع استخدام األجهزة املتصلة يف البيئات املنزلية والصناعية‪ ،‬مما يزيد من احلاجة إىل أنظمة موزعة إلدارة هذه األجهزة وتنسيق‬ ‫عملها‪.‬‬ ‫الذكاء االصطناعي والتعلم اآللي‪:‬‬ ‫استخدام األنظمة املوزعة لتدريب مناذج الذكاء االصطناعي والتعلم اآللي على جمموعات بيانات ضخمة‪.‬‬ ‫احلوسبة احلافة ‪ Edge Computing‬واحلوسبة الضبابية ‪Fog Computing‬‬ ‫تطوير تقنيات احلوسبة احلافة واحلوسبة الضبابية ملعاجلة البيانات بالقرب من املصدر‪ ،‬مما يقلل من التأخري وحيسن األداء‪.‬‬ ‫اخلالصة‪:‬‬ ‫تاريخ األنظمة املوزعة مليء باالبتكارات والتطورات اليت ساهمت يف تشكيل العامل الرقمي احلديث‪.‬من الشبكات األولية مثل أربانت إىل‬ ‫احلوسبة السحابية احلديثة وإنرتنت األشياء‪ ،‬األنظمة املوزعة أصبحت جزءاً أساسياً من البنية التحتية للتكنولوجيا يف مجيع أحناء‬ ‫العامل‪.‬‬ ‫اخلصائص واملميزات لألنظمة املوزعة‬ ‫األنظمة املوزعة تتمتع بالعديد من اخلصائص واملميزات اليت جتعلها مهمة ومفيدة يف جمموعة متنوعة من التطبيقات‪.‬ومن بني هذه‬ ‫اخلصائص واملميزات‪:‬‬ ‫‪.1‬الشفافية ‪Transparency‬‬ ‫الشفافية يف الوصول‪ :‬املستخدم ال يالحظ الفرق بني املوارد احمللية واملوارد املوزعة عرب الشبكة‪.‬‬ ‫الشفافية يف التوزيع‪ :‬النظام يظهر للمستخدم ككيان واحد بغض النظر عن كيفية توزيع مكوناته‪.‬‬ ‫الشفافية يف املوقع‪ :‬املستخدم ال حيتاج ملعرفة املوقع اجلغرايف للموارد‪.‬‬ ‫الشفافية يف اهلجرة‪ :‬ميكن نقل املوارد واخلدمات دون التأثري على املستخدم‪.‬‬ ‫الشفافية يف الفشل‪ :‬ميكن للنظام التعايف من الفشل دون تأثري كبري على املستخدمني‪.‬‬ ‫اخلصائص واملميزات لألنظمة املوزعة‬ ‫‪.2‬قابلية التوسع ‪Scalability‬‬ ‫ميكن إضافة أو إزالة عقد (أجهزة) بسهولة لتلبية زيادة أو نقصان يف حجم العمل دون التأثري على النظام ككل‪.‬‬ ‫‪.3‬املرونة والتوافر ‪Flexibility and availability‬‬ ‫النظام املوزع ميكنه التعامل مع فشل العقد أو األجهزة الفردية دون توقف النظام ككل‪ ،‬مما يزيد من توافر اخلدمات‪.‬‬ ‫‪.4‬التوازي واألداء ‪Parallelism and performance‬‬ ‫ميكن للنظام توزيع املهام على عدة عقد‪ ،‬مما يسمح بتنفيذ املهام بشكل متوازي وزيادة الكفاءة واألداء‪.‬‬ ‫‪.5‬التشارك يف املوارد ‪Sharing resources‬‬ ‫ميكن لألجهزة يف النظام املوزع مشاركة املوارد مثل الذاكرة واملعاجلات والبيانات‪ ،‬مما يعزز من استخدام املوارد بشكل فعال‪.‬‬ ‫‪.6‬املوثوقية ‪Reliability‬‬ ‫بفضل وجود نسخ متعددة من البيانات واخلدمات على عدة عقد‪ ،‬ميكن للنظام التعايف بسرعة من الفشل وحتقيق موثوقية أعلى‪.‬‬ ‫اخلصائص واملميزات لألنظمة املوزعة‬ ‫‪.7‬قابلية التكيف ‪Adaptability‬‬ ‫ميكن للنظام التكيف مع التغريات يف بيئة التشغيل‪ ،‬مثل زيادة عدد املستخدمني أو التغريات يف متطلبات األداء‪.‬‬ ‫‪.8‬التعاون ‪Cooperation‬‬ ‫األنظمة املوزعة تدعم التعاون بني العقد املختلفة‪ ،‬مما يسهل تنفيذ التطبيقات املعقدة اليت تتطلب تعاون بني عدة‬ ‫أجهزة‪.‬‬ ‫‪.10‬التوفري يف التكلفة ‪Cost saving‬‬ ‫األنظمة املوزعة متكن من استخدام أجهزة أقل تكلفة لتحقيق أداء عالي‪ ،‬مما يقلل من التكلفة اإلمجالية للنظام‪.‬‬ ‫التحديات والعيوب لألنظمة املوزعة‬ ‫األنظمة املوزعة على الرغم من مميزاتها العديدة‪ ،‬تواجه بعض التحديات والعيوب اليت ميكن أن تؤثر على أدائها وموثوقيتها‪.‬من بني هذه العيوب‪:‬‬ ‫‪.1‬التعقيد ‪Complexity‬‬ ‫التصميم والتطوير‪ :‬األنظمة املوزعة تتطلب تصميم وتطوير أكثر تعقيدًا مقارنة باألنظمة املركزية‪.‬جيب أخذ العديد من العوامل بعني االعتبار مثل التزامن‪،‬‬ ‫التوزيع‪ ،‬والفشل‪.‬‬ ‫الصيانة‪ :‬إدارة وصيانة األنظمة املوزعة أصعب نظرًا لتعقيد بنيتها‪.‬‬ ‫‪.2‬الفشل ‪Failure‬‬ ‫الفشل اجلزئي‪ :‬ميكن أن تتعرض العقد الفردية للفشل‪ ،‬مما يتطلب آليات معقدة للتعامل مع هذه األعطال وضمان استمرارية العمل‪.‬‬ ‫حتديد الفشل‪ :‬حتديد ومعرفة مصدر الفشل يف األنظمة املوزعة ميكن أن يكون صعبًا‪.‬‬ ‫‪.3‬األمان ‪Security‬‬ ‫نقاط الضعف األمنية‪ :‬األنظمة املوزعة تزيد من سطح اهلجوم‪ ،‬مما جيعلها أكثر عرضة للهجمات السيربانية‪.‬‬ ‫التشفري والتوثيق‪ :‬يتطلب تأمني االتصاالت والبيانات بني العقد املختلفة استخدام تقنيات تشفري وتوثيق قوية‪ ،‬مما يزيد من التعقيد‪.‬‬ ‫التحديات والعيوب لألنظمة املوزعة‬ ‫‪.4‬تزامن البيانات‬ ‫حتديث البيانات‪ :‬احلفاظ على تزامن البيانات بني العقد املختلفة ميكن أن يكون حتديًا‪ ،‬خاصة يف األنظمة اليت تتطلب حتديثات‬ ‫فورية أو شبه فورية‪.‬‬ ‫تضارب البيانات‪ :‬ميكن أن حتدث تضاربات يف البيانات بسبب الوصول املتزامن من قبل عدة عقد‪.‬‬ ‫‪.5‬التأخري يف الشبكة‬ ‫زمن االستجابة‪ :‬االتصاالت بني العقد يف النظام املوزع تعتمد على الشبكة‪ ،‬مما قد يؤدي إىل تأخري يف زمن االستجابة‪.‬‬ ‫عرض النطاق الرتددي‪ :‬استخدام الشبكة لنقل البيانات ميكن أن يستهلك عرض النطاق الرتددي‪ ،‬مما يؤثر على األداء‪.‬‬ ‫‪.6‬تكلفة اإلعداد والصيانة‬ ‫التكلفة املبدئية‪ :‬إعداد األنظمة املوزعة يتطلب استثمارات يف البنية التحتية والشبكات‪.‬‬ ‫الصيانة الدورية‪ :‬الصيانة الدورية واملتابعة املستمرة لألجهزة والشبكات تزيد من التكاليف‪.‬‬ ‫التحديات والعيوب لألنظمة املوزعة‬ ‫‪.7‬التوافق والتكامل‬ ‫توافق األنظمة‪ :‬حتقيق التوافق بني أنظمة التشغيل والتطبيقات املختلفة قد يكون صعبًا يف البيئة املوزعة‪.‬‬ ‫تكامل البيانات‪ :‬تكامل البيانات بني العقد املختلفة يتطلب جهودًا إضافية لضمان صحتها واكتماهلا‪.‬‬ ‫‪.8‬التوثيق واملراقبة‬ ‫مراقبة األداء‪ :‬مراقبة أداء النظام بأكمله ميكن أن يكون معقدًا ويتطلب أدوات متقدمة‪.‬‬ ‫التوثيق‪ :‬التوثيق اجليد مطلوب لفهم النظام والتعامل مع املشاكل عند حدوثها‪.‬‬ ‫هذه العيوب تتطلب اختاذ تدابري خاصة وإجراءات مناسبة لضمان أن األنظمة املوزعة تعمل بكفاءة وحتقق األهداف‬ ‫املرجوة منها‪.‬‬ ‫أمثلة على استخدام األنظمة املوزعة‪:‬‬ ‫احلوسبة السحابية‪ :‬مثل خدمات أمازون ويب سريفيس ‪ ،AWS‬مايكروسوفت أزور ‪ ،Azure‬وجوجل كالود ‪Google‬‬ ‫‪Cloud.‬‬ ‫قواعد البيانات املوزعة‪ :‬مثل كاساندرا ‪ ،Cassandra‬و موجنو دي بي ‪. MongoDB‬‬ ‫أنظمة امللفات املوزعة‪ :‬مثل نظام ملفات جوجل ‪Google File System‬وهادووب ‪. Hadoop‬‬ ‫تساعد هذه اخلصائص يف جعل األنظمة املوزعة مناسبة جملموعة واسعة من التطبيقات يف جماالت مثل البنوك‪ ،‬التجارة‬ ‫اإللكرتونية‪ ،‬وسائل اإلعالم‪ ،‬األلعاب‪ ،‬والتطبيقات العلمية‪.‬‬ ‫المكونات األساسية لألنظمة الموزعة ‪Distributed systems‬‬ ‫األنظمة املوزعة تتكون من عدة مكونات أساسية تعمل معًا لتحقيق التفاعل والتواصل بني العقد املختلفة يف النظام‪.‬هذه املكونات‬ ‫تشمل‪:‬‬ ‫‪.1‬العقد ‪Nodes‬‬ ‫األجهزة‪ :‬ميكن أن تكون هذه العقد حواسيب شخصية‪ ،‬خوادم‪ ،‬أو حتى أجهزة استشعار‪.‬كل عقدة قادرة على معاجلة البيانات‬ ‫والتواصل مع العقد األخرى‪.‬‬ ‫‪.2‬الشبكة ‪Network‬‬ ‫البنية التحتية للشبكة‪ :‬تتضمن الكابالت‪ ،‬احملوالت‪ ،‬واملوجهات اليت تتيح االتصال بني العقد املختلفة‪.‬‬ ‫الربوتوكوالت‪ :‬مثل ‪ ،TCP/IP‬اليت تُستخدم لتحديد كيفية إرسال واستقبال البيانات عرب الشبكة‪.‬‬ ‫‪.3‬الربجميات الوسطية ‪Middleware‬‬ ‫الربجميات اليت تعمل بني النظام التشغيلي والتطبيقات‪ :‬تسهل االتصاالت‪ ،‬إدارة البيانات‪ ،‬واملزامنة بني العقد‪.‬‬ ‫أمثلة على الربجميات الوسطية‪ ،Message Queues ،RPC ،CORBA :‬و‪SOAP.‬‬ ‫المكونات األساسية لألنظمة الموزعة ‪Distributed systems‬‬ ‫‪.4‬أنظمة التشغيل ‪Operating Systems‬‬ ‫إدارة املوارد احمللية‪ :‬كل عقدة تعمل بنظام تشغيل يتحكم يف مواردها احمللية مثل املعاجل‪ ،‬الذاكرة‪ ،‬والتخزين‪.‬‬ ‫توفري خدمات الشبكة‪ :‬تسهيل االتصال بالشبكة وتوفري اخلدمات األساسية للتطبيقات‪.‬‬ ‫‪.5‬التطبيقات ‪Applications‬‬ ‫الربامج اليت تُنفذ على العقد‪ :‬تشمل التطبيقات املوزعة اليت تتطلب التعاون بني العقد املختلفة‪ ،‬مثل قواعد البيانات املوزعة‪ ،‬أنظمة امللفات املوزعة‪،‬‬ ‫وتطبيقات الويب‪.‬‬ ‫‪.6‬أنظمة إدارة البيانات ‪Data Management Systems‬‬ ‫قواعد البيانات املوزعة‪ :‬ختزين البيانات وإدارتها عرب عدة عقد لضمان التوافر والتكرار‪.‬‬ ‫آليات املزامنة‪ :‬ضمان تزامن البيانات بني العقد املختلفة ملنع التضاربات‪.‬‬ ‫‪.7‬آليات التزامن ‪Synchronization Mechanisms‬‬ ‫التزامن بني العقد‪ :‬استخدام األقفال ‪ ،semaphores ،Locks‬أو اآلليات األخرى لضمان التزامن بني العمليات اليت تُنفذ على العقد املختلفة‪.‬‬ ‫حتديد الوقت‪ :‬استخدام بروتوكوالت مثل ‪NTP‬لضمان تزامن الوقت بني العقد‪.‬‬ ‫المكونات األساسية لألنظمة الموزعة ‪Distributed systems‬‬ ‫‪.8‬آليات االتساق ‪Consistency Mechanisms‬‬ ‫منوذج االتساق‪ :‬حتديد كيفية حتقيق التوافق بني البيانات على العقد املختلفة‪ ،‬مثل اتساق النظام الصارم‪ ،‬اتساق القراءة‪-‬الكتابة‪ ،‬أو االتساق النهائي‪.‬‬ ‫خوارزميات االتساق‪ :‬مثل ‪Paxos‬و‪ ،Raft‬لتحقيق االتساق يف األنظمة املوزعة‪.‬‬ ‫‪.9‬إدارة الفشل ‪Failure Management‬‬ ‫اكتشاف الفشل‪ :‬آليات ملراقبة واكتشاف العقد الفاشلة يف النظام‪.‬‬ ‫التعايف من الفشل‪ :‬آليات لضمان استمرار عمل النظام حتى عند حدوث فشل يف بعض العقد‪ ،‬مثل إعادة توزيع املهام والبيانات‪.‬‬ ‫‪.10‬موازن التحميل ‪Load Balancer‬‬ ‫توزيع احلمل‪ :‬توزيع الطلبات واملهام بشكل متساوٍ عرب العقد املختلفة لضمان األداء األمثل وجتنب التحميل الزائد على عقدة واحدة‪.‬‬ ‫‪.11‬األمان ‪Security‬‬ ‫التوثيق والتفويض‪ :‬ضمان أن العقد املتصلة هي عقد موثوقة ولديها الصالحيات الالزمة‪.‬‬ ‫التشفري‪ :‬تأمني البيانات أثناء نقلها بني العقد املختلفة‪.‬‬ ‫كشف التسلل‪ :‬أنظمة ملراقبة النشاط غري املألوف واكتشاف التهديدات األمنية‪.‬‬ ‫المكونات األساسية لألنظمة الموزعة ‪Distributed systems‬‬ ‫المكونات األساسية لألنظمة الموزعة ‪Distributed systems‬‬ ‫‪.12‬واجهات الربجمة التطبيقية ‪APIs‬‬ ‫واجهات الربجمة‪ :‬تتيح للتطبيقات على العقد املختلفة التفاعل مع الربجميات الوسطية واخلدمات األخرى يف النظام‪.‬‬ ‫‪.13‬أنظمة املراقبة واإلدارة ‪Monitoring and Management Systems‬‬ ‫مراقبة األداء‪ :‬تتبع أداء النظام واكتشاف االختناقات‪.‬‬ ‫إدارة املوارد‪ :‬إدارة توزيع املوارد مثل املعاجلة والذاكرة بني العقد املختلفة‪.‬‬ ‫هذه املكونات تتكامل معًا لتشكيل نظام موزع فعال وقابل للتوسع واملوثوقية‪ ،‬وتلعب كل مكونة دورًا حيويًا يف حتقيق األهداف املرجوة من النظام املوزع‪.‬‬

Use Quizgecko on...
Browser
Browser