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

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

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

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

از سال ۲۰۰۵ تاکنون، حدوداً ۸۰۰ هزار توسعه‌دهنده در توسعه ی 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 هایی می‌فرستند که از آن طریق می‌توانند از سایر توسعه دهندگان بازخورد بگیرند. زمانی که یک پچ به نوعی خوب از آب درآید، پچ مربوطه توسط یک توسعه‌دهنده ی ارشد کرنل که وظیفه دارد چندین بخش از لینوکس را مدیریت کند، مورد تأیید واقع می‌گردد اما این هرگز بدان معنا نیست که پچ مربوطه در سورس کد اصلی کرنل اضافه خواهد شد اما به هر حال این تاییده ی اولیه یک نقطه ی امید است!

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

0
  • امین در تاریخ: 1395/06/22

    عالی.بسیارعالی.سایت بسیار خوبی دارین .من هیچ جا همچین سایت فوق العاده ای ندیدم.فقط یکم مطالبتونو بروز کنید.

  • bobsilon در تاریخ: 1395/06/26

    دوره ی بسیار خوبی هستش، جاش تو سکان اکادمی خالی بود.
    املای شهر "هلینسکی" فنلاند رو اشتباهی نوشتید یا درستش همینطوری هست؟ آخه سه بار اسم این شهر رو اوردید و هر سه بار هم با همین املا نوشتید. درستش "هلسینکی" نیست؟

  • مهدی ناظری در تاریخ: 1395/07/02

    عالی!بسیار عالی!
    :)

  • semo_amba در تاریخ: 1395/08/30

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

    ممنون بابت این آموزش و خسته نباشید

  • رضا بختیاری در تاریخ: 1395/10/05

    عالي بود

    مرسي

از طریق این فرم، می توانید بدون ثبت نام نظر دهید و یا اگر قبلا ثبت نام کرده اید، با ورود ناحیه ی کاربری می توانید علاوه بر ثبت نظر، به مدیریت نظرات خود نیز بپردازید.
(فیلد اجباری)
(فیلد اجباری)
(فیلد اجباری)
(فیلد اجباری)