بالعربي

نظام التشغيل الموزع (Distributed Operation System)

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

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

 

وصف لنظام التشغيل الموزع

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

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

فصل وظائف الحد الأدنى من مستوى النظام من الخدمات النموذجية الإضافية على مستوى المستخدم توفر للمستخدم مفهموم “الفصل بين الآلية والسياسة.”  مصطلحي الآلية والسياسة يمكن تفسيرهما ببساطة بأنهما “كيف يتم اتخاذ أي اجراء” مقابل “لماذا يتم اتخاذ أي اجراء”. هذا الفصل يزيد من المرونة وقابلية التطوير.

 

النواة

في كل جزء من النظام الكلي (و بالعادة يطلق على هذا الجزء اسم العقدة)، توفر النواة مجموعة كاملة من الحد الأدنى من الأدوات المساعدة على مستوى العقدة و الضرورية لتشغيل الأجهزة والموارد الكامنة في العقدة. وتشمل هذه الآليات برامج المخصصات و الإدارة والتصرف في الموارد عقدة، والعمليات، والاتصالات، وظائف دعم إدارة الإدخال والإخراج. و في داخل النواة، النظام الفرعي للاتصالات هو من أهم الأولويات لنظام التشغيل الموزع.

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

 

مكونات إدارة النظام

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

طبيعة التوزيع لنظام التشغيل تتطلب خدمات إضافية لمساندة مسؤوليات العقدة في النظام العالمي. بالاضافة، مكونات إدارة النظام تقبل مسؤوليات “دفاعية” من الموثوقية، والتوافر، والمثابرة. ويمكن لهذه المسؤوليات أن تتعارض مع بعضها البعض. من الممكن استخدام نهج متناسق، و منظور متوازن، وفهم عميق للنظام العام للمساعدة في تحديد العوائد المتناقصة. الفصل بين السياسة والآلية تخفف من هذه الصراعات.

 

سعر التعقيد

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

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

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

 

تاريخ أنظمة التشغيل الموزعة

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

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

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

 

أنظمة التشغيل الموزعة في الخمسينات

نظام الـ DYSEAC

كان واحدا من الجهود الأولى في أنظمة التشغيل الموزعة يسمى بـ DYSEAC، و هو كمبيوتر متزامن للأغراض العامة. في واحدة من أقدم منشورات رابطة آلات الحوسبة، في أبريل 1954، باحث في المكتب الوطني للمعايير – والآن يسمى بالمعهد الوطني للمعايير والتكنولوجيا (NIST) – قدم مواصفات مفصلة للـ DYSEAC. ركزت مقدمة البحث على متطلبات التطبيقات المقصودة، بما في ذلك الاتصالات المرنة، ولكن أيضا ذكر أجهزة الكمبيوتر الأخرى:

“وأخيرا، يمكن للأجهزة الخارجية والتي تشمل أجهزة كمبيوتر أخرى، بنطلق واسع، والتي تستخدم نفس اللغة الرقمية المستخدمة على نظام DYSEAC. على سبيل المثال، يمكن تسخير SEAC أو أجهزة الكمبيوتر الأخرى المشابهة لنظام DYSEAC لإستخدام برامج تنسيقية، يمكن أن تكون للعمل معا عن طريق التعاون المتبادل في مهمة مشتركة. ونتيجة لذلك، يمكن استخدام جهاز الكمبيوتر لتنسيق الأنشطة المتنوعة لجميع الأجهزة الخارجية في عملية الفرقة الفعالة.”

ناقشت المواصفات بنية الأنظمة متعددة الحاسبات، وفضلت استخدام مصطلح “النظير إلى نظير” بدلا من “السيد والعبد”.

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

نظام الـ Lincoln TX-2

 

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

النظام يعمل على تقنية البرامج متعددة التسلسل. هذه التقنية تسمح بعدادات متعددة للبرامج، و كان كل عداد يشير على واحدة من 32 من المتتاليات المحتملة من التعليمات البرمجية في البرنامج. يمكن خلط هذه المتتاليات حسب الأولوية بشكل واضح وتنفيذهم في وقت واحد، مما يؤثر ليس فقط على العملية الحسابية، ولكن أيضا في التحكم في التدفق من المتتاليات والتبديل ما بين الأجهزة أيضا.

كما كان موجودا في نظام DYSEAC، كان من الممكن أن تعمل الأجهزة بشكل منفصل يمكن أن تعمل في وقت واحدبزيادة الإنتاجية. وكانت القوة الكاملة للوحدة المركزية المتوفرة إلى أي جهاز. كان TX-2 مثال آخر على النظام التحكم الموزع، كما أنا الوحدة المركزية لم يكن لها سيطرة مخصصة.

المراجع

 

  1. Tanenbaum, Andrew S (September 1993). “Distributed operating systems anno 1992. What have we learned so far?”. Distributed Systems Engineering. pp. 3–10. doi:10.1088/0967-1846/1/1/001.
  2. Jump up^ Nutt, Gary J. (1992). Centralized and Distributed Operating Systems. Prentice Hall. ISBN 978-0-13-122326-4.
  3. ^ Jump up to:a b c d e f Gościński, Andrzej (1991). Distributed Operating Systems: The Logical Design. Addison-Wesley Pub. Co. ISBN 978-0-201-41704-3.
  4. Jump up^ Fortier, Paul J. (1986). Design of Distributed Operating Systems: Concepts and Technology. Intertext Publications.
  5. Jump up^ Hansen, Per Brinch, ed. (2001). Classic Operating Systems: From Batch Processing to Distributed Systems. Springer. ISBN 978-0-387-95113-3.
  6. Jump up^ Using LOTOS for specifying the CHORUS distributed operating system kernel Pecheur, C. 1992. Using LOTOS for specifying the CHORUS distributed operating system kernel. Comput. Commun. 15, 2 (Mar. 1992), 93-102.
  7. Jump up^ COOL: kernel support for object-oriented environments Habert, S. and Mosseri, L. 1990. COOL: kernel support for object-oriented environments. In Proceedings of the European Conference on Object-Oriented Programming on Object-Oriented Programming Systems, Languages, and Applications (Ottawa, Canada). OOPSLA/ECOOP ’90. ACM, New York, NY, 269-275.
  8. ^ Jump up to:a b c d e Sinha, Pradeep Kumar (1997). Distributed Operating Systems: Concepts and Design. IEEE Press. ISBN 978-0-7803-1119-0.
  9. ^ Jump up to:a b c d Galli, Doreen L. (2000). Distributed Operating Systems: Concepts and Practice. Prentice Hall. ISBN 978-0-13-079843-5.
  10. ^ Jump up to:a b c d Chow, Randy; Theodore Johnson (1997). Distributed Operating Systems and Algorithms. Addison Wesley. ISBN 978-0-201-49838-7.
  11. Jump up^ Surajbali, B., Coulson, G., Greenwood, P., and Grace, P. 2007. Augmenting reflective middleware with an aspect orientation support layer. In Proceedings of the 6th international Workshop on Adaptive and Reflective Middleware: Held At the ACM/IFIP/USENIX international Middleware Conference (Newport Beach, CA, November 26–30, 2007). ARM ’07. ACM, New York, NY, 1-6.
  12. Jump up^ Leiner, A. L. 1954. System Specifications for the DYSEAC. J. ACM 1, 2 (Apr. 1954), 57-81.
  13. ^ Jump up to:a b Forgie, J. W. 1957. The Lincoln TX-2 input-output system. In Papers Presented At the February 26–28, 1957, Western Joint Computer Conference: Techniques For Reliability (Los Angeles, California, February 26–28, 1957). IRE-AIEE-ACM ’57 (Western). ACM, New York, NY, 156-160.
  14. ^ Jump up to:a b Lee, C. Y. 1962. Intercommunicating cells, basis for a distributed logic computer. In Proceedings of the December 4–6, 1962, Fall Joint Computer Conference (Philadelphia, Pennsylvania, December 04–06, 1962). AFIPS ’62 (Fall).
  15. Jump up^ Dreyfuss, P. 1958. System design of the Gamma 60. In Proceedings of the May 6–8, 1958, Western Joint Computer Conference: Contrasts in Computers (Los Angeles, California, May 06–08, 1958). IRE-ACM-AIEE ’58 (Western). ACM, New York, NY, 130-133.
  16. Jump up^ Leiner, A. L., Notz, W. A., Smith, J. L., and Weinberger, A. 1958. Organizing a network of computers to meet deadlines. In Papers and Discussions Presented At the December 9–13, 1957, Eastern Joint Computer Conference: Computers with Deadlines To Meet (Washington, D.C., December 09–13, 1957). IRE-ACM-AIEE ’57
  17. Jump up^ Leiner, A. L., Smith, J. L., Notz, W. A., and Weinberger, A. 1958. PILOT, the NBS multicomputer system. In Papers and Discussions Presented At the December 3–5, 1958, Eastern Joint Computer Conference: Modern Computers: Objectives, Designs, Applications (Philadelphia, Pennsylvania, December 03–05, 1958). AIEE-ACM-IRE ’58 (Eastern). ACM, New York, NY, 71-75.
  18. Jump up^ Bauer, W. F. 1958. Computer design from the programmer’s viewpoint. In Papers and Discussions Presented At the December 3–5, 1958, Eastern Joint Computer Conference: Modern Computers: Objectives, Designs, Applications (Philadelphia, Pennsylvania, December 03–05, 1958). AIEE-ACM-IRE ’58 (Eastern). ACM, New York, NY, 46-51.
  19. Jump up^ Leiner, A. L., Notz, W. A., Smith, J. L., and Weinberger, A. 1959. PILOT—A New Multiple Computer System. J. ACM 6, 3 (Jul. 1959), 313-335.
  20. Jump up^ Estrin, G. 1960. Organization of computer systems: the fixed plus variable structure computer. In Papers Presented At the May 3–5, 1960, Western Joint IRE-AIEE-ACM Computer Conference (San Francisco, California, May 03–05, 1960). IRE-AIEE-ACM ’60 (Western). ACM, New York, NY, 33-40.
  21. Jump up^ Martin H. Weik, “A Third Survey of Domestic Electronic Digital Computing Systems,” Ballistic Research Laboratories Report No. 1115, pg. 234-5, Aberdeen Proving Ground, Maryland, March 1961
  22. Jump up^ Mellor-Crummey, J. M. and Scott, M. L. 1991. Algorithms for scalable synchronization on shared-memory multiprocessors. ACM Trans. Comput. Syst. 9, 1 (Feb. 1991), 21-65.
  23. Jump up^ Baker, M. G., Hartman, J. H., Kupfer, M. D., Shirriff, K. W., and Ousterhout, J. K. 1991. Measurements of a distributed file system. In Proceedings of the Thirteenth ACM Symposium on Operating Systems Principles (Pacific Grove, California, United States, October 13–16, 1991). SOSP ’91. ACM, New York, NY, 198-212.
  24. Jump up^ Li, K. and Hudak, P. 1989. Memory coherence in shared virtual memory systems. ACM Trans. Comput. Syst. 7, 4 (Nov. 1989), 321-359.
  25. Jump up^ Garcia-Molina, H. and Salem, K. 1987. Sagas. In Proceedings of the 1987 ACM SIGMOD international Conference on Management of Data (San Francisco, California, United States, May 27–29, 1987). U. Dayal, Ed. SIGMOD ’87. ACM, New York, NY, 249-259.
  26. Jump up^ Harris, T., Marlow, S., Peyton-Jones, S., and Herlihy, M. 2005. Composable memory transactions. In Proceedings of the Tenth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (Chicago, IL, USA, June 15–17, 2005). PPoPP ’05. ACM, New York, NY, 48-60.
  27. Jump up^ Herlihy, M. and Moss, J. E. 1993. Transactional memory: architectural support for lock-free data structures. In Proceedings of the 20th Annual international Symposium on Computer Architecture (San Diego, California, United States, May 16–19, 1993). ISCA ’93. ACM, New York, NY, 289-300.
  28. Jump up^ Herlihy, M., Luchangco, V., Moir, M., and Scherer, W. N. 2003. Software transactional memory for dynamic-sized data structures. In Proceedings of the Twenty-Second Annual Symposium on Principles of Distributed Computing (Boston, Massachusetts, July 13–16, 2003). PODC ’03. ACM, New York, NY, 92-101.
  29. Jump up^ Shavit, N. and Touitou, D. 1995. Software transactional memory. In Proceedings of the Fourteenth Annual ACM Symposium on Principles of Distributed Computing (Ottawa, Ontario, Canada, August 20–23, 1995). PODC ’95. ACM, New York, NY, 204-213.
  30. Jump up^ Kubiatowicz, J., Bindel, D., Chen, Y., Czerwinski, S., Eaton, P., Geels, D., Gummadi, R., Rhea, S., Weatherspoon, H., Wells, C., and Zhao, B. 2000. OceanStore: an architecture for global-scale persistent storage. In Proceedings of the Ninth international Conference on Architectural Support For Programming Languages and Operating Systems (Cambridge, Massachusetts, United States). ASPLOS-IX. ACM, New York, NY, 190-201.
  31. Jump up^ Gifford, D. K. 1979. Weighted voting for replicated data. In Proceedings of the Seventh ACM Symposium on Operating Systems Principles (Pacific Grove, California, United States, December 10–12, 1979). SOSP ’79. ACM, New York, NY, 150-162
  32. Jump up^ Dwork, C., Lynch, N., and Stockmeyer, L. 1988. Consensus in the presence of partial synchrony. J. ACM 35, 2 (Apr. 1988), 288-323.
  33. Jump up^ Lamport, L., Shostak, R., and Pease, M. 1982. The Byzantine Generals Problem. ACM Trans. Program. Lang. Syst. 4, 3 (Jul. 1982), 382-401.
  34. Jump up^ Schlichting, R. D. and Schneider, F. B. 1983. Fail-stop processors: an approach to designing fault-tolerant computing systems. ACM Trans. Comput. Syst. 1, 3 (Aug. 1983), 222-238.
  35. Jump up^ Chandy, K. M. and Lamport, L. 1985. Distributed snapshots: determining global states of distributed systems. ACM Trans. Comput. Syst. 3, 1 (Feb. 1985), 63-75.
  36. Jump up^ Strom, R. and Yemini, S. 1985. Optimistic recovery in distributed systems. ACM Trans. Comput. Syst. 3, 3
  37. Jump up^
  38. Jump up^ Tanenbaum, Andrew S. (1995). Distributed Operating Systems. Prentice Hall. ISBN 978-0-13-219908-7.
  39. Jump up^ L.B. Ryzhyk, A.Y. Burtsev. Architectural design of dE1 distributed operating system. System Research and Information Technologies international scientific and technical journal, October 2004, Kiev, Ukraine.
  40. Jump up^ Vinter, S. T. and Schantz, R. E. 1986. The Cronus distributed operating system. In Proceedings of the 2nd Workshop on Making Distributed Systems Work (Amsterdam, Netherlands, September 08–10, 1986). EW 2. ACM, New York, NY, 1-3.
  41. Jump up^ Ramesh, K. S. 1988. Design and development of MINIX distributed operating system. In Proceedings of the 1988 ACM Sixteenth Annual Conference on Computer Science (Atlanta, Georgia, United States). CSC ’88. ACM, New York, NY, 685.
  42. Jump up^ Whitaker, A., Shaw, M., and Gribble, S. D. 2002. In Proceedings of the 5th Symposium on Operating Systems Design and Implementation
  43. Jump up^ Baumann, A., Barham, P., Dagand, P., Harris, T., Isaacs, R., Peter, S., Roscoe, T., Schüpbach, A., and Singhania, A. 2009. In Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles (Big Sky, Montana, USA, October 11–14, 2009). SOSP ’09.
  44. Jump up^ S. Boyd-Wickizer, H. Chen, R. Chen, Y. Mao, F. Kashoek, R. Morris, A. Pesterev, L. Stein, M. Wu, Y. Dai, Y. Zhang, and Z. Zhang. Proceedings of the 2008 Symposium on Operating Systems Design and Implementation (OSDI), December 2008.
  45. Jump up^ Almaless, G. and Wajsbürt, F. 2011. In Proceedings of the 5th national seminar of GDR SoC-SIP, Lyon, France, 2011.
  46. Jump up^ Nightingale, E. B., Hodson, O., McIlroy, R., Hawblitzel, C., and Hunt, G. 2009. In Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles (Big Sky, Montana, USA, October 11–14, 2009). SOSP ’09.
  47. Jump up^ Rose Liu, Kevin Klues, and Sarah Bird, University of California at Berkeley; Steven Hofmeyr, Lawrence Berkeley National Laboratory; Krste Asanović and John Kubiatowicz, University of California at Berkeley. HotPar09.

اسم المترجم: خالد الشريف

اترك تعليق

آخر المقالات