مجله اینترنتی ایرانیان

همه چیز درباره سیستم عامل لینوکس

لینوکس (Linux) در واقع یک سیستم‌عامل شبه یونیکس است که بخش عمدهٔ آن سازگار با استاندارد پازیکس است.در ادامه با توضیحات کامل تر همراه باشید.

مگ وب – قبل از هر چیز بهتر است با تعریف یک واژه ی مهم بعنی سیستم عامل آشنا شویم.

سیستم عامل چیست ؟

سیستم عامل – Operating System – مجموعه ای گسترده از نرم افزارها می باشد که در واقع نقش واسط بین سخت افزار کامپیوتر و نرم افزارهای جانبی می باشد.

به عنوان مثال زمانی که شما مرورگر خود را اجرا می کنید این مستقیما با سخت افزار در ارتباط نبوده، بلکه در خواست های شما از برنامه به سیستم عامل ارسال و سپس سیستم عامل آن را به سخت افزار ارسال کرده و مجددا پاسخ به سیستم عامل ارسال می شود و سیستم عامل آن را به مرورگر فرستاده و قابل مشاهده برای شما می باشد.

همه چیز درباره سیستم عامل لینوکس

از ابتدای سال ۱۹۵۰ میلادی تا کنون سیستم عامل های بسیاری روی کار آمده اند که برخی از آنها منسوخ شده اند و برخی از آنها کاربران مخصوص خود را دارند.

سیستم عامل های مک، ویندوز، لینوکس، یونیکس را می توان از دسته سیستم عامل های پایداری نامبرد که هر کدام بسته به کارایی هایشان کاربران خاص خود را دارند.

لینوکس Linux چیست؟

برای افراد مختلف این سوال‌ جواب‌های گوناگونی دارد. شخصی آن را هسته سیستم عامل می‌داند و طرفداران GNU از آن به عنوان بخشی از GNU/Linux یاد می‌کنند و شاید شبیه به کاربران جدید فکر کنید لینوکس در واقع نام دیگری برای اوبونتو است!

راستش را بخواهید دیدگاه بسیاری از کاربران درباره لینوکس درست است. به صورت واضح‌تر کلمه “Linux” زمانی که تنها به کار برده شود تنها به هسته سیستم عامل اطلاق می‌شود، در حالی که GNU/Linux در واقع کل سیستم عامل است که شامل هسته لینوکس و ابزار گنو می‌شود.

اگر شما مجموعه‌ای از نرم‌افزار‌ها را در کنار برخی از ابزار‌ها قرار دهید که بتوان همه آن‌ها را با یکدیگر مدیریت کرد، اکنون شما یک توزیع مانند اوبونتو دارید.

تعداد زیادی اجزاهای نرم‌افزاری مخصوص وجود دارند که می‌توانند در کنار یکدیگر سیستم عاملی مانند لینوکس را بسازند. البته که این اجزاهای نرم‌افزاری مخصوص باید در کنار یکدیگر سازگاری داشته باشند تا نتیجه صحیح و کارآمد بدست آید.

از دید فنی لینوکس تنها نامی است برای هستهٔ سیستم‌عامل و نه کل آن. هسته‌ای که نخستین بار در سال ۱۹۹۱ میلادی توسط لینوس توروالدز منتشر شد. اما به طور معمول این نام اطلاق می‌شود به سیستم‌عامل‌هایی که از ترکیب‌بندی لینوکس (به عنوان هسته سیستم‌عامل) با نرم‌افزارهای آزاد و متن‌باز بدست می‌آیند. درحالیکه بنیاد نرم‌افزار آزاد سیستم‌عامل حاصل از این ترکیب‌بندی را «گنو/لینوکس» می‌نامد اما عموماً آنرا لینوکس می‌خوانند. این دوگانگی در نام نهادن منجر به بحث نامگذاری گنو/لینوکس شده‌است.

همه چیز درباره سیستم عامل لینوکس

لینوکس از سخت‌افزارهای مختلفی پشتیبانی می‌کند از جمله انواع مختلف تلفن همراه، تبلت‌، مسیریاب‌، و کنسول بازی تا رایانه‌های رومیزی، رایانه‌های بزرگ و ابررایانه‌ها.

به سیستم‌عامل بنا شده با هسته لینوکس، توزیع لینوکس (Linux distribution) می‌گویند که به طور معمول شامل ابزارهای گسترش نرم‌افزار، پایگاه‌های داده، سرویس دهنده‌های وب مثل آپاچی، محیط‌های رومیزی مانند گنوم و کی‌دی‌ئی و اکس‌اف‌سی‌ای و مجموعه‌های اداری مانند اُپن آفیس هستند.

در ابتدا لینوکس برای استفادهٔ ریزپردازنده‌ها با معماری ۸۰۳۸۶ اینتل طراحی شده بود؛ اما امروزه انواع گوناگون معماری‌ها را پشتیبانی می‌کند و در انواع و اقسام وسایل از کامپیوترهای شخصی گرفته تا ابررایانه‌ها و تلفن‌های همراه به کار می‌رود. این سیستم‌عامل که در ابتدا بیشتر توسط افراد مشتاق گسترش پیدا می‌کرد و به کار گرفته می‌شد، توانسته است پشتیبانی شرکت‌های سرشناسی چون آی‌بی‌ام و هیولت-پاکارد را به دست آورد و با بسیاری از نسخه‌های خصوصی یونیکس رقابت کند. طرفداران لینوکس و بسیاری از تحلیل‌گران این موفقیت را ناشی از استقلال از فروشنده، کم‌هزینه بودن پیاده‌سازی، سرعت بالا، امنیت و قابلیت اطمینان آن می‌دانند.

فلسفه ی لینوکس

در ماه آگوست سال ۱۹۹۱، یک دانشجوی ۲۰ ساله در دانشگاه شهر هلینسکی فنلاند تصمیم گرفت سیستم عاملی رایگان ابداع کرده و آن را با سایر علاقمندان به این حوزه به اشتراک بگذارد. به گفته ی لینوس، “این سیستم عامل صرفاً یک سرگرمی بوده و اصلاً کار عجیب و غریبی نیست و هرگز به حرفه یی بودن گنو نخواهد بود!

لینوس پس از ظاهراً اتفاق خاصی که برایش در باغ وحش افتاده، از عکس یک پنگوئن برای نشان تجاری سیستم عامل اش استفاده کرده است. در ادامه ی راه، وی تصمیم مهمی گرفت و لایسنس GPL که توسط آقای ریچارد استالمن ابداع شده بود را برای کرنل لینوکس در نظر گرفت. کرنل لینوکس با لایسنس جی پی ال و همچنین یکسری از کامپوننت های گنو، صنعت کامپیوتر را با یکسری از آزادی‌هایی که به ارمغان آورد منقلب کرد:

  •  آزادی استفاده از نرم افزاری برای هر نوع مقاصدی،
  • آزادی تغییر نرم‌افزار برای برآورده ساختن نیازهای شخصی،
  •  آزادی به اشتراک گذاری نرم‌افزار با دوستان خود و
  •  آزادی به اشتراک گذاری تغییراتی که روی نرم افزارهای خود اعمال کرده اید.

هر سازمان یا پروژه یی دارای یک فلسفه ی وجودی است و لینوکس هم از این قاعده مستثنی نیست. لینوکس دائماً در حال توسعه و پیشرفت است و توسعه دهندگان بسیاری از سراسر دنیا با رهبری لینوس توروالدز در این مسیر گام بر می دارند. حرفه یی بودن از یک سو و همچنین علاقه به مشارکت در پروژه ی لینوکس تنها عواملی هستند که یک نفر نیاز دارد تا در ارتقاء این پروژه سهیم گردد.

در واقع، لینوکس حرکتی بود تا نسخه یی اپن سورس و آزاد از سیستم عامل UNIX ایجاد گردد و در همین راستا، بسیاری از ویژگی‌های خود را از یونیکس به ارث برده است. لینوکس سیستم عاملی است که Multitasking (مالتی تسک یا انجام چند کار به صورت هم زمان) و Multiuser (مالتی یوزر یا پشتیبانی از چندین کاربر در آن واحد) جزو خصیصه های اصلی آن است؛ علاوه بر این، پشتیبانی از شبکه‌ و سرویس های مختلف که اصطلاحاً تحت عنوان Daemons شناخته می‌شوند نیز جزو بخش لایفنک سیستم عامل لینوکس هستند.

UNIX یک سیستم‌ عامل مالتی تسک و مالتی یورز است که در سال ۱۹۶۹ به دست گروهی از کارمندان آزمایشگاه‌های بل متعلق به شرکت AT&T شروع به توسعه شد. این گروه را کن تامسون، دنیس ریچی، برایان کرنیگان، داگلاس مکیلروی مایکل لسک و جو اوسانا تشکیل می‌دادند. یونیکس در آغاز به زبان اسمبلی نوشته شد اما در سال ۱۹۷۳ به طور کلی به زبان سی بازنویسی شد. سیستم عامل هایی هم که ساختار آن ها از یونیکس الهام گرفته شده، اصطلاحا شبه-یونیکس نامیده می شوند که گنو/لینوکس هم یکی از آن ها است.

هسته لینوکس چیست؟

لینوکس هسته یا همان قلب سیستم شما است، اما از چه چیز‌هایی تشکیل شده است؟ هسته رابط نرم‌افزاری برای سخت‌افزار کامپیوتر است. هسته با پردازشگر مرکزی (CPU)، حافظه و دیگر اجزای پشتی نرم‌افزار‌های در حال اجرای کامپیوتر ارتباط برقرار می‌کند. در واقع هسته پایین‌ترین مرحله از اجزای نرم‌افزای سیستم است که البته از اهمیت بسیار بالایی نیز برخوردار است. اهمیت کرنل به قدری بالاست که اگر مشکلی برای آن پیش آید، هر قطعه نرم‌افزاری در حال اجرای روی کامپیوتر نیز دچار مشکل خواهد شد.

هسته لینوکس، یک هسته‌ی یک پارچه است که همه سرویس‌های اصلی سیستم عامل را درون خود اجرا می‌کند. مدل جایگزین این هسته، میکروکرنل است که بسیاری از کار‌ها را فرآیند‌های خارجی انجام می‌دهند و هسته تنها کمی بیشتر از هماهنگی‌ها را انجام می‌دهد.

در حالی که هسته‌های یکپارچه در روزهای ابتدایی که کاربران برای سخت‌افزار خود هسته را کامپایل می‌کردند، بسیار خوب عمل می‌کردند اما این روزها ترکیب‌های زیادی از سخت‌افزار‌ها وجود دارد که ساخت آن‌ها به درون یک هسته نتیجه‌ای جز ساخت یک فایل عظیم ندارد.

سیستم عامل گنو/لینوکس چیست؟

گنو/لینوکس هم همچون سیستم عامل هایی مثل ویندوز ۱۰، ویندوز ایکس پی و غیره، یک سیستم عامل است و سیستم عامل هم به نرم افزاری گفته می شود که ارتباط مابین سخت افزار سیستم شما و نرم افزارهایی که مورد استفاده قرار می دهید را برقرار می سازد (مثلا پخش کردن موسیقی از طریق نرم افزار VLC از اسپیکرهای لپ تاپ را امکان پذیر می سازد.) بدون استفاده از سیستم عامل که به صورت خلاصه OS نامیده می شود، نه از سخت افزار -سیستم- و نه از نرم افزارهای خود نمی توانید استفاده کنید.

گنو/لینوکس یک سیستم عامل رایگان و اپن سورس است که ابتدا برای کامپیوترهای x86 طراحی شد اما به مرور زمان سایر سخت افزارها را نیز تحت پوشش خود قرار داد. لینوس توروالدز زمانی که این پروژه را شروع کرد، در سال ۱۹۹۱ در دانشگاه هلینسکی فنلاند دانشجو بود؛ در‌ واقع او می‌خواست تا Kernel (کرنل یا هسته) سیستم عامل شخصی خودش را داشته باشد.

در سال ۱۹۹۲ لینوکس تحت مجوز General Public License یا GPL از مؤسسه ی Free Software Foundation یا «موسسه ی نرم افزارهای آزاد» که به صورت خلاصه FSF خوانده می‌شود با بهره جستن از برخی کامپوننت های پروژه ی GNU منتشر شد و همین مسأله منجر گردید تا توجه توسعه دهندگان بسیاری از سراسر دنیا را به خود جلب کند.

همه چیز درباره سیستم عامل لینوکس

پس از ادغام کردن کرنل با کامپوننت های پروژه ی گنو (به همین دلیل است که نام درست تر برای سیستم عامل لینوکس، گنو/لینوکس است)، در اواسط دهه ی ۹۰ میلادی توسعه دهندگان بسیاری اقدام به ساخت سیستم عامل های متفاوتی از روی این پروژه کردند که تحت عنوان Linux Distributions یا «توزیع های لینوکس» شناخته می‌شوند که در آموزش‌های بعدی بیشتر با این مفهوم آشنا خواهید شد.

 به خاطر داشته باشید
در سال ۱۹۸۳ ریچارد استالمن، بنیان‌گذار بنیاد نرم‌افزارهای آزاد، طرح ساخت سیستم‌ عامل GNU را ریخت و توسعه ی آن از ژانویه سال ۱۹۸۴ آغاز شد. گنو قرار بود سیستم‌ عاملی شبه-یونیکس باشد که تمام قسمت‌های آن نرم‌افزار آزاد باشد. GNU مخفف بازگشتی GNU Is Not Unix به معنی «گنو، یونیکس نیست» می باشد.

در همین راستا، شرکت های مطرح حوزه ی فناوری همچون IBM و Oracle در سال ۱۹۹۸ پشتیبانی از پلتفرم لینوکس را در دستور کار خود قرار دادند و توسعه ی این سیستم عامل را به صورت جدی دنبال کردند. در سال ۱۹۹۹، سهام شرکت Red Hat پس از آنکه به عنوان اولین شرکت لینوکسی شناخته شد ۳ برابر شد؛ در همان سال هم شرکت IBM هم یک میلیون دلار برای بهبود و تبلیغ لینوکس سرمایه‌گذاری کرد.

توزیع‌های لینوکس

لینوکس همیشه یکی از اجزاء یک توزیع لینوکس (Distro) است. توزیع‌های لینوکس توسط افراد، گروه‌های نه چندان متشکل و سازمان‌های حرفه‌ای گوناگون ایجاد می‌شوند. این توزیع‌ها شامل تعدادی نرم‌افزار سیستم و برنامه‌های کاربردی به همراه روالی مشخص برای نصب آن‌ها بر رایانه هستند. توزیع‌ها به طور معمول برای منظورهای مختلفی از جمله محلی‌سازی، پشتیبانی از یک معماری خاص، کاربردهای بی‌درنگ (real-time applications) و سامانه‌های توکار (embedded systems) به وجود می‌آیند و برخی از آن‌ها آگاهانه تنها از نرم‌افزارهای آزاد استفاده می‌کنند.

یک توزیع همه-منظورهٔ معمولی شامل هسته لینوکس، کتاب‌خانه‌ها و ابزارهای گنو، پوسته‌های خط فرمان و انبوه بی‌شماری از نرم‌افزارهای کاربردی از مجموعه‌های اداری و سیستم پنجره‌ای اِکس گرفته تا مفسرها، ویرایشگرهای متن و ابزارهای علمی است.

نرم‌افزارهای سرور تحت لینوکس

سرور به سیستم رایانه‌ای پرتوانی گفته می‌شود که در یک شبکه برای وظیفه‌ای خاص، نقشی را بر عهده می‌گیرد. سیستم‌های کامپیوتری سرور معمولاً از سخت‌افزاری پرقدرت و نرم‌افزاری منعطف و پایدار برای ارائهٔ خدمت مورد نظر به مشتریان زیاد استفاده می‌کنند. سیستم‌عامل‌های شکل گرفته بر پایه لینوکس، به دلیل پایداری و انعطاف، گزینه‌های خوبی برای نصب بر روی سیستم‌های سرور هستند.

نمونه نرم‌افزارهای مشهوری که معمولاً تحت لینوکس به عنوان نرم‌افزار سرور استفاده می‌شوند: