OpenStep

من ويكيبيديا، الموسوعة الحرة
اذهب إلى الملاحة اذهب الى البحث
OpenStep
المطور (ق)نيكست ، صن مايكروسيستمز
الإصدار الأولي19 أكتوبر 1994 ؛ قبل 27 عاما ( 1994/10/19 )
كتبت فيج موضوعية
نظام التشغيلسولاريس . نظام التشغيل Windows NT ؛ أنظمة تشغيل شبيهة بـ Unix مع نواة Mach
برنامجIA-32 ، PA-RISC ، SPARC
متوفر فيإنجليزي
نوعواجهة برمجة تطبيق
موقع إلكترونيwww .gnustep .org / resources / OpenStepSpec / OpenStepSpec .html

OpenStep عبارة عن مواصفات واجهة برمجة تطبيقات (API) غير صالحة لاستخدامها في نظام تشغيل قديم موجه للكائنات ، مع الهدف الأساسي المتمثل في تقديم بيئة شبيهة بـ NeXTSTEP على أنظمة تشغيل غير NeXTSTEP. تم تطوير OpenStep بشكل أساسي بواسطة NeXT مع Sun Microsystems ، للسماح بتطوير التطبيقات المتقدمة على أنظمة تشغيل Sun ، وتحديدًا Solaris . أنتجت NeXT إصدارًا من OpenStep لنظام التشغيل Unix الخاص بها المستند إلى Mach ، وهو منمق كـ OPENSTEP ، [1] بالإضافة إلى إصدار لـ Windows NT . المكتبات البرامج التي يتم شحنها مع OPENSTEP هي مجموعة شاملة من مواصفات OpenStep الأصلية ، بما في ذلك العديد من الميزات من NeXTSTEP الأصلي.

التاريخ

في العصر المبكر من تاريخ Sun Microsystems ، تمت برمجة آلات Sun بمستوى منخفض نسبيًا لإجراء مكالمات مباشرة إلى نظام تشغيل Unix الأساسي وإنتاج واجهة مستخدم رسومية (GUI) باستخدام نظام X11 . أدى ذلك إلى برمجة معقدة حتى بالنسبة للمشاريع البسيطة. تم إجراء محاولة لمعالجة هذا باستخدام نموذج برمجة موجه للكائنات في منتصف الثمانينيات من القرن الماضي باستخدام نظام النوافذ NeWS من Sun ، ولكن الجمع بين واجهة برمجة التطبيقات المعقدة (API) والأداء الضعيف بشكل عام أدى إلى القليل من الاستخدام في العالم الحقيقي والنظام. تم التخلي عنها في النهاية.

ثم بدأت صن بالبحث عن خيارات أخرى. تم اعتبار Taligent على أنه منافس في نظام التشغيل والأسواق الموضوعة ، وكانت Microsoft's Cairo على الأقل اعتبارًا ، حتى بدون أي إصدارات منتج من أي منهما. غالبًا ما تمت مقارنة حداثة Taligent النظرية بمنصة NeXT القديمة ولكن الناضجة والمُؤسّسة تجاريًا. عقدت Sun اجتماعات استكشافية مع Taligent قبل اتخاذ قرار بشأن بناء إطار تطبيق OpenStep بالشراكة مع NeXT باعتباره "خطوة استباقية ضد Taligent والقاهرة". Bud Tribble ، مصمم مؤسس لماكنتوشو NeXTStep ، كان الآن نائب رئيس SunSoft لمنتجات الكائنات لقيادة هذا القرار. تضمنت الشراكة لعام 1993 استثمارًا بقيمة 10 ملايين دولار من Sun إلى NeXT. وُصفت الصفقة بأنها "أول خبر سار غير محفور في مجتمع NeXT في السنوات الأربع الماضية". [2]

كان المفهوم الأساسي هو أخذ نسخة مختصرة من طبقات كائن نظام التشغيل NeXTSTEP وتكييفها لتعمل على نظام تشغيل Sun's Solaris ، وبشكل أكثر تحديدًا ، Solaris على أجهزة تعتمد على SPARC . كانت معظم جهود OpenStep تهدف إلى تجريد تلك الأجزاء من NeXTSTEP التي تعتمد على وجود أجهزة خاصة بـ Mach أو NeXT. نتج عن ذلك نظام أصغر يتكون بشكل أساسي من Display PostScript ووقت تشغيل Objective-C والمترجمين ومعظم مكتبات NeXTSTEP Objective-C. لم يتم تضمين نظام التشغيل الأساسي ، أو نظام العرض ذي المستوى الأدنى.

قال ستيف جوبز: "نحن متقدمون اليوم ، لكن السباق لم ينته بعد. ... [في عام 1996] ستكون القاهرة متخلفة جدًا ، وستتأخر تاليجنت كثيرًا." قال سكوت مكنيلي ، الرئيس التنفيذي لشركة Sun ، "ليس لدينا بوليصة تأمين. لقد اتخذنا قرارًا حازمًا من شركة واحدة وبنية واحدة ، وليس مثل حصول Taligent على زوجة من خلال الاشتراك في HP." [2] : 13 

تم نشر المسودة الأولى من API بواسطة NeXT في منتصف عام 1994. في وقت لاحق من ذلك العام ، قاموا بإصدار نسخة متوافقة مع OpenStep من NeXTSTEP كـ OPENSTEP ، مدعومة على العديد من منصاتهم بالإضافة إلى أنظمة Sun SPARC. قدمت NeXT مواصفات OpenStep إلى هيئات معايير الكائنات في الصناعة. [2] واجهة OpenStep API الرسمية ، التي نُشرت في سبتمبر 1994 ، كانت أول من قسم واجهة برمجة التطبيقات بين Foundation و Application Kit وأول من استخدم بادئة "NS". [3] تستخدم الإصدارات القديمة من NeXTSTEP بادئة "NX" وتحتوي فقط على Application Kit ، اعتمادًا على أنواع Unix libc القياسية لهياكل البيانات منخفضة المستوى. ظل OPENSTEP منتج نظام التشغيل الأساسي لشركة NeXT حتى تم شراء الشركة بواسطة كمبيوتر Appleفي عام 1997. تم دمج OPENSTEP مع تقنيات من نظام التشغيل Mac الكلاسيكي الحالي لإنتاج نظام التشغيل Mac OS X. يعد نظام iOS الخاص بـ iPhone و iPad من سليل OPENSTEP ، ولكنه يستهدف الأجهزة التي تعمل باللمس.

اعتمدت Sun في الأصل بيئة OpenStep بقصد تكملة نظام Sun's المتوافق مع CORBA ، Solaris NEO (المعروف سابقًا باسم Project DOE) ، من خلال توفير مجموعة أدوات واجهة مستخدم موجهة للكائنات لاستكمال سباكة CORBA الموجهة للكائنات. [2] تضمن المنفذ دمج OpenStep AppKit مع طبقة Display PostScript لخادم Sun X11 ، مما يجعل AppKit متسامحًا مع الكود متعدد الخيوط (نظرًا لأن Project DOE كان بطبيعته متعدد الخيوط بشكل كبير) ، وتنفيذ برنامج Solaris الخفي لمحاكاة السلوك من منافذ Mach ، لتوسيع مترجم SunPro C ++ لدعم Objective-C باستخدام وقت تشغيل ObjC الخاص بـ NeXT ، وكتابة مدير نوافذ X11لتنفيذ شكل وأسلوب NeXTSTEP قدر الإمكان ، ودمج أدوات تطوير NeXT ، مثل Project Builder و Interface Builder ، مع مترجم SunPro. من أجل توفير بيئة مستخدم نهائي كاملة ، نقلت Sun أيضًا إصدارات NeXTSTEP-3.3 للعديد من تطبيقات المستخدم النهائي ، بما في ذلك Mail.app و Preview.app و Edit.app و Workspace Manager و Dock .

تم لاحقًا تقسيم أجزاء OpenStep و CORBA من المنتجات ، وتم إصدار NEO في أواخر عام 1995 بدون بيئة OpenStep. في مارس 1996 ، أعلنت Sun عن Joe ، وهو منتج لدمج NEO مع Java . قامت Sun بشحن إصدار تجريبي من بيئة OpenStep لـ Solaris في 22 يوليو 1996 ، [4] وجعلته متاحًا مجانًا للتنزيل في أغسطس 1996 للاستخدام غير التجاري ، وللبيع في سبتمبر 1996. تم شحن OpenStep / Solaris فقط من أجل هندسة SPARC.

الوصف

يختلف OpenStep عن NeXTSTEP من نواحٍ مختلفة:

تحدد مواصفات OpenStep API ثلاثة مكونات رئيسية: Foundation Kit ، إطار عمل البرنامج ؛ مجموعة التطبيقات وواجهة المستخدم الرسومية والواجهة الأمامية للرسومات ؛ وعرض PostScript ، وهو نظام رسومات ثنائي الأبعاد (لرسم النوافذ والرسومات الأخرى على الشاشة).

البناء على OpenStep

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

من بين هذه الحزم كانت الكائنات الموزعة المحمولة (PDO) من بين هذه الحزم الأساسية. كان PDO في الأساس إصدارًا أكثر "تجريدًا" من OpenStep يحتوي فقط على تقنيات Foundation Kit ، جنبًا إلى جنب مع المكتبات الجديدة لتوفير الاستدعاء عن بُعد مع القليل جدًا من التعليمات البرمجية. على عكس OpenStep ، الذي حدد نظام تشغيل يمكن تشغيل التطبيقات فيه ، تم تجميع المكتبات بموجب PDO في التطبيق نفسه ، مما أدى إلى إنشاء تطبيق "أصلي" مستقل لمنصة معينة. كانت PDO صغيرة بما يكفي لتكون محمولة بسهولة ، وتم إصدار إصدارات لجميع بائعي الخوادم الرئيسيين.

في منتصف التسعينيات ، أخذ طاقم NeXT في كتابة حلول لمقالات مجلة CORBA المختلفة في بضعة أسطر من التعليمات البرمجية ، في حين أن المقالة الأصلية ستملأ عدة صفحات. على الرغم من أن استخدام PDO يتطلب تثبيت قدر كبير من التعليمات البرمجية الداعمة (Objective-C والمكتبات) ، إلا أن تطبيقات PDO كانت مع ذلك أصغر بكثير من حلول CORBA المماثلة ، عادةً ما بين نصف إلى ثلث الحجم.

قدمت D'OLE المماثلة نفس أنواع الخدمات ، لكنها قدمت الكائنات الناتجة ككائنات COM ، بهدف السماح للمبرمجين بإنشاء خدمات COM تعمل على منصات عالية الطاقة ، يتم استدعاؤها من تطبيقات Microsoft Windows . على سبيل المثال ، يمكن للمرء تطوير تطبيق نمذجة مالية عالي القوة باستخدام D'OLE ، ثم الاتصال به مباشرة من داخل Microsoft Excel . عندما تم إصدار D'OLE لأول مرة ، كان OLE بمفرده يتواصل فقط بين التطبيقات التي تعمل على جهاز واحد. أتاحت PDO لشركة NeXT إظهار حديث Excel مع تطبيقات Microsoft الأخرى عبر الشبكة قبل أن تتمكن Microsoft نفسها من تنفيذ هذه الوظيفة (DCOM).

تم تطوير حزمة أخرى على OpenStep وهي Enterprise Objects Framework (EOF) ، وهو منتج قوي للغاية (في الوقت الحالي) لرسم خرائط الكائنات . أصبحت EOF تحظى بشعبية كبيرة في سوق المؤسسات ، ولا سيما في القطاع المالي حيث تسبب OPENSTEP في حدوث ثورة بسيطة. [ بحاجة لمصدر ]

تطبيقات

OPENSTEP لماخ

كان أول نظام تشغيل لـ NeXT هو NeXTSTEP ، وهو نظام تشغيل متطور قائم على Mach-UNIX والذي كان يعمل في الأصل فقط على محطات العمل المستندة إلى Motorola 68k من NeXT والتي تم نقلها بعد ذلك للتشغيل على أجهزة كمبيوتر شخصية "متوافقة مع IBM" 32 بت Intel x86 ، PA محطات العمل القائمة على RISC من Hewlett-Packard ومحطات العمل القائمة على SPARC من Sun Microsystems .

أكملت NeXT تنفيذ OpenStep على نظام التشغيل الحالي المستند إلى Mach وأطلق عليه OPENSTEP لـ Mach 4.0 (يوليو 1996) و 4.1 (ديسمبر 1996) و 4.2 (يناير 1997). لقد كان ، لجميع النوايا ، NeXTSTEP 4.0 ، ولا يزال يحتفظ بتقنيات NeXTSTEP الرئيسية (مثل DPS ، و UNIX ، وخصائص واجهة المستخدم مثل Dock and Shelf ، وما إلى ذلك) ، واحتفظ بواجهة مستخدم وأنماط NeXTSTEP الكلاسيكية. تم تحسين OPENSTEP لـ Mach بشكل أكبر ، مقارنةً بـ NeXTSTEP 3.3 ، مع دعم السائق المحسن إلى حد كبير - ولكن تم تغيير بيئة كتابة برامج التشغيل بالفعل مع تقديم DriverKit الموجه للكائنات.

يدعم OPENSTEP for Mach أجهزة الكمبيوتر المستندة إلى Intel x86 ، ومحطات عمل Sun's SPARC ، والبنى القائمة على 68k الخاصة بـ NeXT ، بينما تم إسقاط إصدار HP PA-RISC. استمرت هذه الإصدارات في العمل على نظام التشغيل الأساسي المستند إلى Mach المستخدم في NeXTSTEP. أصبح OPENSTEP لـ Mach نظام التشغيل الأساسي لـ NeXT منذ عام 1995 فصاعدًا ، وكان يستخدم بشكل أساسي على منصة Intel. بالإضافة إلى كونه تطبيقًا كاملاً لـ OpenStep ، تم تسليم النظام بمجموعة كاملة من مكتبات NeXTSTEP للتوافق مع الإصدارات السابقة. كان هذا أمرًا سهلاً في OpenStep بسبب إصدارات المكتبة ، ولم يعاني OPENSTEP من سخام بسبب ذلك.

سولاريس أوبنستيب

بالإضافة إلى OPENSTEP لمنفذ Mach لـ SPARC ، طورت Sun و NeXT مجموعة من إطارات العمل المتوافقة مع OpenStep لتعمل على نظام تشغيل Sun's Solaris . بعد تطوير Solaris OpenStep ، فقد Sun اهتمامه بـ OpenStep وحول انتباهه نحو Java. كبيئة تطوير آلة افتراضية ، عملت Java كمنافس مباشر لـ OpenStep.

OPENSTEP Enterprise

قدمت NeXT أيضًا تطبيقًا يعمل أعلى Windows NT 4.0 يسمى OPENSTEP Enterprise (غالبًا ما يتم اختصاره OSE). كان هذا عرضًا غير مقصود على الطبيعة الحقيقية لإمكانية نقل البرامج التي تم إنشاؤها بموجب مواصفات OpenStep. يمكن نقل برامج OPENSTEP لـ Mach إلى بيئة نظام التشغيل بصعوبة قليلة. سمح ذلك لقاعدة عملائهم الحاليين بالاستمرار في استخدام أدواتهم وتطبيقاتهم ، ولكن تشغيلها على Windows ، حيث كان العديد منهم في طور التبديل. لا يوجد تطابق مطلقًا من منظور واجهة المستخدم ، ربما يرجع ذلك إلى توجيه OPENSTEP لرسومات النوافذ من خلال خادم Display Postscript - والذي تم نقله أيضًا إلى Windows - ومع ذلك تمكنت بيئة نظام التشغيل من العمل بشكل جيد إلى حد ما وتمديد العمر التجاري لـ OpenStep.

كان لدى OPENSTEP و OSE مراجعتان (أحدهما رئيسي لم يتم إصداره مطلقًا) قبل أن تشتري شركة Apple NeXT في عام 1997.

رابسودي ، خادم Mac OS X 1.0

بعد الاستحواذ على NeXT ، كانت شركة Apple تعتزم شحن Rhapsody كنسخة مُعاد صياغتها من OPENSTEP لـ Mach لكل من أجهزة Mac وأجهزة الكمبيوتر القياسية. كان رابسودي OPENSTEP لـ Mach مع مظهر Copland من Mac OS 8 ودعم Java وتقنيات Apple الخاصة ، بما في ذلك ColorSync و QuickTime ؛ يمكن اعتباره OPENSTEP 5. تم إصدار نسختين للمطورين من Rhapsody ، والمعروفة باسم Developer Preview 1 و 2 ؛ هذه تعمل على مجموعة فرعية محدودة من كل من أجهزة Intel و PowerPC. كان Mac OS X Server 1.0 هو أول إصدار تجاري لنظام التشغيل هذا ، وتم توفيره حصريًا لأجهزة PowerPC Mac.

داروين ، Mac OS X 10.0 والإصدارات الأحدث

بعد استبدال Display Postscript WindowServer بـ Quartz ، والاستجابة للمطورين من خلال تضمين توافق أفضل مع الإصدارات السابقة لتطبيقات Mac OS الكلاسيكية من خلال إضافة Carbon ، أصدرت Apple Mac OS X و Mac OS X Server ، بدءًا من الإصدار 10.0 ؛ تم تسمية Mac OS X الآن باسم macOS.

إن بيئة البرمجة الأساسية في macOS هي أساسًا OpenStep (مع إضافات معينة مثل قوائم خصائص XML وفئات عناوين URL لاتصالات الإنترنت) مع منافذ macOS لمكتبات وأدوات التطوير ، والتي تسمى الآن Cocoa .

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

GNUstep

بدأ GNUstep ، وهو تطبيق مجاني لبرنامج مكتبات NeXT ، في وقت NeXTSTEP ، قبل OPENSTEP. بينما تم شراء OPENSTEP و OSE من قبل Apple ، التي أنهت فعليًا التطوير التجاري لتطبيق OpenStep لمنصات أخرى ، فإن GNUstep هو مشروع مفتوح المصدر يهدف إلى إنشاء تطبيق محمول ومجاني لمكتبات Cocoa / OPENSTEP.

يتميز GNUstep أيضًا ببيئة تطوير تعمل بكامل طاقتها ، وإعادة تنفيذ بعض الابتكارات الأحدث من إطار عمل Cocoa الخاص بـ macOS ، بالإضافة إلى امتداداته الخاصة لواجهة برمجة التطبيقات.

انظر أيضا

المراجع

  1. ^ Lineback ، ناثان. "OPENSTEP 4.2 ، إصدار Intel. لقطات شاشة" . Toastytech.com .
  2. ^ أ ب ج د تريببل ، بود (فبراير 1994). "برعم تريببل يشرح كل شيء" . NeXTWORLD (مقابلة). مقابلة بواسطة NeXTWORLD. ص. 23-24 . تم الاسترجاع 10 فبراير ، 2019 .
  3. ^ دليل أساسيات الكاكاو: قليل من التاريخ
  4. ^ "صن تعلن عن توفر Solaris OpenStep و Workshop OpenStep Beta" (خبر صحفى). صن مايكروسيستمز ، إنك . تم الاسترجاع 2006-10-25 .

روابط خارجية