
یونیکس چیست و چرا دارای اهمیت است؟
يک پزشک
بروزرسانی




يک پزشک/ بيشتر سيستمعاملها را ميتوان در دو خانواده قرار داد و به غير از سيستمعاملهاي بر مبناي ويندوز NT مايکروسافت تقريباً ساير اکثريت قريب به اتفاق آنها در صورتي که پيشينهشان مورد بررسي قرار گيرد از دل سيستمعامل ديگري به نام يونيکس (Unix) زاده شدهاند.
لينوکس، Mac OS X، اندرويد، iOS، کروم OS، اوربيس OS که بر روي پلي استيشن چهار مورد استفاده قرار گرفته است، هر نوع فريموري که بر روي مودم يا روتر خود استفاده ميکنيد و… همه اين سيستمعاملها در اصطلاح سيستمعاملهايي بر مبناي يونيکس ناميده ميشوند.
طراحي يونيکس و بقاي حيات آن تا به امروز
يونيکس در آزمايشگاه بل (Bell) متعلق به کمپاني AT&T در اواخر دهه ۶۰ ميلادي توسعه داده شد. انتشار اوليه يونيکس در زمينه طراحي دستاوردهايي داشت که تا به امروز نيز در قيد حيات مانده و مورد استفاده قرار ميگيرند. يکي از آنها که به فلسفه يونيکس معروف ميباشد و هدفش ايجاد يک ابزار موژلار است که تنها يک کار را انجام ميدهد ولي آن کار را به بهترين و بينقصترين شکل ممکن به انجام ميرساند. بنابراين اگر با ترمينال لينوکس آشنايي داشته باشيد به يقين اين موضوع را ميدانيد که اين سيستم به شما ابزارهاي مختلفي ارائه ميدهد که با ترکيب آنها به روشّهاي مختلف ميتوانيد تسکهاي پيچيدهتري را به سرانجام برسانيد. حتي برنامههاي داراي رابط گرافيکي نيز تمايل دارند ابزارهاي کوچکتري را در پسزمينه فراخواني کنند تا کارهاي سنگين را به کمک آنها انجام دهند. همين موضوع ايجاد شل اسکريپتها را براي متصل کردن ابزارهاي ساده به يکديگر با هدف به سرانجام رساندن کارهاي پيچيدهتر آسان مينمايد.
يونيکس حتي داراي فايل سيستمي يکتا بوده است که برنامهها براي ارتباط با يکديگر از آن بهره ميبردند و همين موضوع سبب شده است که هر چيزي بر روي لينوکس “بصورت يک فايل” باشد حتي ابزارهاي سختافزاري، فايلهاي ويژهيي که اطلاعات سيستمي را ارائه ميدهند و… .
بررسي خانواده و فرزندان يونيکس
مثل همهٔ بخشهاي تاريخ اگر در تاريخ يونيکس نيز به ۴۰ سال قبل برگرديم و بخواهيم به کند و کاو در مورد اولاد يونيکس و خودش بپردازيم با پيچيدگيها بسياري مواجه خواهيم شد. و براي رفع اين پيچيدگيها هر چند به سختي ولي ميتوانيم فرزندان يونيکس را به دو دسته تقسيم کنيم.
يک گروه از فرزندان يونيکس در آکادميها و مراکز دانشگاهي متولد شدند. و اولين آنها با نام BSD که مخفف توزيع نرمافزاري برکلي يا Berkeley Software Distribution شناخته ميشد و يک سيستمعامل کدباز برمبناي يونيکس بود. جالب است بدانيد BSD امروزه نيز در قالب FreeBSD، NetBSD و OpenBSD به حيات خودش ادامه ميدهد. همچنين NextStep نيز بر مبناي BSD بود و البته سيستمعامل مشهور Mac OS X اپل نيز بر مبناي NextStep عرضه گرديد و iOS بعدها بر مبناي Mac OS X پايهگذاري شد. بسياري از سيستمعاملهاي ديگر مانند Orbis که بر روي پلي استيشن چهار ارائه ميشود نيز بر مبناي يکي از انواع سيستمعامل BSD هستند.
پروژهٔ گنوي (GNU) ريچارد استالمن نيز در واکنش به فزايندگي قوانين نرمافزاري محدود کننده بهرهگيري و بکارگيري يونيکس توسط AT&T آغاز شد. MINIX يک سيستمعامل بر مبناي يونيکس بود که براي اهداف آموزشي طراحي و پيادهسازي گرديده بود و در خلقت لينوکس از MINIX الهام گرفته شده است. لينوکسي که ما امروزه ميشناسيم در اصل GNU/Linux ميباشد و از ترکيب کرنل يا هستهٔ لينوکس با تعدادي از ابزارهاي GNU پديد آمده است. گنو/لينوکس مستقيماً يکي از فرزندان BSD محسوب نميشود ولي در اصل يکي از فرزندان طراحي متعلق به يونيکس است و ريشههايش به مراکز دانشگاهي و آکادميک باز ميگردد. بسياري از سيستمعاملهاي امروزي که در ابعاد وسيعي از آنها استفاده ميشود همانند اندرويد، کروم OS، استيم OS و… بر مبناي لينوکس هستند.
در سوي ديگر نسخههايي تجاري از سيستمعامل يونيکس مانند AT&T Unix، SCO UnixWare، Sun Microsystems، HP-UX، IBM AIX، SGI IRIX قرار دارند و بسياري از کمپانيهاي بزرگ تلاش کردند تا نسخهاي از يونيکس را با لايسنس و قوانين تجاري خودشان پيادهسازي و ارائه نمايند. هر چند بسياري از اين نسخههاي يونيکس امروزه ديگر رايج نيستند ولي هنوز برخي از آنها در بازار حضور دارند.
رستاخيز DOS و ويندوز NT
بسياري از افراد انتظار داشتند تا يونيکس در صنعت کامپيوتر تبديل به يک سيستمعامل استاندارد شود اما برخلاف اين انتظار سيستمعامل DOS و کامپيوترهاي شخصي مبتني بر پلتفرم IBM به يکباره دچار محبوبيتي همگاني شدند. DOS هرگز بر مبناي يونيکس پايهريزي و کدنويسي نشده بود و يک نشانه بارز اين موضوع در اين است که مسير فايلها در اين سيستمعامل از سمبل بک اسلش استفاده مينمايد در حالي که اين موضوع در ساير سيستمعاملها بدون استثنا از سمبل اسلش استفاده مينمايد. تصميم به استفاده از بک اسلش در روزهاي اوليه توسعه DOS گرفته شد و بعدها سيستمعامل ويندوز نيز اين رويه را از DOS به ارث برد همانطوري که BSD، لينوکس، Mac OS X و ساير سيستمعاملهاي مبتني بر يونيکس بسياري از اصول طراحي پدر خود يعني يونيکس را به ارث بردند.
ويندوز ۳.۱، ويندوز ۹۵، ويندوز ۹۸ و ويندوز ME همگي بر مبناي سيستمعامل DOS بودند اما مايکروسافت در همان زمان در حال توسعه نسخه مدرنتر و پايدارتري از سيستمعامل با نام ويندوز NT بود که در اصل مخفف تکنولوژي جديد ويندوز يا Windows New Technology ميبود. ويندوز NT در نهايت راه خودش را بر روي کامپيوترهاي شخصي کاربران با نام ويندوز XP باز نمود ولي قبل از آن براي مصارف تجاري و… با عناويني مانند ويندوز NT و ويندوز ۲۰۰۱ ارائه شده بود.
در حال حاضر کليهٔ سيستم عاملهاي مايکروسافت بر مبناي هسته يا کرنل ويندوز NT ارائه شدهاند و ويندوز هفت، ويندوز هشت، ويندوز RT، ويندوز فون ۸، ويندوز سرور و سيستمعامل کنسول بازي Xbox One همگي از کرنل ويندوز NT بهره ميبرند. هر چند مايکروسافت در ارائه ويندوز NT همه چيز را از اول طراحي و پيادهسازي نکرده است و جهت سازگاري با نسخههاي قبلي سيستمعاملهايش که بر مبناي DOS بودند در ويندوز NT نيز شاهد اين موضوع هستيم که بسياري خواص و اصول DOS مانند استفاده از بک اسلش در مسير فايلها، اختصاص يک حرف به درايوها، استفاده از اسلش براي سوئيچهاي خطوط دستور و… به ارث برده شدهاند. ولي NT نيز در نهايت هرگز ذرهاي از اصول يونيکس و يا طراحي يونيکس پيروي نکرده است و کاملاً از آن مستقل است.
چرا اين موضوعات داراي اهميت هستند؟
آيا تا به حال به ترمينال Mac OS X و فايل سيستم آن توجه کردهايد و متوجه شباهت بيش از حد آن با سيستمعامل لينوکس شدهايد؟ دليل اين امر اين است که هر دوي اين سيستمعاملها بر مبناي يونيکس توسعه داده شدهاند. دانستن اين بخش از تاريخچه کامپيوترها و سيستمعاملها اين موضوع را براي شما توضيح ميدهد که چرا بسياري از سيستمعاملها مشابه يکديگر هستند و از اصولي يکسان پيروي مينمايند در حالي که سيستمعامل ويندوز ابداً از اين اصول پيروي نميکند. و حالا به سادگي ميتوانيد درک کند که چرا ترمينال در Mac OS X داراي تفاوتهاي بسياري با Command Prompt و PowerShell در ويندوز است و اين دو محيط خط دستور هر يک داراي اصول منحصر به فرد خود هستند.