نگاهی کمیک به تاریخچه پیدایش BSD Unix و نقش کلیدی بیل جوی — F/OSS Comics #13: BSD Unix, Part 3 – The Beginning of BSD Unix
خلاصه
این مقاله به شکل روایت کمیک، داستان شکلگیری BSD Unix در دانشگاه برکلی توسط بیل جوی و توسعه ابزارهای معروف سیستمعامل یونیکس را بررسی میکند. این تاریخچه نشان میدهد چگونه توزیعهای اولیه برکلی راه را برای نوآوریهای بزرگ در سیستمعاملها هموار کردند.
تاریخچه سیستمعاملهای متنباز پر از رونجها و تصمیمات تاریخی است که دنیای مهندسی نرمافزار را تغییر دادهاند. یکی از این نقاط عطف مهم، تولد BSD (مخفف Berkeley Software Distribution) در دانشگاه کالیفرنیا، برکلی است. در این مقاله به زبان کمیک، روزهای نخستین شکلگیری این پروژه و نقش چهرههای کلیدی مانند Bill Joy روایت شده است.
زمینه تاریخی و شروع کار BSD
در سال ۱۹۷۶، هنگامی که Ken Thompson (یکی از خالقان اصلی یونیکس در Bell Labs) به آزمایشگاه بازگشت، دانشجویانی مانند Bill Joy و Chuck Haley شروع به بررسی و دستکاری هسته یونیکس کردند. در آن دوران، برکلی به دلیل سنت دیرینه در به اشتراکگذاری کدهای پژوهشی شناخته میشد. بیل جوی تصمیم گرفت سیستم کامپایلر Pascal دانشگاه را با ویرایشگر خطی ex (که از ویرایشگرهای اولیه بود) بستهبندی کند و روی یک نوار مغناطیسی قرار دهد.
در اوایل سال ۱۹۷۷، این مجموعه تحت عنوان اولین توزیع برکلی یا همان BSD منتشر شد. نکات فنی و اجرایی این نسخه جالب توجه است:
- مستقل نبودن: نسخه اولیه BSD یک سیستمعامل کامل نبود، بلکه مجموعهای از ابزارها و پکیجها بود که روی یک سیستم یونیکس موجود نصب میشد.
- شرایط لایسنس: کاربران برای دریافت آن به لایسنس سورسکد یونیکس از AT&T نیاز داشتند و برکلی هزینهای بابت خود نرمافزار دریافت نمیکرد، بلکه تنها هزینه نوار و پست گرفته میشد.
- گسترش فرهنگ اشتراکگذاری: فرهنگ دانشگاهی و فضای آن دوران برکلی تأثیر زیادی بر این رویکرد باز و کمه هزینه گذاشت.
از 2BSD تا ورود به دنیای سختافزار VAX
پس از موفقیت نسخه اول، نسخه دوم یا همان 2BSD متولد شد. بیل جوی در این نسخه ابزارهای بیشتری مانند حالت بصری ex (یعنی ویرایشگر معروف vi)، پوسته C shell و ابزارهای بهینهشده را اضافه کرد. او شخصاً تمام درخواستهای توزیع را مدیریت میکرد و نوارهای مغناطیسی را پست میکرد.
با ورود کامپیوتر قدرتمند ۳۲ بیتی VAX با یک مگابایت حافظه رم به برکلی در سال ۱۹۷۸، شرایط تغییر کرد:
- چالش حافظه مجازی: سیستمعامل 32/V که از طرف Bell Labs برای VAX آمده بود، از قابلیت حافظه مجازی سختافزار استفاده نمیکرد و محدود به حافظه فیزیکی بود.
- حل مسئله با کمک دانشجویان: Ozalp Babaoglu، دانشجوی مقطع تحصیلات تکمیلی، با همکاری بیل جوی کدهای مربوط به حافظه مجازی را به 32/V اضافه و دیباگ کردند تا سیستمعامل بتواند پروژههای سنگینی مانند سیستم جبری Macsyma را اجرا کند.
- تولد 3BSD: با ترکیب ابزارهای توسعهیافته بیل جوی، ابزارهای پاسکال و هسته مجهز به حافظه مجازی، نسخه 3BSD در دسامبر سال ۱۹۷۹ عرضه شد.
چرا این تاریخچه برای مهندسین نرمافزار اهمیت دارد؟
آشنایی با ریشههای BSD نشان میدهد که بسیاری از زیرساختهای امروزی دنیای یونیکس و لینوکس محصول کار طاقتفرسا، نوآوریهای فردی و فرهنگ به اشتراکگذاری دانشگاهی در دهههای ۷۰ و ۸۰ میلادی هستند. رویکرد برکلی در توسعه ابزارهایی مثل vi و مدیریت حافظه مجازی، استانداردها و الگوهایی را بنا نهاد که هنوز هم در مهندسی سیستمعامل و توسعه نرمافزار استفاده میشوند.
در بخش نظرات Hacker News، کاربران به نکات ریزی پیرامون ریشههای ابزارهای ویرایش متن اشاره کردهاند؛ از جمله بحث درباره اینکه ویرایشگر ex از کدهای ویرایشگر قدیمیتر em یا ed توسعه یافته است که نشاندهنده دقت جامعه فنی به جزئیات تاریخی ابزارهای یونیکس است.
این مطلب بهصورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل