یونیکس چیست و چرا دارای اهمیت است؟

رضا مقدری:
بیشتر سیستمعاملها را میتوان در دو خانواده قرار داد و به غیر از سیستمعاملهای بر مبنای ویندوز 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 در ویندوز است و این دو محیط خط دستور هر یک دارای اصول منحصر به فرد خود هستند.
این نوشتهها را هم بخوانید
Firmware رو با تلفظ کوچهبازاری “فریم ور” ترجمه کردید! بهتر بود از همون کلمه firmware انگلیسی، یا حداقل از “فیرمور” استفاده میکردید.
بهتره به جای غلط دیکته ای گرفتن و اشکال تراشی از صفحاتی که در کار تولید محتوی هستن قدردانی کنیم و تا جایی که بتونیم در کار ویرایش و ادیت( edit :))) ) کمک حال همدیگه باشیم تا تنها بگردیم به دنبال نکات به ظاهر منفی و اشتباه غیر عمدی غیر مهم و minnor
minor درسته نه minnor ؛ lol
اتفاقاً بخاطر اینکه قدردان این بلاگ هستم و برام مهم بود این نکته رو گوشزد کردم. ایراد موجود هم به قول شما یک «غلط دیکتهای» نیست! دوستانی که در ضمینه سختافزار و الکترونیک فعالیت میکنند با این واژه آشنایی کافی دارند و با دیدن ترجمه اشتباه و بکار بردن عبارتی که بین افراد غیر متخصص رایج شده درباره سایت قضاوت خواهند کرد. به همین دلیل من درخواست اصلاح اون رو داشتم، چون «یک پزشک» ارزشش بیش از اینهاست (:
الان minor رو عمدا غلط نوشتی؟
به اعتقاد من یک محتوای بد مثل این مطلب بهتره اصلن تولید نشه که هم منزلت بلاگ شریف شما حفظ بشه و هم وقت خوانندگان تلف نشه. این مطلب علاوه بر این اشکالات [به باور شما دیکته ای و به اعتقاد من تخصصی] دارای مشکلات محتوایی و ساختاری هم هست. انتشار مطلبی سرهم بندی شده و بی و سر و ته که به غیر از انبوهی اسم و لیبل هیچ فهم درستی از یونیکس و اهمیتش به خواننده نمیده برای مخاطبینی مثل من که بلاگ شما رو با مطالب مفصل و حرفه ای ش به یاد داره مقداری عجیب به نظر میرسه.
درسته…حق باشماست …
دکتر قبول کن دیگه !
:دی
thx for providing such a good article
عالی بود
مرسی
منم علاقمند به تلفظ صحیح تمام زبان ها و یا ترجمه فارسی و علمی آن هستم.
مقاله خوبی بود. امیدوارم ادامه پیدا کنه و مثلا در مقاله بعدی توزیعهای مختلف لینوکس رو بررسی کنه و یا مثلا درباره “گنو” و تاریخچه اش بیشتر توضیح بده.
ممنون.مطلب زیبایی بود.
امیدوارم پس از این مطلب،سلسله پست هایی در خصوص گنو/لینوکس و نرم افزارهای آزاد ارائه بشه تا مردم هرچه بیشتر به سمت این فرهنگ سوق پیدا کنن و از زیر یوغ شرکت های تجاری مثل اپل و مایکروسافت بیرون بیان.
ممنون بابت مطلب.من تازه با یک پزشک اشنا شدم.واقعا سایت عالی دارید.امیدوارم موفق باشید.
اوهوم من به شباهتش خیلی دقت کرده بودم :))
بگو چرا هی جادی در به در میگه گنو/لینوکس خوب است و فلان است و ما گوشمون بدهکار نیست
من یک سوال دارم: افرادی که عمرشون را وقف توسعه ی لینوکس میکنند، چه مجرای درآمدی دارند؟ طبق لایسنس GNU، حق ندارند دستمزدی در قبال کارشون دریافت کنند. ممنون میشوم اگر کسی میداند راهنمایم کند.
سلام. بهنام گرامی، GNU استفادههای تجاری از لینوکس و دیگر نرمافزارهای آزاد رو منع نکرده. با اینکه بسیاری از توسعهدهندگان لینوکس داوطلبانی از سراسر جهان هستند و بسیاری از نسخههای این سیستمعامل بهصورت رایگان قابل دانلود هستند اما کسب درآمد از راه فروش این سیستمعامل منع نشده.
سوال و جواب مندرج در سطر زیر را ببینید:
https://www.gnu.org/licenses/gpl-faq.html#GPLCommercially
در واقع واژه free به معنی «آزادی» نرمافزاره و نه رایگان بودن اون. برای مثال شرکت ردهت نسخه تجاری و سرور سیستمعامل خودش رو با قیمتهای چندصددلاری به فروش میرسونه. لینک زیر رو ببییند:
redhat.com/wapps/store/catalog.html
شرکتها میتونن نرمافزارهای آزاد و تحت لایسنس GNU رو بهفروش برسونند به شرطی که بندهای GNU رو در قبال اون رعایت کنند از جمله اینکه کد منبع نرمافزار رو هم در اختیار خریدار قرار بدهند.
بسیار ممنونم. خیلی کمک کرد.
اشتباه متوجه شدید. طبق قوانین گنو فروش نرم افزارهای آزاد هیچ ایرادی نداره (مثل ردهت اینترپرایز) مهم اون باز بودن کد/سورس نرم افزارهاست و چند مورد دیگه!
سلام
تاریخچه لینوکس همیشه من را متاثر میکنه. چرا که الان میتونست یونیکس یا لیتوکس به جای ویندوز روی کامیوترهای ما قرار میگرفت. آنزمانی که کامپیوترهای شخصی داشت سر از خانه های مردم در می آورد، سیستم عامل داس براحتی توانست همه گیر شود و مایکروسافت عامه مردم را به استفاده از آن ترغیب کند. غافل از اینکه همان زمان که داس فقط و فقط یک خط فرمان بیش نبود سیستم عاملی که توسط اپل طراحی شده بود دارای رابط گرافیکی بود.
But GNU’s Not Unix! :D
اگه مایکروسافت و آی بی ام هم از سیستم عامل یونیکس بهره می بردند شاید الان این مقدار اختلاف و سردرگمی برای مصرف کننده در انتخاب سیستم عامل و پلت فرمها ایجاد نمی شد.
جالب بود ممنون
سلام
فقط ویندوز
استیو جابز ادعا میکرد که بیل گیتس از ما کپی کرده بیل گیتس از مک کپی نکرده بیل گیتس رفت DOS رو خرید تغییرش داد به ویندوز ولی استیو جابز از یونیکس استفاده کرد و یونیکس رو تغییر داد معلومه که هیچ کدوم از اون یکی کپی نکردند اگه بیل گیتس و داس و ویندوز نبود هنوز تو این دنیا همه عقده کامپیوتر داشتن بیل گیتس مسیر رو هموار کرد سیستم هاشو ارزان در خدمت دنیا گذاشت و بعد روی مسیر صاف شده استیو جابر با اون صفحه های لمسی زیباش آسفالت کشید
سلام به همگی دوستان، به نظر من درست نیست با اطلاعات ناقص حرفی رو زد. لطفا مطالعه تون رو در مورد پیدایش و راه اندازی و توسعه هر دو سیستم عامل Windows و Mac بالاتر ببرید!
نه که با خواندن یک مطلب ناقص در این صفحه، صحبتی را مطرح کنید !!.