توزيع برمجيات بيركلي

من ويكيبيديا، الموسوعة الحرة
اذهب إلى الملاحة اذهب الى البحث

BSD
BSD wordmark.svg
مطورمجموعة أبحاث أنظمة الكمبيوتر
كتبت فيج
عائلة OSفي الأصل يونكس ، فيما بعد يشبه يونكس
حالة العملتوقف
نموذج المصدرفي الأصل متاح المصدر ، مفتوح المصدر لاحقًا
الإصدار الأولي1977 ؛ قبل 45 عاما ( 1977 )
الإصدار النهائي4.4-Lite2 / 1995
متوفر فيإنجليزي
المنصاتPDP-11 ، VAX ، إنتل 80386
نوع النواةالمتجانسة
أرض المستخدمBSD

واجهة المستخدم الافتراضية
قذيفة يونكس
رخصةBSD

Berkeley Software Distribution أو Berkeley Standard Distribution [1] ( BSD ) هو نظام تشغيل متوقف يعتمد على Research Unix ، تم تطويره وتوزيعه بواسطة مجموعة أبحاث أنظمة الكمبيوتر (CSRG) في جامعة كاليفورنيا ، بيركلي . يشير مصطلح "BSD" بشكل عام إلى نسله ، بما في ذلك FreeBSD و OpenBSD و NetBSD و DragonFly BSD .

كان BSD يُطلق عليه في البداية Berkeley Unix لأنه يعتمد على الكود المصدري لنظام Unix الأصلي الذي تم تطويره في Bell Labs . في الثمانينيات ، تم اعتماد BSD على نطاق واسع من قبل بائعي محطات العمل في شكل متغيرات Unix مملوكة مثل DEC Ultrix و Sun Microsystems SunOS نظرًا للترخيص المتساهل ومعرفة العديد من مؤسسي ومهندسي شركات التكنولوجيا.

على الرغم من أن مشتقات BSD المملوكة تم استبدالها إلى حد كبير في التسعينيات من قبل UNIX SVR4 و OSF / 1 ، إلا أن الإصدارات اللاحقة قدمت الأساس للعديد من أنظمة التشغيل مفتوحة المصدر بما في ذلك FreeBSD و OpenBSD و NetBSD و DragonFly BSD و Darwin و TrueOS . هذه ، بدورها ، تم استخدامها من قبل أنظمة تشغيل خاصة ، بما في ذلك Apple macOS و iOS ، المشتقة منها ، [2] و Microsoft Windows ، والتي استخدمت (على الأقل) جزءًا من رمز TCP / IP الخاص بها ، والذي كان قانونيًا . [3]تم استخدام الكود من FreeBSD أيضًا لإنشاء نظام تشغيل لجهاز PlayStation 4 [4] و Nintendo Switch . [5] [6]

التاريخ

مخطط انسيابي بسيط يوضح التاريخ والجدول الزمني لتطور نظام يونكس بدءًا من فقاعة واحدة في الأعلى و 13 رافدًا في الجزء السفلي من التدفق
تطور مبسط لأنظمة Unix . لم يتم عرض Junos و PlayStation 3 System وغيرهما من شوكات الملكية.

تضمنت أول توزيعات Unix من Bell Labs في السبعينيات كود المصدر لنظام التشغيل ، مما سمح للباحثين في الجامعات بتعديل Unix وتوسيعه. وصل نظام التشغيل إلى بيركلي في عام 1974 ، بناءً على طلب أستاذ علوم الكمبيوتر بوب فابري الذي كان عضوًا في لجنة البرنامج للندوة حول مبادئ أنظمة التشغيل حيث تم تقديم يونكس لأول مرة. تم شراء PDP-11/45 لتشغيل النظام ، ولكن لأسباب تتعلق بالميزانية ، تمت مشاركة هذه الآلة مع مجموعات الرياضيات والإحصاء في بيركلي ، الذين استخدموا RSTS، بحيث لا يعمل يونكس على الجهاز إلا ثماني ساعات في اليوم (أحيانًا أثناء النهار ، وأحيانًا أثناء الليل). تم تثبيت PDP-11/70 أكبر في بيركلي في العام التالي ، باستخدام أموال من مشروع قاعدة بيانات إنجرس . [7] يتطلب فهم BSD التعمق في تاريخ نظام التشغيل Unix ، وهو نظام التشغيل الذي تم إصداره لأول مرة بواسطة AT&T Bell Labs في عام 1969. بدأت BSD الحياة كمتغير من نظام Unix الذي قام به المبرمجون في جامعة كاليفورنيا في بيركلي بقيادة بيل جوي في البداية بدأت في التطور في أواخر السبعينيات.

في البداية ، لم يكن BSD استنساخًا لـ Unix ، أو حتى نسخة مختلفة تمامًا منه. لقد تضمنت فقط بعض الميزات الإضافية ، التي كانت متشابكة مع رمز مملوك لشركة AT&T.

في عام 1975 ، أخذ كين طومسون إجازة من مختبرات بيل وجاء إلى بيركلي كأستاذ زائر. ساعد في تثبيت الإصدار 6 من Unix وبدأ العمل على تطبيق Pascal للنظام. قام طلاب الدراسات العليا Chuck Haley و Bill Joy بتحسين Pascal لطومسون وطبقوا محرر نصوص محسّنًا ، سابقًا . [7] أصبحت جامعات أخرى مهتمة بالبرمجيات في بيركلي ، وهكذا في عام 1977 بدأت جوي في تجميع أول توزيع برمجيات بيركلي (1BSD) ، والذي تم إصداره في 9 مارس 1978. [8] كان 1BSD إضافة إلى الإصدار 6 يونكس وليس نظام تشغيل كامل في حد ذاته. تم إرسال حوالي ثلاثين نسخة.[7]

تضمن الإصدار الثاني من Berkeley Software Distribution (2BSD) ، الذي صدر في مايو 1979 ، [9] إصدارات محدثة من برنامج 1BSD بالإضافة إلى برنامجين جديدين من Joy لا يزالان قائمين على أنظمة Unix حتى يومنا هذا: محرر النصوص vi (نسخة مرئية من على سبيل المثال ) وقذيفة C. أرسل بيل جوي حوالي 75 نسخة من 2BSD. [7]

VAX - 11/780 ، كمبيوتر صغير نموذجي يستخدم لأنظمة مشاركة الوقت BSD المبكرة

تم تثبيت كمبيوتر VAX في بيركلي في عام 1978 ، لكن منفذ Unix إلى بنية VAX ، UNIX / 32V ، لم يستفد من إمكانات الذاكرة الافتراضية لـ VAX. تمت إعادة كتابة نواة 32 فولت إلى حد كبير لتشمل تطبيق الذاكرة الافتراضية لطالب الدراسات العليا في بيركلي Ozalp Babaoglu ، ونظام تشغيل كامل بما في ذلك النواة الجديدة ، ومنافذ 2BSD المرافق إلى VAX ، وتم إصدار المرافق من 32V كـ 3BSD في نهاية عام 1979. 3BSD كان يطلق عليه أيضًا Virtual VAX / UNIX أو VMUNIX (لـ Virtual Memory Unix) ، وكانت صور BSD kernel تُستدعى عادةً /vmunixحتى 4.4BSD.

أبيض وأسود 4.3 BSD UWisc VAX Emulation تسجيل الدخول لقطة شاشة
"4.3 BSD UNIX" من جامعة ويسكونسن حوالي عام 1987. بدء تشغيل النظام وتسجيل الدخول.

بعد إصدار 4.3BSD في يونيو 1986 ، تقرر أن BSD ستبتعد عن منصة VAX القديمة. كانت منصة Power 6/32 (التي تحمل الاسم الرمزي "Tahoe") التي طورتها شركة Computer Consoles Inc. تبدو واعدة في ذلك الوقت ، ولكن تم التخلي عنها من قبل مطوريها بعد ذلك بوقت قصير. ومع ذلك ، فقد أثبت منفذ 4.3BSD-Tahoe (يونيو 1988) أهميته ، حيث أدى إلى فصل الكود المعتمد على الآلة عن الكود المستقل عن الآلة في BSD والذي من شأنه تحسين إمكانية نقل النظام في المستقبل.

بالإضافة إلى قابلية النقل ، عملت CSRG على تنفيذ مكدس بروتوكول شبكة OSI ، وتحسينات لنظام الذاكرة الافتراضية kernel و (مع Van Jacobson of LBL ) خوارزميات TCP / IP جديدة لاستيعاب نمو الإنترنت. [10]

حتى ذلك الحين ، كانت جميع إصدارات BSD تستخدم كود AT&T Unix الخاص ، وبالتالي كانت تخضع لترخيص برنامج AT&T. أصبحت تراخيص الكود المصدري باهظة الثمن وقد أعربت عدة أطراف خارجية عن اهتمامها بإصدار منفصل لرمز الشبكة ، والذي تم تطويره بالكامل خارج AT&T ولن يخضع لمتطلبات الترخيص. أدى ذلك إلى إصدار Networking 1 ( Net / 1 ) ، والذي تم توفيره لغير المرخص لهم برمز AT&T وكان قابلاً لإعادة التوزيع مجانًا بموجب شروط ترخيص BSD . صدر في يونيو 1989.

بعد Net / 1 ، اقترح مطور BSD Keith Bostic أن يتم إصدار المزيد من الأقسام غير AT & T لنظام BSD بموجب نفس ترخيص Net / 1. ولهذه الغاية ، بدأ مشروعًا لإعادة تنفيذ معظم أدوات يونكس القياسية دون استخدام كود AT&T. في غضون ثمانية عشر شهرًا ، تم استبدال جميع أدوات AT&T المساعدة ، وتقرر بقاء عدد قليل فقط من ملفات AT&T في النواة. تمت إزالة هذه الملفات ، وكانت النتيجة إصدار يونيو 1991 من Networking Release 2 (Net / 2) ، وهو نظام تشغيل شبه كامل يمكن توزيعه مجانًا.

كان Net / 2 هو الأساس لمنفذين منفصلين من BSD لمعمارية Intel 80386 : 386BSD المجاني بواسطة William Jolitz والملكية BSD / 386 (أعيدت تسميتها لاحقًا BSD / OS) بواسطة Berkeley Software Design (BSDi). 386BSD نفسها كانت قصيرة العمر ، لكنها أصبحت قاعدة الكود الأولي لمشروعي NetBSD و FreeBSD التي بدأت بعد ذلك بوقت قصير.

سرعان ما وجدت BSDi نفسها في مشكلة قانونية مع شركة AT & T's Unix System Laboratories (USL) ، ثم أصحاب حقوق النشر System V وعلامة Unix التجارية. تم رفع دعوى USL ضد BSDi في عام 1992 وأدت إلى إصدار أمر قضائي بشأن توزيع Net / 2 حتى يمكن تحديد صلاحية مطالبات حقوق الطبع والنشر الخاصة بـ USL على المصدر. تسببت الدعوى القضائية في إبطاء تطوير البرامج المجانية المتحدرة من BSD لما يقرب من عامين بينما كان وضعهم القانوني موضع تساؤل ، ونتيجة لذلك فإن الأنظمة القائمة على نواة Linuxالتي لم يكن لديها مثل هذا الغموض القانوني ، حصلت على دعم أكبر. تمت تسوية الدعوى في يناير 1994 ، لصالح بيركلي إلى حد كبير. من بين 18000 ملف في توزيع بيركلي ، كان لا بد من إزالة ثلاثة فقط وتعديل 70 ملفًا لإظهار إشعارات حقوق النشر في USL. كان الشرط الآخر للتسوية هو عدم قيام USL برفع دعاوى قضائية أخرى ضد مستخدمي وموزعي الكود المملوك لبيركلي في الإصدار 4.4BSD القادم. [11]

كان الإصدار الأخير من بيركلي هو الإصدار 2 4.4BSD-Lite لعام 1995 ، وبعد ذلك تم حل CSRG وتوقف تطوير BSD في بيركلي. منذ ذلك الحين ، تم الحفاظ على العديد من المتغيرات التي تعتمد بشكل مباشر أو غير مباشر على 4.4BSD-Lite (مثل FreeBSD و NetBSD و OpenBSD و DragonFly BSD ).

سمحت الطبيعة المتساهلة لترخيص BSD للعديد من أنظمة التشغيل الأخرى ، سواء مفتوحة المصدر أو مسجلة الملكية ، بدمج كود مصدر BSD. على سبيل المثال ، استخدم Microsoft Windows رمز BSD في تنفيذه لـ TCP / IP [12] وحزم الإصدارات المعاد تجميعها من أدوات شبكة سطر الأوامر الخاصة بـ BSD منذ Windows 2000 . [13] داروين ، أساس نظامي macOS و iOS من Apple ، يعتمد على 4.4BSD-Lite2 و FreeBSD. العديد من أنظمة تشغيل Unix التجارية ، مثل Solaris ، تتضمن أيضًا رمز BSD.

العلاقة ببحوث يونكس

بدءًا من الإصدار الثامن ، كان لإصدارات Research Unix في Bell Labs علاقة وثيقة بـ BSD. بدأ هذا عندما تم استخدام 4.1cBSD لـ VAX كأساس لبحث Unix 8th Edition. استمر هذا في الإصدارات اللاحقة ، مثل الإصدار التاسع ، الذي أدمج كود المصدر وتحسينات من 4.3BSD. كانت النتيجة أن هذه الإصدارات اللاحقة من Research Unix كانت أقرب إلى BSD مما كانت عليه في System V. في نشر على Usenet من عام 2000 ، وصف Dennis Ritchie هذه العلاقة بين BSD و Research Unix: [14]

بدأت نسخة Research Unix 8th من (على ما أعتقد) BSD 4.1c ، ولكن بكميات هائلة تم جمعها واستبدالها بأشياء خاصة بنا. استمر هذا مع التاسع والعاشر. أعتقد أن مجموعة أوامر المستخدم العادي كانت بنكهة BSD أكثر قليلاً من SysVish ، لكنها كانت انتقائية جدًا.

العلاقة بالنظام الخامس

يلخص Eric S. _ _ _ " [15]

في عام 1989 ، كتب David A. Curry عن الاختلافات بين BSD و System V. ووصف النظام V بأنه غالبًا ما يُنظر إليه على أنه "نظام Unix القياسي". ومع ذلك ، فقد وصف BSD بأنها أكثر شيوعًا بين الجامعات ومراكز الكمبيوتر الحكومية ، نظرًا لميزاتها وأدائها المتقدم: [16]

تستخدم معظم الجامعات ومراكز الكمبيوتر الحكومية التي تستخدم UNIX نظام Berkeley UNIX ، بدلاً من System V. V ، وأن Berkeley UNIX أكثر ملاءمة لبيئة البحث ، والتي تتطلب نظام ملفات أسرع ، ومعالجة أفضل للذاكرة الافتراضية ، ومجموعة أكبر من لغات البرمجة .

التكنولوجيا

مآخذ بيركلي

شريط SunOS 4.1.1 P1270750 1/4 بوصة
شريط لـ SunOS 4.1.1 ، مشتق 4.3BSD
محطة عمل Sony NEWS تعمل بنظام التشغيل NEWS-OS القائم على BSD

كان يونكس بيركلي أول نظام يونكس يتضمن مكتبات تدعم مجموعات بروتوكول الإنترنت : مآخذ بيركلي . تم إنتاج تطبيق Unix لسلف IP ، NCP الخاص بـ ARPAnet ، مع عملاء FTP و Telnet ، في جامعة إلينوي في عام 1975 ، وكان متاحًا في بيركلي. [17] [18] ومع ذلك ، أدت ندرة الذاكرة على PDP-11 إلى حدوث مشكلات معقدة في التصميم والأداء. [19]

من خلال دمج المقابس مع واصفات ملفات نظام التشغيل Unix ، أصبح من السهل تقريبًا قراءة البيانات وكتابتها عبر الشبكة مثل الوصول إلى القرص. أصدر مختبر AT&T في النهاية مكتبة STREAMS الخاصة به ، والتي تضمنت الكثير من الوظائف نفسها في حزمة برمجيات بهندسة مختلفة ، لكن التوزيع الواسع لمكتبة المقابس الحالية قلل من تأثير واجهة برمجة التطبيقات الجديدة . تم استخدام الإصدارات المبكرة من BSD لتشكيل SunOS من Sun Microsystems ، لتأسيس الموجة الأولى من محطات عمل Unix الشهيرة.

التوافق الثنائي

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

المعايير

تدعم متغيرات نظام التشغيل BSD الحالية العديد من معايير IEEE و ANSI و ISO و POSIX الشائعة ، مع الاحتفاظ بمعظم سلوك BSD التقليدي. مثل AT&T Unix ، نواة BSD متجانسة ، مما يعني أن برامج تشغيل الأجهزة في kernel تعمل في الوضع المميز ، كجزء من جوهر نظام التشغيل.

أحفاد بي إس دي

تعتمد العديد من أنظمة التشغيل على BSD ، بما في ذلك FreeBSD و OpenBSD و NetBSD و MidnightBSD و GhostBSD و Darwin و DragonFly BSD . تم إنشاء كل من NetBSD و FreeBSD في عام 1993. وقد تم اشتقاقهما مبدئيًا من 386BSD (المعروف أيضًا باسم "Jolix") ، وتم دمج كود المصدر 4.4BSD-Lite في عام 1994. تم تشعب OpenBSD من NetBSD في عام 1995 ، وتم فصل DragonFly BSD من FreeBSD في عام 2003.

كما تم استخدام BSD كأساس للعديد من إصدارات Unix المسجلة الملكية ، مثل Sun 's SunOS و Sequent 's DYNIX و NeXT 's NeXTSTEP و DEC 's Ultrix و OSF / 1 AXP (الآن Tru64 UNIX ). أصبح NeXTSTEP لاحقًا أساس macOS لشركة Apple Inc ..

انظر أيضا

المراجع

  1. ^ "لماذا يجب عليك استخدام ترخيص نمط BSD لمشروعك مفتوح المصدر" . مشروع FreeBSD . BSD (توزيع بيركلي القياسي) . تم الاسترجاع 3 أغسطس ، 2021 .
  2. ^ "دليل برمجة Apple Kernel: نظرة عامة على BSD" . تم الاسترجاع 27 مارس ، 2021 .
  3. ^ "في الواقع ، يستخدم Windows بعض رموز BSD" . مؤرشفة من الأصلي في 25 مارس 2018 . تم الاسترجاع 24 مارس ، 2018 .
  4. ^ "برنامج مفتوح المصدر مستخدم في PlayStation 4" . مؤرشفة من الأصلي في 12 ديسمبر 2017 . تم الاسترجاع 3 أكتوبر ، 2019 .
  5. ^ "任天堂 製品 に 関 連 す る オ ー プ ン ソ ー ス ソ フ ト ウ ェ ア の ー ス コ ー ド 配 ペ ー ジ | サ ポ ト 情報 | نينتندو" . www.nintendo.co.jp . مؤرشفة من الأصلي في 26 يوليو 2020 . تم الاسترجاع 26 يوليو ، 2020 .
  6. ^ Cao (8 آذار 2017). "Nintendo Switch يدير FreeBSD" . FreeBSDNews.com . مؤرشفة من الأصلي في 26 يوليو 2020 . تم الاسترجاع 26 يوليو ، 2020 .
  7. ^ أ ب ج د سالوس ، بيتر هـ. (2005). "الفصل 7. BSD و CSRG" . الشيطان والجنو والبطريق . جروكلو . مؤرشفة من الأصلي في 14 يونيو 2020 . تم الاسترجاع 6 سبتمبر ، 2017 .
  8. ^ سالوس (1994) ، ص. 142
  9. ^ تومي ، وارن. "تفاصيل محفوظات PUPS" . tuhs.org . جمعية تراث يونكس. مؤرشفة من الأصلي في 9 يوليو 2006 . تم الاسترجاع 6 أكتوبر ، 2010 .
  10. ^ MK McKusick و MJ Karels و Keith Sklower و Kevin Fall و Marc Teitelbaum و Keith Bostic (1989). البحث الحالي من قبل مجموعة أبحاث أنظمة الكمبيوتر في بيركلي. بروك. مجموعة مستخدمي يونكس الأوروبية.
  11. ^ إريك س.ريموند. "فن برمجة يونكس: أصول وتاريخ يونكس ، 1969-1995" . مؤرشفة من الأصلي في 5 أكتوبر 2014 . تم الاسترجاع 18 يوليو ، 2014 .
  12. ^ بار ، آدم (19 يونيو 2001). "Microsoft و TCP / IP و Open Source و Licensing" . مؤرشفة من الأصلي في 14 نوفمبر 2005 . تم الاسترجاع 7 يونيو ، 2019 .
  13. ^ "BSD Code في Windows" . كل شيء 2.com . 20 مارس 2001. مؤرشفة من الأصلي في 25 أغسطس 2008 . تم الاسترجاع 20 يناير ، 2009 .
  14. ^ دينيس ريتشي (26 أكتوبر 2000). "alt.folklore.com أجهزة الكمبيوتر: BSD (Dennis Ritchie)" . مؤرشفة من الأصلي في 14 يوليو 2014 . تم الاسترجاع 3 يوليو ، 2014 .
  15. ^ ريموند ، إريك س.فن برمجة يونكس. 2003. ص. 38
  16. ^ كاري ، ديفيد. استخدام لغة C على نظام UNIX: دليل لبرمجة النظام. 1989. ص 2 - 3
  17. ^ شيسون ، جي إل (1976). "نظام الشبكة Unix". مراجعة أنظمة تشغيل ACM SIGOPS . 9 (5): 60-66. دوى : 10.1145 / 1067629.806522 .
  18. ^ RFC 681 
  19. ^ كوارترمان ، جون س. سيلبيرشاتز ، ابراهام ؛ بيترسون ، جيمس ل. (ديسمبر 1985). "4.2BSD و 4.3BSD كأمثلة على نظام Unix". استطلاعات الحوسبة . 17 (4): 379-418. سيتسيركس 10.1.1.117.9743 . دوى : 10.1145 / 6041.6043 . S2CID 5700897 .  

ببليوغرافيا

روابط خارجية