گنو/لینوکس

آشنایی با سیستم عامل گنو/لینوکس (۱)

نوشته شده توسط اروند طباطبایی

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

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

maxresdefault

لینوکس چیست؟

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

در شرایط توضیح داده شده سیستم های مبتنی بر لینوکس بسیار ساده‌تر از سایر سیستم عامل ها همچون ویندوز و OSx ساخته شده است. اما مواردی وجود دارند که این سیستم عامل را از سایر سیستم عامل ها جدا میکند و گنو/لینوکس را منحصر به فرد کرده است. سیستم عامل های مبتنی بر لینوکس دارای یک اکوسیستم ۲۵ بیلیون دلاری است، و این‌ها از سال ۱۹۹۱ که لینوکس معرفی شد اتفاق افتاده اند، پس از معرفی این سیستم عامل های مبتنی بر لینوکس به یک قانون نانوشته و اجبار برای محسابات و تمامی چیزهایی که فکر آن را نمیکنید تبدیل شد و هم‌اکنون لینوکس از تلفن‌های همراه تا جاهایی مثل بورس نیویورک را از آن خود کرده است و حتی سوپرکامپیوتر های دینا نیز از این سیستم عامل استفاده میکنند و در این بین دستگاه‌های مصرف کننده یا همان کاربران خانگی نیز از آن بی بهره نمانده اند و آن را بر روی سیستم‌های شخصی خود نیز استفاده میکنند.

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

در این جریان بیش از ۱۰۰۰ توسعه‌دهنده از صدها کمپانی مختلف بزرگ و کوچک برای هر نسخه از کرنل (هسته اصلی این سیستم عامل) تلاش میکنند و آن را با همکاری هم توسعه خواهند داد. در دو سال گذشته بیش از ۳۲۰۰ توسعه‌دهنده از ۲۰۰ کمپانی به توسعه کرنل که یکی از اجزای مهم و با این حال کوجک از این سیستم عامل است کمک کرده اند.

در این مقاله قسمت‌های مختلف یک سیستم بر پایه هسته ی لینوکسی را معرفی خواهیم کرد و توضیح میدهیم که چگونه تولید شده‌اند و در کنار یکدیگر کار میکنند، همچنین در مورد جامعه وسیع کاربران گنو/لینوکس و تأثیر آن‌ها در اکوسیستم IT صحبت خواهیم کرد.

linux_is_dominating

لینوکس کجاها پیدا میشود؟

یکی از سؤالاتی که هرکاربر از خود میپرسد این است که لینوکس در کجا استفاده میشود؟ ویندوز و Osx به صورت اختصاصی از ابتدا برای کامپیوتر ها و دستگاه‌هایی با استفاده خانگی و شخصی ساخته شده‌اند و بر روی لپتاپ ها و سیستم‌هایی که در اکثر خانه‌ها استفاده می‌شوند میشد آن‌ها را پیدا کرد. یک سیستم عامل دیگر مانند سیمبین نیز در دستگاه‌های کوچک‌تری همانند تلفن‌ها کاربرد داشته و این درحال بود که سوپر کامپیوتر ها و دستگاه‌های محاسباتی موجود در آزمایشگاه‌ها و مراکز تحقیقاتی نیز از سیستم عامل هایی همانند as/400 و cray استفاده میکردند.

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

windows_linux1

آینده لینوکس

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

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

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

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

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

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

tux-burnCD-ty-1

تولد لینوکس

در ۲۱ آگوست سال ۱۹۹۱ یک دانشجوی علوم کامپیوتر اهل فنلاند به نام لینوس توروالدز نامه‌ای به گروه کامپیوتری minux ارسال کرد که کلیت آن در زیر آمده است :

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

کلمه مینیکس که توروالدز به آن اشاره کرده یک نسخه از سیستم عامل یونیکس است که کمی بهینه‌تر و سبک‌تر شده است و این سیستم عامل به عنوان یک راهنما و مشخص کننده راه برای لینوس بوده است که میخواست سیستم عامل خود را بر روی کامپیوترهایی با معماری X86 و حتی سیستم‌های امروزی اجرا کند. اما گنو اشاره دارد به مجموعه ابزارهایی که توسط ریچارد استالمن برای اولین بار در ۱۹۸۳ در کنار هم جمع آوری شده‌اند تا یک سیستم عامل با نام گنو را بسازند (گنو= Gnu is not unix ). یونیکس برای اولین بار در دهه ۶۰ و در آزمایشگاه‌های معروف bell ساخته شد.

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

گنو/لینوکس در بیشتر موارد هنوز در شروع کار قرار دارد. پس از اینکه لینوس از دیگر توسعه دهندگان درخواست کمک برای توسعه این سیستم عامل کرد این درخواست در بین توسعه دهندگان یونیکس مورد قبول قرار گرفت و لینوکس دارای محبوبیت بسیار زیادی در بین توسعه دهندگان یونیکس شد به این دلیل که این سیستم عامل قابل حمل به تمامی دستگاه‌ها بود و همچنین شبیه به یونیکس طراحی شده بود و مهمتر از آن تحت یک لایسنس نرم افزاری کاملاً آزاد انتشار داده شده بود. پس از گذشت زمان هم‌اکنون چندین توسعه تجاری نیز مشغول توسعه دادن گنو/لینوکس هستند برای اهداف تجاری خود هستند که از آن‌ها میتوان به VA Linux و Turbo linux و ردهت و سوزه اشاره کرد. همچنین تصمیم Ibm مبنی بر اختصاص ۲ بیلیون دلار برای توسعه لینوکس بسیار کمک کننده بود و باعث شد تا لینوکس جهش بسیار بزرگی را در سال‌ های حدود ۲۰۰۰ داشته باشد.

امروز لینوکس یک مؤسسه مولتی میلیارد دلاری است که بیشتر شرکت های بزرگ و دولت ها از آن و مزیت‌هایی همچون امنیت بالا و انعطاف پذیری بسیارعالی دار. هزاران کمپانی کوچک و بزرگ از لینوکس برای کارهای روزمره خود و حتی کارهای حساس استفاده میکنند تا هزینه‌های خود را کم کرده و حتی درگیر لایسنس های مختلف نشوند. در این بین دولت ها نیز برای هدر ندادن پول خود و همینطور زمان خود از سیستم عامل های مبتنی بر لینوکس استفاده میکنند که در برخی موارد حتی دولت ها توزیع گنو/لینوکس با نسخه مخصوص به خود را دارند که توسط دولت و برای مصارف مخصوص توسعه داده و شخصی سازی شده است.

linux_poster

کدها

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

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

درباره نویسنده

اروند طباطبایی

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

تبادل نظر و رفع عیب با ثبت دیدگاه

۵ دیدگاه

  • جناب طباطبایی خسته نباشید.
    تشکر می کنم اززحمات شما.منتظر بودم سایت وزین دیجی اسپارک آموزش از ابتدای لینوکس را بذاره تا بتونم سوئیچ کنم به لینوکس ودر مرحله بعد رزبری پای.فقط خواهش میکنم این آموزشها را از دید افرادی دنبال کنید که هیچ گونه اشنایی با لینوکس ندارند
    با تشکردست شما درد نکنه

    • سلام و تشکر از نظر شما که باعث دلگرمی برای ادامه کار بنده هست.
      برای سوئیچ کردن به لینوکس اولین قدم نصب اونه و اینکه همیشه متکی به آموزش ها نباشید و خودتون برید تو لینوکس کنجکاوی و ماجراجویی کنید. بنده آموزش هارو تا جایی که بتونم از پایه شروع میکنم و مفاهیم اولیه این سیستم عامل رو آموزش میدم 🙂
      آموزش های پایه ای معمولا انرژی بالایی میخواد و همینطور عموما مقاله های سنگینی میشن که نیازمند دقت و وقت بسیار زیادیه! امیدوارم بتونم اینکارو بدرستی انجام بدم
      و مهم ترین قسمت با خودتونه که باید با این سیستم عامل کار کنید و هر مساله که براتون بوجود میاد دنبال راه حلش باشید

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

    • سلام
      تشکر برای تذکر خوبی که دادی
      این مورد رو در نظر داشتم ولی چون سایت بنیاد لینوکس گفته که سیستم عامله منم در ترجمه قسمتی از متن مجبورم بگم سیستم عامل تا امانت داری تو ترجمه متن حفظ بشه
      سعی میکنم آموزشایی که متنش به عهده خودمه از گنو/لینوکس برای پیشگیری از جا افتادن غلط لینوکس به عنوان یک سیستم عامل استفاده کنم 🙂
      و مورد دیگه اینکه همه ما میدونیم گنو/لینوکس اصطلاح درستیه ولی چیزی که هست اینه که بیشتر به عنوان لینوکس شناخته میشه و به این اسم مرسوم شده تو جوامع اما بازهم همه لینوکس کار ها میدونن که درستش گنو/لینوکسه و این خودش ارزش داره وگرنه یک اصطلاح به تنهایی ممکنه فقط چون ساده تر بیان میشه رواج بیشتری داشته باشه
      بازم تشکر از اینکه متن رو خوندی