سیستم عامل لینوکس

سیستم عامل لینوکس



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

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

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


اگر چه تلفظ اصلی این سیستم عامل  Lih-nucks یا Lee-nucks می باشد اما در بین بسیاری از افراد مخصوصا کسانی که تا کنون به منابع غیر از فارسی به جهت شناخت این سیستم عامل رجوع نکرده اند آن را لینوکس می خوانند که به جهت گستردگی این تلفظ ما هم آن را لینوکس می خوانیم.

لینوکس یک سیستم عامل رایگان و متن باز Open source می باشد به معنی این که تمامی منابع آن در دسترس می باشد. سیستم عامل لینوکس را هرکس می تواند توسعه و گسترش داده و به نام خود به بازار عرضه کند، حتی می توان قسمت هایی از آن را اصلاح نمود. از این سیستم عامل نسخه های متنوعی عرضه شده است که معروف ترین آنها Red hat ،Debian و Ubuntu می باشند (سیستم عامل لینوکس).

امروزه بسیاری از سیستم های عامل توسط لینکوس توسعه یافته اند که یکی از معروف ترین آنها؛ سیستم عامل اندروید موبایل می باشد که امروزه کاربران بسیاری را به خود اختصاص داده است. در سیستم عامل لینوکس واژه GNU نیز به چشم می خورد. GUN یک پروژه برای گسترش مجموعه نرم افزارهای رایگان این سیستم عامل می باشد. توسعه مجموعه ای از نرم افزارها شامل سیستم عامل، ابزارهای مدیریتی می باشد. GNU کاملا هماهنگ با  LINUX می باشد.


اکثر ما جزو کاربران لینوکس هستیم خواه در جریان این موضوع باشیم خواه نباشیم؛ در حال حاضر  سال ۲۰۱۶  روزانه چیزی بیش از ۸۵۰ هزار گوشی اندرویدی به فروش می‌رسد و این در حالی است که این آمار در مورد ویندوز فون صرفاً ۳۰ هزار دستگاه در روز است. به عبارت دیگر، پس از خواندن این آموزش، چیزی در حدود ۱۰۰ کاربر جدید اندرویدی به لیست کاربران این سیستم عامل محبوب افزوده شده است (سیستم عامل لینوکس).

هر روز ۷۰۰ هزار دستگاه تلویزیون نیز به فروش می‌رسد که بسیاری از آن‌ها بر پایه ی لینوکس هستند و از هر ۱۰ ابر کامپیوتر، ۹ مورد آن‌ها دارای سیستم لینوکسی هستند. سرورهای گوگل، توییتر، فیسبوک، آمازون و بسیاری از دیگر شرکت های تراز اول نیز مبتنی بر لینوکس هستند.

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

از سال ۲۰۰۵ تاکنون، حدوداً ۸۰۰ هزار توسعه‌دهنده در توسعه ی Kernel (کرنل یا هسته) لینوکس مشارکت داشته‌اند که این مشارکت ها به چیزی بیش از ۱۵ میلیون خط کد منجر شده که ۱.۵ میلیون خط آن در سال‌های اخیر نوشته شده است (سیستم عامل لینوکس).

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

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

گنو/لینوکس هم همچون سیستم عامل هایی مثل ویندوز ۱۰، ویندوز ایکس پی و غیره، یک سیستم عامل است و سیستم عامل هم به نرم افزاری گفته می شود که ارتباط مابین سخت افزار سیستم شما و نرم افزارهایی که مورد استفاده قرار می دهید را برقرار می سازد (مثلا پخش کردن موسیقی از طریق نرم افزار 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 هم یک میلیون دلار برای بهبود و تبلیغ لینوکس سرمایه‌گذاری کرد.

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

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

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

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

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

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

به خاطر داشته باشید


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

به روز رسانی کرنل لینوکس

هر ۲ الی ۳ ماه یک بار، نسخه یی جدید از کرنل لینوکس به دنیا عرضه می شود. توسعه دهندگان کرنل لینوکس تغییراتی که باید صورت گیرند را اصطلاحاً Patch می نامند. یک پچ حاوی خطوطی از کد است که باید تغییر یابند، اضافه شوند یا از سورس کد حذف شوند. هر پچ می‌تواند قابلیت جدیدی را به کرنل بیافزاید،‌ دیوایس جدیدی را ساپورت کند، مشکلی را مرتفع سازد، بخشی را ریفکتور کند یا عملکرد کلی سیستم را بهبود بخشد. در هر ریلیس جدید، چیزی در حدود ۱۰ هزار پچ جدید اعمال می‌گردد که می‌توان گفت در هر ساعت، ۶ پچ در کرنل بعدی اعمال می گردد.

توسعه دهندگان مختلف، پچ هایی که توسعه داده‌اند را به Mailing List هایی می‌فرستند که از آن طریق می‌توانند از سایر توسعه دهندگان بازخورد بگیرند. زمانی که یک پچ به نوعی خوب از آب درآید، پچ مربوطه توسط یک توسعه‌دهنده ی ارشد کرنل که وظیفه دارد چندین بخش از لینوکس را مدیریت کند، مورد تأیید واقع می‌گردد اما این هرگز بدان معنا نیست که پچ مربوطه در سورس کد اصلی کرنل اضافه خواهد شد اما به هر حال این تاییده ی اولیه یک نقطه ی امید است!

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


  • منابع: تهران هاست و سکان آکادمی