یونیکس (Unix) چیست؟
فرض کنید کامپیوتری دارید که هیچ سیستم عاملی بر روی آن نصب نشده است. با نبود سیستم عامل چه اتفاقی میافتد؟ سیستم عامل مهمترین نرم افزاری است که در ابتدا باید بر روی هر سیستمی نصب شود، زیرا تا زمانی که آن نباشد، نرمافزارهای دیگر هم کاربردی نخواهند داشت! در واقع سیستم عامل نقش یک مترجم را در میان کاربر و کامپیوتر (سختافزار) ایفا میکند. به همین خاطر تا زمانی که نصب نشود، هیچ ارتباطی میان کاربر و سختافزار صورت نخواهد گرفت. نه شما حرف آن را متوجه میشوید و نه سیستم درخواستهای شما را.
پدر اکثر سیستم عاملها، یونیکس (Unix) است.در واقع اکثر سیستم عاملها در دو خانواده قرار دارند. سیستم عاملهایی بر مبنای ویندوز NT یا زاده یونیکس! در این مطلب میخواهیم بگوییم یونیکس چیست و چه تفاوتی با لینوکس دارد. پس تا پایان این مطلب همراه ما باشید.
فهرست مطالب
تاریخچه و سیر تکاملی یونیکس
طراحی پروژه یونیکس در سال ۱۹۶۹ توسط شرکت AT&T Bell Labs در New Jersey بنیانگذاری شد. Bell یک شرکت دارای لابراتورهای تخصصی در زمینه کامپیوتر بود که در سالهای ۱۹۶۴ تا ۱۹۶۸ بر روی سیستم عاملی به نام Multics تمرکز داشت. در آخر پروژه توسعه و طراحی Multics با شکست مواجه شد و شرکت Bell هم از ادامه دادن این پروژه صرف نظر کرد.
این شکست آغازی نو برای ایجاد سیستم عامل یونیکس محسوب میشود. زیرا دانشمندانی به نام دنیس ریتچی و کن تامپسون با هدف مدیریت منابع کنترل کارها و در نهایت برطرف کردن نیازهای شرکت با جمعآوری تحقیقات شکست خورده منجر به موفقیتی بزرگ شدند.
نسخه ابتدایی سیستم عامل یونیکس با زبان اسمبلی نوشته شد؛ اما در سال ۱۹۷۳ توسط زبان C بازنویسی شد، که این کار امکان تغییرات، پذیرش و قابلیت حمل سریعتر را برای کاربران فراهم کرد. بعدها این سیستم عامل موفقیتهای چشمگیری را کسب کرد و در امتداد آن سبب پیشرفت عصر اینترنت شد. سیستم عامل یونیکس بیشتر در ایستگاههای کاری و کامپیوترهای بزرگ مورد استفاده قرار میگیرد.
لینوکس از خانواده یونیکس، نامی آشنا در محافل سیستم عاملها است که به دلیل رایگان و متن باز بودن، امروزه مورد استقبال بسیاری از شرکتها و افراد واقع شده است.
در حال حاضر صاحب علامت تجاری یونیکس Open Group است. اما شرکت The SCO Group و Novell نیز مدعی حق مالکیت در قسمتهایی از این سیستم عامل هستند.
Unix یعنی چه و چه مولفه هایی دارد؟
یونیکس یک سیستم عامل چندکاربره و چند وظیفهای است که در میان کاربر و سختافزار عمل میکند. این سیستم با عنوان پدر سیستم عاملهای دیگر، آغازگر دوره اطلاعات و در ادامه عصر اینترنت است.
Unix توسط زبان C نوشته شده و همچنین از سرورهای اینترنتی، ورک استیشنها و رایانهها پشتیبانی میکند. نسخههای متفاوت یونیکس AIX ،BSD و HP-UX و… هستند. یونیکس یک سیستم عامل ماژولار است که در تمامی نسخههای متفاوت خود از ۳ مولفه اصلی و یکسان برای ساختار عملکردی استفاده کرده است که در ادامه با این مولفهها آشنا میشویم.
هسته (Kernel)
هسته به عنوان قلب این سیستم عامل به صورت یک برنامه اجرایی عمل میکند و کنترل کل سختافزار را به دست میگیرد. وظایفی همچون تخصیص حافظه، زمانبندی وظایف و مدیریت فایلها در این بخش انجام میشوند. در ضمن هیچ برنامهای بدون اجازه هسته نمیتواند از مولفه سختافزاری سیستم استفاده کند.
پوسته (Shell)
پوستهها با قابلیت انتقال داده از طریق خط فرمان با هسته سیستم تعامل برقرار میکنند. Tcsh ،Ksh، csh ،bash و sh شناختهشدهترین پوستهها در نسخههای متفاوت یونیکس هستند. این پوستهها با وجود کارایی یکسان، در باطن سرویسهای مختلفی را به کاربر عرضه میکنند. البته Sell به صورت Command Line ارتباط برقرار میکند.
دستورات و فرمان های بسیاری برای یونیکس تعریف شده که در مجموع ۲۵۰ دستور وجود دارد. که پوسته این دستورات را برای برقراری ارتباط برای Kernel ترجمه میکند.
سیستم فایل یونیکس (Unix File System)
سیستم فایل یونیکس یا به اختصار UFS، امکان ذخیرهسازی فایلها و اطلاعات را روی آن فراهم میکند. این سیستم فایل توسط سیستم عامل یونیکس و شبه یونیکسها استفاده میشود. سیستم فایلهای گوناگونی برای سیستم عاملهای مبتنی بر یونیکس عرضه شدهاند که برخی از آنها reiserfs، Xfs ، ext2 و … هستند. در یونیکس چیزی به نام درایوهای A و C وجود ندارد. این سیستم فایل به صورت یک درخت وارونه پیادهسازی شده که در مرکز و بالاترین سطح این درخت ریشه یا Root قرار دارد. و در زیر ریشه، پوشههایی هستند که سایر قسمتهای سیستم فایل یونیکس (UFS) را تشکیل میدهند.
تفاوت یونیکس با لینوکس چیست؟
شباهت نوشتاری و تلفظی یونیکس و لینوکس باعث شده که بسیاری از افراد آنها را با هم اشتباه بگیرند. و معمولا این سوال که آیا لینوکس و یونیکس یکی است یا با هم تفاوت دارند؟ ذهنشان را مشغول کند. بله درست است، Unix با Linux با هم متفاوتاند. بگذارید این تفاوت را با توضیح لینوکس (Linux) آغاز کنیم.
لینوکس یک سیستم عامل رایانهای است که در سال ۱۹۹۱ توسط فردی به نام لینوس توروالدز راهاندازی شد. همچنین لینوکس یک سیستم عامل شبیه به یونیکس است؛ که به گونهای شبیه یونیکس رفتار میکند اما نه دقیقا مطابق آن! پیشرفتهای روزافزون و چشمگیر لینوکس باعث شده که جایگزین مناسبی برای یونیکس باشد. همچنین این سیستم عامل بر روی انواع مختلفی از کامپیوترها، تلفنهای هوشمند و.. قابل اجرا است.
در ابتدا با مهمترین نسخههای یونیکس آشنا شدیم .یکی از تفاوتهای این دو سیستم عامل میتواند در نسخههای آنها باشد. مهمترین نسخههای لینوکس Ubuntu و OpenSuse، Redha ،Solaris هستند.
برای تفاوتهای این دو سیستم عامل میتوان به موارد زیر اشاره کرد:
- یونیکس (Unix) دارای قدمت بیشتر و در اواخر سال ۱۹۶۰ ایجاد شد، در صورتی که لینوکس برگرفته از یونیکس است و در سال ۱۹۹۱ راهاندازی شده است.
- لینوکس از برجستهترین نمونه همکاری نرمافزارهای رایگان و متن باز (Open Source) است. در مقابل آن، یونیکس اختصاصی بوده و توسط شرکتهای مختلف به فروش میرسد.
- Unix به خودی خود یک سیستم عامل کامل محسوب میشود. اما لینوکس فقط هسته (Kernel) است. به طور کلی لینوکس شبیهسازی از یونیکس است که برای تبدیل آن به یک سیستم عامل همه چیز تمام باید از عوامل گوناگونی کمک بگیرد.
- پوسته پیشفرض یونیکس Bourne Shell است در حالی که پوسته لینوکس Bash است.
- یونیکس بیشتر سرور پسند است و شاید به همین خاطر است که رابط گرافیکی خاصی ندارد. اما لینوکس دارای رابط گرافیکی و بیشتر برای استفاده همزمان سرورها و کامپیوترهای دسکتاپ طراحی شده است.
- تشخیص تهدید و رفع اشکال در سیستم عامل لینوکس راحتتر بوده و در کمترین زمان امکانپذیر است.
پونیشا با فریلنسرهایی باتجربه، این امکان را به شما میدهد که با ثبت پروژه لینوکس در کمترین زمان ممکن به بهترین نتایج دلخواه دست پیدا کنید.
مزایای یونیکس: چرا Unix دارای اهمیت است؟
انتشارات اولیه یونیکس در زمینه طراحی و دستاوردهای آن تا به امروز در قید حیات باقی مانده و هنوز مورد استفاده قرار میگیرد. سیستم عاملهایی همچون لینوکس، اندروید، کروم OS و Mac OS X همگی بر مبنای یونیکس ایجاد شدهاند. ردیابی پویای هسته جز بهترین قابلیتهای سیستم عامل یونیکس به حساب میآید. برای دریافت میزان اهمیت این سیستم عامل بهتر است به ویژگیها و مزایای یونیکس بپردازیم.
امنیت بالا
سیستم عامل یونیکس به چندین کاربر اجازه میدهد که بدون هیچگونه نگرانی امنیتی، به صورت آنلاین با سرور تعامل داشته باشند. همچنین با ارائه پلتفرمی ایمن در مقایسه با سایر سیستم عاملها آسیبپذیری کمتری دارد. علاوه بر این، یونیکس با ارائه UID و GID این اجازه را به کاربران خود میدهد تا تنظیمات امنیتی و دسترسیهای لازم را نیز تدوین کنند.
قابل حمل
یونیکس با پیادهسازی زبان C طراحی شده است. به همین خاطر یک سیستم عامل قابل حمل است که میتواند به راحتی در انواعی از کامپیوترها مورد استفاده قرار بگیرد.
بدون نیاز به آنتی ویروس
آنتیویروس یکی از دغدغههای کاربران ویندوز است. یونیکس و شبه یونیکسهایی همچون لینوکس، از امنیت بسیاری بالایی برخوردار هستند که این امر کار را برای ویروس و حتی جاسوسافزارها دشوار کرده است. اغلب کاربران لینوکس از آنتیویروس استفاده نمیکنند زیرا احتمال ورود ویروس به سیستم عامل لینوکس خیلی پایین است؛ اما این لزوما به این معنا نیست که لینوکس ویروس نمیگیرد. پس برای احتیاط بیشتر، بهتر است از آنتیویروس استفاده کنید.
مالتی تسک بودن
سیستم عامل یونیکس به صورت چند وظیفهای (Multitasking) است. مالتی تسکینگ بودن لینوکس به این معناست که کاربر میتواند چندین برنامه، وظیفه و پردازش را در یک زمان یکسان اجرا کند.
دسترسی بالا و عملکرد سریع
همه نوع دادهها در سیستم عامل یونیکس در فایلها ذخیره میشوند. کار کردن همراه با این فایلها علاوه بر قابلیت کنترل به عملکردی سریعتر Unix کمک شایانی میکند.
وجود متخصصین حرفه ای
سیستم عامل یونیکس با بیش از پنجاه سال قدمت، این امکان را به شما میدهد که توسعهدهندگان خبرهای را برای انجام پروژههای یونیکس استخدام کنید. امروزه بسیاری از برنامههای کاربردی بر پایه سیستم یونیکس کار میکنند که این امر باعث میشود که توسعهدهندگان این حرفه بیشترین متقاضیان را داشته باشند. برای مثال سیستم عامل موبایل مانند ios و اندروید و سایر سرورهای آنلاین با استفاده از سیستم عامل لینوکس طراحی شدهاند. حالا که صحبت از سیستم عامل موبایل شد، پیشنهاد میکنیم حتما سری به بهترین زبان های برنامه نویسی موبایل بزنید.
مصرف حافظه کمتر
Unix در اجرای برنامههای پیچیده از کمترین حافظه ممکن استفاده میکند. این سیستم عامل قادر به مدیریت کامل حافظه مجازی است. زیرا حافظه مجازی با ورود برنامههای بیشتری به حافظه اصلی گسترش مییابد، همچنین با پیادهسازی منابع کمتر عملکردی بهتر نیز دارد.
معایب یونیکس
حال که به برخی از ویژگیهای سیستم عامل یونیکس پرداختیم. خالی از لطف نیست که معایب آن را هم ذکر کنیم.
- قبل از استفاده از سیستم عامل یونیکس باید با انواع مختلفی از دستورات آن آشنا شده باشید، چرا که در برخی از مواقع حتی کاربران پیشرفته هم دچار مشکلاتی دشوار میشوند.
- یونیکس رابط کاربری گرافیکی چندان جذابی ندارد که این رابط بیشتر دستورگرا است.
- یونیکس طراحی خط فرمان مبتنی بر متن دارد که این امر میتواند برای کاربرانی که در زمان کنترل از ماوس و صفحهنمایش لمسی استفاده میکنند، گیجکننده و حتی ترسناک باشد.
سخن پایانی
یونیکس یک سیستم عامل چند کاربره مبتنی بر پلتفرم C است که به عنوان پدر سیستم عاملهایی همچون اندروید و لینوکس شناخته میشود. در این مطلب سعی کردیم به سوال یونیکس (Unix) چیست پاسخ دهیم و در ادامه با بررسی تاریخچه، ساختار و همچنین مزایا و معایب این سیستم عامل به اطلاعت بیشتری دست پیدا کردیم.
با توجه به اهمیت یونیکس، ثبت پروژه یونیکس در پونیشا امکانپذیر است. که شما میتوانید با بررسی و نحوه عملکرد، پروژهای خود را به متخصصانی باتجربه بسپارید. سیستم عامل مورد علاقه شما کدام است؟ خوشحال میشویم که دیدگاه و نظرات خود را در زیر همین مطلب با ما به اشتراک بگذارید.