یونیکس: سیستم عامل تنظیم استانداردهای جدید
توسعه Unix بدون شک یکی از مهمترین نقاط عطف در این تاریخ محاسبات است. سیستم عامل یونیکس نه تنها برخی از مفاهیم ابتدایی امروز در فن آوری اطلاعات را معرفی کرد، مانند سیستم فایل سلسله مراتبی ساختار یافته، بلکه به عنوان پایه ای برای بسیاری از سیستم های دیگر مانند مک ایکس و iOS و یا منبع باز لینوکس استفاده شده است. به نوبه خود، این منجر به ظهور مشتقات متعدد، مانند اوبونتو، دبیان، و یا آندروید تلفن همراه است. اما چگونه دقیقا Unix تبدیل به یکی از تاثیر گذار ترین برنامه های مدیریت کامپیوتر بود، و چرا تیم توسعه آن توانست به طور انحصاری ایده های اولیه را روی تخته سیاه و یادداشت ها ثبت کند؟
پروژه مشترک Multics پایه های خود را برپا کرد
در سال ۱۹۶۵، یک گروه کاری ایده خود را برای سیستم عامل جدید در کنفرانس مشترک سرور مجازی معرفی کرد. این گروه شامل کارکنان موسسه فناوری ماساچوست (MIT)، ژنرال الکتریک و آزمایشگاه های بل (آزمایشگاه های بل) و AT & T (از سال ۲۰۱۶ از بخش تحقیق و توسعه نوکیا) بودند. آنها سیستم اطلاعاتی و محاسباتی مجتمع سیستم عامل یا Multics را برای مدت کوتاهی نامگذاری کردند. آنها رویکردهای کاملا جدیدی را دنبال کردند، با تمرکز بر اشتراک زمان به طور خاص. Multics یکی از اولین سیستم هایی بود که اجازه می دهد تا چندین کاربر همزمان با همکاری رایانه با به اشتراک گذاشتن زمان محاسباتی پردازنده، کار کنند.
گروه کاری Multics نیاز به یک کامپیوتر با نیازهای خاص برای دریافت پروژه خود را از زمین: از یک سو، باید دستورالعمل به وضوح فرمت شده است تا قادر به استفاده از زبان برنامه نویسی PL / I از آی بی ام در نظر گرفته شده برای توسعه استفاده کنید. از سوی دیگر، آن را مجبور به پشتیبانی از عملیات چند کاربره برنامه ریزی شده و کار ناهمگام برای به حداقل رساندن ضرر و زیان عملکرد در مدیریت حافظه است. به همین دلیل GE-635 و بعد GE-645 از General Electric انتخاب شدند. توسعه بر روی سیستم چند کاربره CTSS انجام شد که توسط MIT در دهه ۱۹۶۰ توسط MIT توسعه داده شد و در حال اجرا بود. تأخیر در توسعه کامپایلر PL / I، تنگناها مالی، تفاوت های داخلی و افزایش فشار خارجی در نهایت باعث شد که آزمایشگاه های Bell از این پروژه در سال ۱۹۶۹ خارج شوند.
Multics یونیکس می شود
Multics در MIT بیشتر توسعه یافت و بعد از آن توسط General Electric (تا سال ۱۹۸۶) توسط Honeywell International Inc. توزیع تجاری Honeywell 6180 توسط شرکت Honeywell انجام شد. با این حال دانشمند کامپیوتر Ken Thompson، که در آن زمان کارمند Bell Labs بود، نمی توانست از سیستم چند کاربر استفاده کند: همراه با دنیس ریچی و یک تیم کوچک در AT & T، او شروع به طراحی سیستم خود کرد، بر اساس اصول Multics. اما جستجو برای یک کامپیوتر مناسب در ابتدا ثابت ناپذیر بود – و همانطور که آزمایشگاه Bell با خرید یک کپی مناسب مقاومت کرد، توسعه دهندگان شروع به ضبط یادداشت ها و پیشرفت خود برای یک سیستم فایل برنامه ریزی شده در کاغذ و تخته سیاه کردند.
سرانجام، یک مینی کامپیوتر PDP-7 استفاده شده از شرکت Digital Equipment Corporation (DEC) برای پروژه برنامه ریزی شده به دست آمد. این سیستم کامپیوتری که “تنها” اندازه یک واحد دیوار بود، با GECOS (سیستم عامل جامع الکتریکی جامع) اجرا شد، که از آن زمان به عنوان یک پلتفرم توسعه شناخته شد. ابزارهای ارزشمندی مانند خط فرمان (SH) و ویرایشگر (ED) و سیستم فایل موجود در فرم کاغذ به سرعت توسعه یافت – در ابتدا هنوز هم در زبان مونتاژ (سختافزاری، اما ساده برای انسانها). از آنجایی که سرور مجازی برج میلاد جدید تنها دو کاربر را مجبور به یک فرآیند در یک زمان کار کرد (بر خلاف Multics)، تیم بر اساس الگو سیستم عامل یونیکس را نام برد. با توجه به محدودیت های طول نام فایل در GECOS، نام پایانی یونیکس تصمیم گرفت.
اول B، سپس C: سیستم عامل یونیکس دارای زبان برنامه نویسی بالایی است
پس از آن که تیم آزمایشگاه Bell Labs یونیکس و برخی برنامه های ابتدایی دیگر را نوشته بود، وقت آن بود که زبان اسمبلی برای این منظور با تغییرات پیچیده تر جایگزین شود. با این حال، برنامه ای برای توسعه زبان فورمن که قبلا موجود بود، بعد از مدت کوتاهی رد شد. در عوض، کار بر روی زبان خود آغاز شد و به شدت به سمت PL / I – زبان Multics – و BCPL (زبان برنامه نویسی ترکیبی اولیه) توسعه یافته در MIT شد. پس از آن، ریچی و همکارانش برخی از ابزارهای سیستم را در این زبان بازنویسی کرده بودند تا زمانی که در سال ۱۹۷۰ یک کامپیوتر PDP-11 جدید دریافت کرد و دوباره مجبور به تجدید نظر در تکنیک آنها شد. این به این دلیل بود که معماری سیستم جدید، مانند رایانه PDP-7 و زبان برنامه نویسی B، اصطلاحا گرا نبود، بلکه به جای بایوت گرا بود.
در دو سال آینده، آزمایشگاه های بل، جانشین C را توسعه دادند، نحو و ویژگی های دیگر آنها را می توان در بسیاری از زبان های برنامه نویسی مدرن مانند C ++، جاوا اسکریپت، پی اچ پی یا پرل پیدا کرد. هنگامی که زبان به اندازه کافی بالغ در سال ۱۹۷۳ بود، تیم توسعه بازنویسی کامل یونیکس را در C انجام داد. نتیجه این کار توسط تیم سیستم عامل یونیکس در اواسط دهه ۱۹۷۰ منتشر شد. از آنجایی که AT & T مجاز به فروش نرم افزار در آن زمان نبود، در حالتی که صنعت مخابراتی دولتی کنترل می شد، سیستم عامل یونیکس (نسخه ۶) که یک سیستم چند کاربره بود و به طور همزمان چند فرایند را مجاز دانست، شامل یک کامپایلر C که سیستم را در تقریبا تمام سیستم عامل ها قابل استفاده می کند.
سخت افزار دوستانه و منبع باز: یونیکس صحنه توسعه دهنده را فتح می کند
با انتشار نرم افزار Unix برای موسسات آموزشی، موفقیت سیستم عامل جدید به سرعت در حال تبدیل شدن به آشکار شدن بیشتر، در ابتدا به عنوان یک اسباب بازی در بین حلقه های برنامه نویسی بود. فرایندهای کار مشترک در رایانه های IBM و ماشین های PDP در آن زمان همچنان در سیستم های بومی مثل RSX-11، RT-11 یا IST ادامه داشت. با این حال، برای توسعه دهندگان، ارزش کد منبع ارائه شده توسط kernel و برنامه های کاربردی فردی تنها اثر یادگیری نیست: کم و کم و بیش مورد نیاز سیستم عامل یونیکس ساخته شده در سخت افزار و کاربردهای بالا آن را تشویق به آزمایش و توسعه بیشتر، که به طور خاص توسط دانشگاه کالیفرنیا، برکلی (دانشگاه پیش دانشگاهی سابق تامسون) – اگر چه این واقعیت که او یک استاد مهمان در دانشکده تازه کار دانش خود را در سال ۱۹۷۶ در نظر گرفت، احتمالا نقش مهمی ایفا کرد.